Skip to content

Instantly share code, notes, and snippets.

@disconnect3d
Created November 24, 2017 16:16
Show Gist options
  • Save disconnect3d/d9066cc3d63a53361682648ef746fc53 to your computer and use it in GitHub Desktop.
Save disconnect3d/d9066cc3d63a53361682648ef746fc53 to your computer and use it in GitHub Desktop.
int __cdecl main(int argc, const char **argv, const char **envp)
{
int v3; // eax@3
int v4; // eax@3
int result; // eax@9
int v6; // eax@23
char **envpa; // [sp+0h] [bp-20h]@1
envpa = (char **)envp;
if ( argc <= 1 )
{
if ( argc >= 0 )
{
if ( argc <= 0 )
{
result = 1;
if ( *(_BYTE *)envp != 47 )
{
v6 = main(
-61,
(const char **)*(_BYTE *)envp,
(const char **)"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry");
if ( !main(0, (const char **)(unsigned int)v6, (const char **)((char *)envpa + 1)) )
result = 0;
}
}
else
{
result = main(2, (const char **)2, (const char **)"%s");
}
}
else if ( argc >= -72 )
{
if ( argc >= -50 )
{
result = main(
argc + (*(_BYTE *)envp == 47),
(const char **)(unsigned int)argv,
(const char **)((char *)envp + 1));
}
else if ( (_DWORD)argv == *(_BYTE *)envp )
{
result = putchar(*((_BYTE *)envp + 31));
}
else
{
result = main(-65, (const char **)(unsigned int)argv, (const char **)((char *)envp + 1));
}
}
else
{
result = main(
(int)argv,
(const char **)(unsigned int)argc,
(const char **)"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+"
",/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){"
"){nl]'/+#n';d}rw' i;# ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' "
"iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,}##'*}#nc,',#n"
"w]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/");
}
}
else
{
if ( argc <= 2 )
{
v3 = main(-86, 0LL, (const char **)((char *)envp + 1));
v4 = main(-87, (const char **)(unsigned int)(1 - (_DWORD)argv), (const char **)((char *)envpa + v3));
main(-79, (const char **)0xFFFFFFF3, (const char **)((char *)envpa + v4));
}
if ( argc < (signed int)argv )
main(argc + 1, (const char **)(unsigned int)argv, (const char **)envpa);
if ( main(-94, (const char **)(unsigned int)(argc - 27), (const char **)envpa) && argc == 2 )
{
if ( (signed int)argv > 12 )
result = 9;
else
result = main(2, (const char **)(unsigned int)((_DWORD)argv + 1), (const char **)"%s %d %d\n");
}
else
{
result = 16;
}
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment