Function at 0x50cde2
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b0
push ebx
push esi
push edi
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x1bc], 4
mov eax, dword [ebp + 8]
mov dword [0x5000d4], eax
cmp dword [0x4ff860], 0
je 0x50c657
cmp dword [ebp + 0xc], 0
jne 0x50c657
cmp dword [0x5063fc], 0
je 0x50c657
push 0x504d3c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x504710], eax
mov ecx, dword [0x5063fc]
push ecx
call fcn.00508845
cmp dword [0x506a38], 0
je 0x50c665
jmp 0x510db8
mov edx, dword [0x506a38]
add edx, 1
mov dword [0x506a38], edx
and eax, eax
inc ebx
dec ebx
jo 0x50c69a
pushf
std
cld
add esp, 0
mov eax, eax
lea edi, [edi + 0x473b]
lea edi, [edi - 0x473b]
popf
js 0x50c693
jmp 0x50c695
mov ecx, ecx
jno 0x50c69a
mov esi, 0x6808ec83
mov dl, byte [edi]
push ecx
add byte [edi + edi*8 + 0x35], ah
add byte [eax], al
add byte [eax], al
sub esp, 8
push 0x51178a
push dword fs:[0]
mov dword fs:[0], esp
jns 0x50c6b2
lea edx, [edx]
and esi, 0xffffffff
je 0x50c6d8
pushf
add edx, 0x6f19
sub edx, 0x6f19
shr esp, 0
xor edx, 0
cmp esi, dword [esp]
popf
jno 0x50c6d4
nop
jne 0x50c6d8
mov esp, 0x8368e8
add cl, bh
call fcn.00514a45
stc
cmp ecx, eax
cmc
jnp 0x50c6e3
jne 0x50c6f1
pushf
and esp, 0xffffffff
popf
xchg edi, eax
xchg edi, eax
je 0x50c6f1
mov eax, 0x63cc05c7
push eax
add byte [ecx], al
add byte [eax], al
add byte [ebp - 0x72e98e02], al
mov dword [esi], edi
outsd dx, dword [esi]
add byte [eax], al
mov dword [0x5063cc], 1
test esi, edi
jno 0x50c715
lea ecx, [ecx + 0x6f3e]
lea ecx, [ecx - 0x6f3e]
xchg esp, esp
jmp 0x50c70f
jo 0x50c711
jo 0x50c715
call 0x6141800c
dec edi
add byte [section.0000004], ch
mov eax, 0x4f60f0
sub eax, section.0000004
mov dword [0x504f74], eax
push edi
add edi, 0x3617
ror edi, 0xa
pop edi
jg 0x50c741
pushf
nop
neg edx
neg edx
popf
mov esp, esp
jp 0x50c73e
jle 0x50c741
mov ecx, 0x4f740d8b
push eax
add byte [ecx + 0x7e1], al
cmp byte [ecx + 5], 0x49
mov ecx, dword [0x504f74]
and ecx, 0x80000007
jns 0x50c754
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edx, dword [0x504f74]
sub edx, ecx
mov dword [0x504f74], edx
shl edi, 0
jp 0x50c778
pushf
cmc
jb 0x50c76c
or esp, 0
popf
jbe 0x50c773
jns 0x50c775
jnp 0x50c778
mov esp, 0x7a5fe8
add byte [edx], dh
call 0x5141dc
jb 0x50c77f
cmp edx, 0x3be8
ja 0x50c79e
pushf
test eax, esi
xchg esi, edx
xchg esi, edx
rol eax, 0x19
rol eax, 7
popf
js 0x50c799
jg 0x50c79b
jbe 0x50c79e
call 0x509e140a
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryA
push 0x504d4c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504d58
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504d64
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504d74
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504d80
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504d8c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504d98
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504da8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504db8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504dc8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504dd4
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504de4
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x504df0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea ecx, [ecx]
jp 0x50c83c
jnp 0x50c833
jne 0x50c835
nop
jle 0x50c838
jnp 0x50c83c
jmp 0xe37eb0dd
call 0x50ab6e
js 0x50c843
jl 0x50c845
shr esp, 0
jp 0x50c84f
je 0x50c84c
jnp 0x50c84f
mov ebp, 0x502b94a1
add byte [ebx + 0x4fffd4], ah
mov eax, dword [0x502b94]
mov dword [0x4fffd4], eax
rol esp, 0
jns 0x50c85e
xor ecx, dword [esp]
xor ecx, dword [esp]
jne 0x50c86d
xchg edi, ebx
xchg edi, ebx
je 0x50c86d
xor eax, 0x2b980d8b
push eax
add byte [ecx + 0x4ff8100d], cl
add ch, dh
mov ecx, dword [0x502b98]
mov dword [0x4ff810], ecx
cmc
jge 0x50c885
jmp 0x50c87e
jbe 0x50c880
mov esi, esi
jl 0x50c885
or dword [ebx + 0x502b9c15], 0x14158900
clc
dec edi
add bh, dh
sal bh, cl
sal byte [edx + 5], cl
mov edx, dword [0x502b9c]
mov dword [0x4ff814], edx
not edx
not edx
jb 0x50c89c
lea ebx, [ebx]
jae 0x50c89c
mov ebp, 0xa068406a
sub edx, dword [eax]
push 0x40
push 0x502ba0
push 0x4ff818
call fcn.00513091
add esp, 0xc
mov edi, edi
jns 0x50c8bb
jns 0x50c8b6
xchg ebx, ebx
js 0x50c8bb
and dword [ecx + 0x502be0], 0x500084a3
add byte [ebp + 0x7e08245c], al
add byte [ecx + 6], bh
mov eax, dword [0x502be0]
mov dword [0x500084], eax
test dword [esp + 8], ebx
jle 0x50c8cb
jns 0x50c8d3
mov esp, esp
js 0x50c8d3
or dword [edx + 0x2be40d8b], 0xd890050
mov byte [eax], al
push eax
add byte [eax + eax + 0x71], bh
add byte [ebx + 5], dh
mov ecx, dword [0x502be4]
mov dword [0x500088], ecx
jl 0x50c8e1
jno 0x50c8e3
jae 0x50c8ea
jne 0x50c8e7
jb 0x50c8ea
ljmp 0x50:0x2be8158b
mov edx, dword [0x502be8]
mov dword [0x50008c], edx
xor esp, 0
or edx, 0
neg esi
neg esi
test esp, 0x6013
jp 0x50c91d
pushf
inc eax
dec eax
jae 0x50c90e
jge 0x50c910
xchg edi, edi
popf
js 0x50c916
jle 0x50c918
jnp 0x50c91a
jnp 0x50c91d
mov eax, 0x502beca1
add byte [ebx + 0x500090], ah
mov eax, dword [0x502bec]
mov dword [0x500090], eax
mov ecx, dword [0x503244]
mov dword [0x5000b0], ecx
mov edx, dword [0x503248]
mov dword [0x5000b4], edx
mov eax, dword [0x4fa60c]
mov dword [0x5000b8], eax
mov ecx, dword [0x4fa610]
mov dword [0x5000bc], ecx
shr esp, 0
jns 0x50c967
xchg esp, esp
xchg edi, edi
mov ebx, ebx
xchg ecx, edx
xchg ecx, edx
js 0x50c967
add eax, 0x1a57ce8
add byte [ebx + 0x506a10], ah
call 0x526ee8
mov dword [0x506a10], eax
push 0x94
push 0
push 0x4ff868
call fcn.0052b4cd
add esp, 0xc
rol ecx, 0
and ebx, ebx
lea ebx, [ebx + 0x5e83]
lea ebx, [ebx - 0x5e83]
and esi, esi
jno 0x50c9a4
jno 0x50c99c
xchg ebx, ecx
xchg ebx, ecx
jo 0x50c9a4
mov edi, 0x6805c7d6
clc
dec edi
add byte [eax + eax - 0x1b750000], dl
mov dword [0x4ff868], 0x94
mov esp, esp
add edx, 0
push eax
add eax, 0x3230
ror eax, 4
pop eax
je 0x50c9c7
jnp 0x50c9c1
mov eax, eax
jne 0x50c9c7
sub eax, 0xf8686811
dec edi
add al, ch
inc ecx
cmp byte [edx], al
add byte [ebx + 0x7000ec], al
push 0x4ff868
call 0x530212
sub esp, 0
jo 0x50c9d6
jbe 0x50c9e2
xchg esp, esp
jns 0x50c9dc
jno 0x50c9de
ja 0x50c9e2
lcall 0, 0x9c6860
push 0x9c
push 0
push 0x4ffa10
call fcn.0052b4cd
add esp, 0xc
shr esp, 0
jo 0x50ca02
jbe 0x50c9fd
jp 0x50c9ff
jno 0x50ca02
mov ebp, 0xfa1005c7
dec edi
add byte [eax + eax + 0x1c330000], bl
and al, 0x33
sbb al, 0x24
mov dword [0x4ffa10], 0x9c
xor ebx, dword [esp]
xor ebx, dword [esp]
lea ecx, [ecx + 0x198b]
lea ecx, [ecx - 0x198b]
jns 0x50ca20
jbe 0x50ca40
pushf
jge 0x50ca26
call 0x50ca2b
lea esp, [esp + 4]
ror edi, 0xa
rol edi, 0xa
test dword [esp + 4], esi
popf
xchg ebx, ebx
ja 0x50ca40
mov ecx, 0x4ffa1068
add al, ch
enter 0x237, 0
push 0x4ffa10
call 0x530212
shr esp, 0
cmp ecx, dword [esp + 4]
jns 0x50ca5e
pushf
push edi
pop edi
popf
lea esi, [esi]
js 0x50ca5e
sub eax, 0x11468
add byte [edx], ch
push 0x114
push 0
push 0x4ff8fc
call fcn.0052b4cd
add esp, 0xc
test dword [esp + 0xc], ebx
jl 0x50ca8c
lea esi, [esi + 0x37f5]
lea esi, [esi - 0x37f5]
mov ecx, ecx
mov esp, esp
jge 0x50ca8c
jmp 0xfc569254
mov dword [0x4ff8fc], 0x114
call 0x50ca9b
add esp, 4
jle 0x50caa9
mov esp, esp
jle 0x50caa4
jbe 0x50caa6
jg 0x50caa9
mov ebx, 0x4ff8fc68
add al, ch
xlatb
sbb al, 2
add byte [ebp - 0x163edbc4], al
add byte [edx + 0xd], bh
push 0x4ff8fc
call 0x52e78a
test dword [esp], edi
shr ecx, 0
jp 0x50cac8
pushf
mov eax, eax
popf
xchg edx, ecx
xchg edx, ecx
jnp 0x50cac8
mov edi, 0x11c68
add byte [edx], ch
push 0x11c
push 0
push 0x4ffaac
call fcn.0052b4cd
add esp, 0xc
ror eax, 0
and esi, esi
xchg edi, edi
jno 0x50caec
jmp 0x50cae7
xchg edi, edi
jo 0x50caec
sub eax, 0xfaac05c7
dec edi
add byte [ecx + eax], bl
add byte [eax], al
mov dword [0x4ffaac], 0x11c
xchg ebx, edi
xchg ebx, edi
jb 0x50cb01
js 0x50cafe
jae 0x50cb01
mov ebx, 0x4ffaac68
add al, ch
jg 0x50cb25
push 0x4ffaac
call 0x52e78a
add al, byte [eax]
push ecx
add ecx, 0x7a14
ror ecx, 5
pop ecx
xchg edx, esi
xchg edx, esi
ror ebx, 0
js 0x50cb35
pushf
jb 0x50cb23
jge 0x50cb25
jbe 0x50cb27
nop
popf
jnp 0x50cb2c
lea ebx, [ebx]
xchg edx, ecx
xchg edx, ecx
jns 0x50cb35
mov ebx, 0x1f4c9e8
add byte [ebx + 0x4ffbc8], ah
call 0x52c003
mov dword [0x4ffbc8], eax
not edx
not edx
cmp ecx, eax
push edx
add edx, 0x2c35
ror edx, 0x15
pop edx
jl 0x50cb63
pushf
lea edi, [edi]
jge 0x50cb58
popf
jo 0x50cb5c
jno 0x50cb5e
jg 0x50cb60
jge 0x50cb63
mov ebx, 0x15a6fe8
add byte [ebx + 0x4ffbcc], ah
call 0x5225d7
mov dword [0x4ffbcc], eax
cmp edi, eax
js 0x50cb71
jp 0x50cb7f
lea esp, [esp]
xchg esp, esp
jl 0x50cb7a
jmp 0x50cb7c
jnp 0x50cb7f
mov esi, 0x92e8006a
lahf
add dword [eax], eax
push 0
call 0x526b18
mov dword [0x4ffbd0], eax
jb 0x50cb8d
jae 0x50cb8f
jbe 0x50cb91
jge 0x50cba1
pushf
xchg edi, eax
xchg edi, eax
shr edi, 0
popf
jp 0x50cb9e
jl 0x50cba1
sub dword [edx], 0x241dce8
add byte [ebx + 0x4ffbd4], ah
push 0
call 0x530d84
mov dword [0x4ffbd4], eax
nop
jmp 0x50cbb0
test edi, ecx
call 0x50cbb7
add esp, 4
jo 0x50cbc3
jnp 0x50cbbe
jbe 0x50cbc0
jno 0x50cbc3
mov esi, 0x10468
add byte [eax - 0x28], ch
sti
dec edi
add byte [edx], ch
push 0x104
push 0x4ffbd8
push 0
call fcn.00515fcc
mov dword [0x4ffcdc], eax
stc
jg 0x50cbdc
xor eax, 0
jbe 0x50cbe8
jp 0x50cbe3
jg 0x50cbe5
ja 0x50cbe8
add eax, 0x10468
add byte [eax - 0x20], ch
cld
dec edi
add byte [edx], ch
push 0x104
push 0x4ffce0
push 0
call fcn.005331ba
mov dword [0x4ffee8], eax
nop
or ebx, ebx
jns 0x50cc03
jge 0x50cc28
pushf
lea ebx, [ebx + 0x7758]
lea ebx, [ebx - 0x7758]
js 0x50cc15
test esp, 0x3371
ror esi, 0xa
ror esi, 0x16
popf
xchg esp, esp
jl 0x50cc28
call 0x1f53214
add byte [ebx + 0x4ffeec], ah
call 0x527092
mov dword [0x4ffeec], eax
rol edx, 0x13
ror edx, 0x13
xor ebx, eax
xor ebx, eax
test dword [esp + 0xc], eax
jb 0x50cc5b
pushf
and edi, edi
cmp esp, 0x4001
nop
and esp, 0xffffffff
popf
xchg esp, esp
xchg esi, esi
jnp 0x50cc58
jae 0x50cc5b
sub eax, 0x1adb0e8
add byte [ebx + 0x4ffef0], ah
call 0x527a10
mov dword [0x4ffef0], eax
and edx, 0xffffffff
ja 0x50cc7b
pushf
xor edx, esi
xor edx, esi
popf
mov ecx, ecx
xchg ecx, eax
xchg ecx, eax
jne 0x50cc78
jbe 0x50cc7b
mov ebx, 0x1bb7de8
add byte [ebx + 0x4ffef4], ah
call 0x5287fd
mov dword [0x4ffef4], eax
xor esp, 0
jns 0x50cc90
jnp 0x50cc8c
js 0x50cc90
sub eax, 0xe8f66a02
mov ah, 0xc4
invalid
push 0xfffffffffffffff6
call 0x50914b
mov dword [0x4ffef8], eax
ja 0x50cc9e
cmp ebx, dword [esp]
xor ebx, 0
jno 0x50ccbe
pushf
xchg edi, edi
jnp 0x50ccac
call 0x50ccb1
lea esp, [esp + 4]
popf
mov eax, eax
jbe 0x50ccbb
jo 0x50ccbe
mov esp, 0x86e8f56a
invalid
push 0xfffffffffffffff5
call 0x50914b
mov dword [0x4ffefc], eax
jns 0x50cccc
cmp edx, dword [esp]
ja 0x50ccd6
jae 0x50ccd3
jbe 0x50ccd6
mov edi, 0x6ee8f46a
invalid
push 0xfffffffffffffff4
call 0x50914b
mov dword [0x4fff00], eax
cmp edx, dword [esp]
jae 0x50cce7
jle 0x50ccfc
pushf
sub esp, 0
jle 0x50ccf0
cmp eax, dword [esp + 0xc]
popf
nop
js 0x50ccf9
jg 0x50ccfc
mov esi, 0x6841e8
add byte [ebx + 0x4fff04], ah
call 0x513542
mov dword [0x4fff04], eax
add edx, 0x7bbb
sub edx, 0x7bbb
jb 0x50cd14
jle 0x50cd16
jbe 0x50cd18
jns 0x50cd2d
pushf
clc
jo 0x50cd1f
lea eax, [eax]
popf
jno 0x50cd25
jb 0x50cd27
lea esp, [esp]
js 0x50cd2d
mov ebx, 0x4fff0c68
add al, ch
lcall 0xe8f6, 0xb000156
add byte [eax], al
add byte [eax], al
push 0x4fff0c
call 0x5223d1
or esi, esi
call 0x50cd3e
add esp, 4
jp 0x50cd43
jnp 0x50cd56
pushf
ja 0x50cd49
jge 0x50cd4b
popf
jne 0x50cd4f
jmp 0x50cd51
jle 0x50cd53
jp 0x50cd56
mov ebx, 0x4fff5068
add al, ch
adc dword [ecx + eax], 0xc100c4c1
loopne 0x50cd66
push 0x4fff50
call 0x5221e1
rol esp, 0
shl eax, 0
jg 0x50cd6f
mov esp, esp
mov esp, esp
jle 0x50cd6f
mov ebp, 0x12a25e8
add byte [esi - 0x5d], ah
mov eax, 0x74004fff
add byte [eax + eax - 0x7f], bh
div byte [ebp - 0x7effffda]
div byte [ebp - 0x72ffffda]
mov edi, 0x1234
call 0x51f799
mov word [0x4fffb8], ax
je 0x50cd7c
jl 0x50cd7e
xor esi, 0x26b5
xor esi, 0x26b5
lea edi, [edi + 0x1234]
lea edi, [edi - 0x1234]
jns 0x50cd9d
jle 0x50cd9a
js 0x50cd9d
add eax, 0x151fce8
add byte [ebx + 0x4fffbc], ah
call 0x521f9e
mov dword [0x4fffbc], eax
call 0x50cdac
lea esp, [esp + 4]
nop
lea esp, [esp]
jl 0x50cdb6
jae 0x50cdbe
lea esp, [esp]
jb 0x50cdbe
add eax, 0x13bdee8
add byte [esi - 0x5d], ah
sar bh, 0x4f
add byte [ecx], dh
call 0x5209a1
mov word [0x4fffc0], ax
jno 0x50cdcb
jno 0x50cdd6
lea esp, [esp]
xchg ecx, ecx
jo 0x50cdd6
mov esp, 0x6eb1e890
add byte [eax], al
call 0x513c8c
mov dword [0x4fffc4], eax
push 0x24
push 0
push 0x4fff94
call fcn.0052b4cd
add esp, 0xc
push 0x4fff94
call fcn.00534bc6
call fcn.00514155
test eax, eax
je 0x50ce28
cmp dword [0x4fffac], 0x182
je 0x50ce1c
cmp dword [0x4fffac], 0x1e6
jne 0x50ce26
mov dword [0x506a3c], 1
jmp 0x50ce58
xor edx, edx
mov dx, word [0x4fff94]
test edx, edx
jne 0x50ce4e
xor eax, eax
mov ax, word [0x4fffb4]
cmp eax, 5
jge 0x50ce4c
mov dword [0x506a3c], 1
jmp 0x50ce58
mov dword [0x506a3c], 1
mov ecx, dword [0x506a3c]
mov dword [0x4fffcc], ecx
push 0x190
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
mov dword [0x5000d8], eax
push 0x190
push 0
mov edx, dword [0x5000d8]
push edx
call fcn.0052b4cd
add esp, 0xc
cmp dword [0x50327c], 1
jne 0x50cfc4
push 5
push 0x504dfc
push 0x50325c
call fcn.0053470f
add esp, 0xc
test eax, eax
jne 0x50cf0e
push 0xa
call fcn.0052635e
add esp, 4
test eax, eax
jne 0x50cf09
push 0xb
call fcn.0052635e
add esp, 4
test eax, eax
jne 0x50cf09
push 0x14
call fcn.0052635e
add esp, 4
test eax, eax
jne 0x50cf09
mov dword [0x506aa0], 0x23
mov dword [0x506a34], 0x13
mov dword [0x50680c], 1
mov dword [0x5063d0], 1
jmp 0x510e80
jmp 0x50cfc4
push 5
push 0x504e04
push 0x50325c
call fcn.0053470f
add esp, 0xc
test eax, eax
jne 0x50cf71
push 0xb
call fcn.0052635e
add esp, 4
test eax, eax
jne 0x50cf6f
push 0x14
call fcn.0052635e
add esp, 4
test eax, eax
jne 0x50cf6f
mov dword [0x506aa0], 0x23
mov dword [0x506a34], 0x13
mov dword [0x50680c], 1
mov dword [0x5063d0], 1
jmp 0x510e80
jmp 0x50cfc4
push 5
push 0x504e0c
push 0x50325c
call fcn.0053470f
add esp, 0xc
test eax, eax
jne 0x50cfc4
push 0x14
call fcn.0052635e
add esp, 4
test eax, eax
jne 0x50cfc4
mov dword [0x506aa0], 0x23
mov dword [0x506a34], 0x13
mov dword [0x50680c], 1
mov dword [0x5063d0], 1
jmp 0x510e80
js 0x50cfc6
neg esi
neg esi
jp 0x50cfe9
pushf
jg 0x50cfd0
jo 0x50cfd2
xor ecx, edx
xor ecx, edx
add esi, 0x4739
sub esi, 0x4739
popf
xchg ebx, eax
xchg ebx, eax
jnp 0x50cfe9
mov ecx, 0x6a2f6a
push 0x2f
push 0
lea eax, [ebp - 0x1ec]
push eax
call fcn.0052b4cd
add esp, 0xc
xor esp, 0
xchg edi, ecx
xchg edi, ecx
ja 0x50d017
pushf
jne 0x50d009
shl esi, 0
popf
jmp 0x50d010
lea ebx, [ebx]
je 0x50d014
jbe 0x50d017
add eax, 0xfe3785c6
invalid
mov byte [ebp - 0x1c9], 0x54
push esi
pop esi
push esi
add esi, 0x2eda
ror esi, 0x17
pop esi
lea esi, [esi + 0x2600]
lea esi, [esi - 0x2600]
test esp, 0x413
jg 0x50d044
mov edx, edx
jle 0x50d044
xor eax, 0xfe3385c6
invalid
mov byte [ebp - 0x1cd], 0x78
cmp edi, 0x7e34
jl 0x50d053
jne 0x50d055
or esp, 0
je 0x50d067
jmp 0x50d05c
je 0x50d05e
jae 0x50d060
lea ebx, [ebx]
jne 0x50d067
xor eax, 0x85c62f93
cmp al, 0xfe
invalid
mov byte [ebp - 0x1c4], 0x75
xchg ebx, esi
xchg ebx, esi
shl eax, 0
je 0x50d08a
pushf
shl esp, 0
or edx, 0
jae 0x50d081
popf
xchg edi, edi
xchg edi, eax
xchg edi, eax
jne 0x50d08a
mov ebp, 0xfe1c85c6
invalid
mov byte [ebp - 0x1e4], 0x5e
rol edx, 2
ror edx, 2
js 0x50d0ac
lea edi, [edi + 0x2136]
lea edi, [edi - 0x2136]
jmp 0x50d0a7
jno 0x50d0a9
jns 0x50d0ac
mov edx, 0xfe3f85c6
invalid
mov byte [ebp - 0x1c1], 0x75
stc
test eax, edi
or esi, 0
push eax
pop eax
je 0x50d0ce
pushf
shr edi, 0
lea esp, [esp]
popf
ja 0x50d0c9
mov ebx, ebx
jne 0x50d0ce
add eax, 0xfe2585c6
invalid
mov byte [ebp - 0x1db], 0x4d
jnp 0x50d0d7
ja 0x50d0ee
pushf
jle 0x50d0dd
jg 0x50d0df
xor ecx, eax
xor ecx, eax
popf
nop
ja 0x50d0e8
lea esp, [esp]
jbe 0x50d0ee
add eax, 0xfe3a85c6
invalid
mov byte [ebp - 0x1c6], 0x64
xor esp, 0
jno 0x50d0fa
ja 0x50d106
xchg esp, esp
jmp 0x50d100
mov eax, eax
jbe 0x50d106
xor eax, 0x1885c665
invalid
mov byte [ebp - 0x1e8], 0x5a
push edx
add edx, 0xb2b
ror edx, 9
pop edx
je 0x50d11a
jg 0x50d131
xchg ebx, ebx
mov esp, esp
jnp 0x50d122
lea esi, [esi + 0x69e6]
lea esi, [esi - 0x69e6]
jle 0x50d131
ljmp 0xffff:0xfe1485c6
mov byte [ebp - 0x1ec], 0x4c
xchg esi, edi
xchg esi, edi
add edx, 0x638f
sub edx, 0x638f
jne 0x50d169
jnp 0x50d14c
lea ebx, [ebx + 0x7890]
lea ebx, [ebx - 0x7890]
lea eax, [eax + 0x4e5e]
lea eax, [eax - 0x4e5e]
jg 0x50d166
je 0x50d169
add eax, 0xfe2e85c6
invalid
mov byte [ebp - 0x1d2], 0x70
lea esp, [esp]
ror ecx, 0x12
ror ecx, 0xe
xor edx, dword [esp + 0xc]
xor edx, dword [esp + 0xc]
and edx, edx
jnp 0x50d199
pushf
ror edi, 0x17
rol edi, 0x17
jns 0x50d18f
ror esp, 0
popf
mov ecx, ecx
jp 0x50d199
jmp 0xfe685763
mov byte [ebp - 0x1e9], 0x48
shr esp, 0
jno 0x50d1aa
xchg ecx, eax
xchg ecx, eax
jo 0x50d1aa
mov edx, 0xfe3085c6
invalid
mov byte [ebp - 0x1d0], 0x47
rol ebx, 5
rol ebx, 0x1b
jns 0x50d1c1
jo 0x50d1bb
jmp 0x50d1bd
nop
js 0x50d1c1
add esi, 0xfffe4185
push dword [edx]
mov byte [ebp - 0x1bf], 0x32
ja 0x50d1ca
jle 0x50d1d9
jmp 0x50d1ce
jno 0x50d1d0
xchg esi, edx
xchg esi, edx
jg 0x50d1d9
mov ebx, 0x85c68105
sub dh, bh
invalid
mov byte [ebp - 0x1d8], 0x61
or esi, 0
xor esp, 0
xchg ecx, edi
xchg ecx, edi
add ecx, 0
je 0x50d204
pushf
lea ebx, [ebx + 0x124a]
sub ebx, 0x124a
popf
jns 0x50d201
jne 0x50d204
lcall 0xffff, 0xfe3e85c6
je 0x50d27c
mov byte [ebp - 0x1c2], 0x74
jo 0x50d20d
add byte [ebx + 9], bh
jnp 0x50d218
ja 0x50d211
je 0x50d213
jp 0x50d215
jp 0x50d218
add eax, 0xfe3d85c6
invalid
mov byte [ebp - 0x1c3], 0x77
jae 0x50d221
js 0x50d242
pushf
neg ecx
neg ecx
lea edx, [edx + 0x52b3]
lea edx, [edx - 0x52b3]
push ecx
pop ecx
xchg esp, esp
popf
jp 0x50d23d
jp 0x50d23f
jns 0x50d242
mov esi, 0xfe1a85c6
invalid
mov byte [ebp - 0x1e6], 0x56
or esp, 0
lea esp, [esp]
mov ecx, ecx
mov esp, esp
je 0x50d260
xchg ebx, ebx
jl 0x50d259
jno 0x50d25b
jne 0x50d260
adc dword [eax], 0x1f85c640
invalid
mov byte [ebp - 0x1e1], 0x55
xor eax, 0x859
xor eax, 0x859
cmp ecx, 0x725f
std
cld
mov ecx, ecx
je 0x50d298
sbb esp, dword [esi - 0x64]
pushf
push edx
add edx, 0x4030
ror edx, 5
pop edx
shr esp, 0
dec esi
inc esi
mov esp, esp
popf
jge 0x50d295
jne 0x50d298
jmp 0xfe7e5862
mov byte [ebp - 0x1d3], 0x66
add edi, dword [esp]
sub edi, dword [esp]
xchg esi, esi
xor eax, dword [esp]
xor eax, dword [esp]
lea eax, [eax + 0x404d]
lea eax, [eax - 0x404d]
jno 0x50d2c4
jge 0x50d2bd
jae 0x50d2bf
jno 0x50d2c1
jo 0x50d2c4
mov edi, 0xfe3585c6
invalid
mov byte [ebp - 0x1cb], 0x65
je 0x50d2cd
jo 0x50d2cf
shr edi, 0
jg 0x50d2e0
ja 0x50d2d6
jmp 0x50d2d8
jl 0x50d2da
jns 0x50d2dc
jle 0x50d2e0
add eax, 0x1e85c6ea
invalid
mov byte [ebp - 0x1e2], 0x49
clc
jge 0x50d2ef
jl 0x50d2ec
jl 0x50d2ef
add eax, 0xfe3985c6
invalid
mov byte [ebp - 0x1c7], 0x70
push ecx
pop ecx
or esp, 0
neg esi
neg esi
inc edi
dec edi
jle 0x50d30e
nop
jbe 0x50d306
lea esi, [esi]
jl 0x50d30a
jg 0x50d30e
ljmp 0xfffe:0x2c85c6e6
mov byte [ebp - 0x1d4], 0x77
jle 0x50d317
or esp, 0
shl eax, 0
js 0x50d32e
lea esi, [esi + 0x2c99]
lea esi, [esi - 0x2c99]
jns 0x50d32e
call 0xfe7758f8
invalid
mov byte [ebp - 0x1da], 0x53
test dword [esp + 4], eax
test dword [esp], ecx
jo 0x50d34f
jno 0x50d340
lea esi, [esi + 0x42e7]
lea esi, [esi - 0x42e7]
jno 0x50d34f
xor eax, 0xfe1b85c6
invalid
mov byte [ebp - 0x1e5], 0x48
cmp eax, dword [esp + 0x10]
jb 0x50d378
pushf
shr esp, 0
inc eax
dec eax
popf
lea edx, [edx + 0x17ca]
lea edx, [edx - 0x17ca]
jns 0x50d373
lea ebx, [ebx]
jae 0x50d378
mov esp, 0xfe3b85c6
invalid
mov byte [ebp - 0x1c5], 0x68
and edi, edi
cmp esp, 0x4568
mov edi, edi
inc eax
dec eax
jne 0x50d397
lea edx, [edx]
lea esp, [esp]
jp 0x50d394
je 0x50d397
mov esi, 0xfe2285c6
invalid
mov byte [ebp - 0x1de], 0x4d
rol edx, 0x19
ror edx, 0x19
jle 0x50d3c3
pushf
xor ebx, edi
xor ebx, edi
call 0x50d3b1
lea esp, [esp + 4]
test ecx, eax
test eax, 0x2a18
popf
jae 0x50d3c0
jg 0x50d3c3
xor eax, 0xfe2485c6
invalid
mov byte [ebp - 0x1dc], 0x58
test dword [esp + 4], ebx
or edx, edx
jle 0x50d3d2
jo 0x50d3de
jmp 0x50d3d6
jbe 0x50d3d8
jns 0x50d3da
nop
jno 0x50d3de
mov byte [ebp - 0x1dd], 0x55
jns 0x50d3e7
jno 0x50d402
pushf
cmp ebx, dword [esp + 0xc]
xchg ebx, ecx
xchg ebx, ecx
ror esp, 0
popf
je 0x50d3fa
nop
xchg ebx, edx
xchg ebx, edx
jo 0x50d402
mov byte [ebp - 0x1c8], 0x76
test dword [esp + 0x10], eax
jbe 0x50d423
pushf
jb 0x50d413
mov byte [ebp - 0x1ce], 0x73
jo 0x50d42c
and esp, 0xffffffff
rol ebx, 3
rol ebx, 0x1d
call 0x510dc6
add esp, 4
add esi, dword [esp]
sub esi, dword [esp]
jns 0x510def
pushf
xor eax, dword [esp + 8]
xor eax, dword [esp + 8]
cmp esp, 0x37d7
jmp 0x510de3
lea esp, [esp]
popf
jbe 0x510dea
jns 0x510dec
js 0x510def
add eax, 0x5010458b
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [0x503284]
mov dword [0x506464], eax
test esp, 0x61f2
or esp, 0
cmp edi, dword [esp + 8]
jne 0x510e26
pushf
ror edx, 8
rol edx, 8
popf
jle 0x510e21
nop
nop
je 0x510e26
add eax, 0xa49c3d83
dec edi
add byte [eax], al
cmp dword [0x4fa49c], 0
jne 0x510e76
cmp dword [0x5063cc], 0
je 0x510e76
mov esi, esi
jbe 0x510e52
pushf
std
cld
sub edx, 0
ror edi, 0xc
rol edi, 0xc
mov esp, esp
popf
ja 0x510e4f
ja 0x510e52
mov ebp, 0xc100c483
rol dword [edx], 0xc1
leave
add dh, byte [edx + 5]
add esp, 0
rol ecx, 2
ror ecx, 2
jb 0x510e62
jp 0x510e5f
jae 0x510e62
mov esp, 0x58f64
add byte [eax], al
add byte [ebx + 0x5c70cc4], al
int3
pop dword fs:[0]
add esp, 0xc
mov dword [0x5063cc], 0
mov eax, dword [0x506464]
jmp 0x511492
xor eax, eax
mov al, byte [0x502b38]
test eax, eax
jne 0x510e95
call fcn.0052672f
mov dword [0x5063ec], eax
cmp dword [0x4ff878], 2
jne 0x510ec4
cmp dword [0x4ff86c], 6
jne 0x510ec4
cmp dword [0x4ffffc], 0
je 0x510ec4
call fcn.00528035
mov dword [0x504f64], eax
call fcn.0052df75
mov dword [0x504f60], eax
push 0xa1
push 0x4f65b0
lea ecx, [ebp - 0x290]
push ecx
call fcn.00513091
add esp, 0xc
mov dword [ebp - 0x1b8], 0
jmp 0x510ef8
mov edx, dword [ebp - 0x1b8]
add edx, 1
mov dword [ebp - 0x1b8], edx
cmp dword [ebp - 0x1b8], 0xa
jge 0x510fc9
mov eax, dword [ebp - 0x1b8]
shl eax, 2
mov ecx, dword [ebp + eax*4 - 0x290]
xor ecx, 0xab576c41
mov edx, dword [ebp - 0x1b8]
shl edx, 2
mov dword [ebp + edx*4 - 0x290], ecx
mov eax, dword [ebp - 0x1b8]
shl eax, 2
mov ecx, dword [ebp + eax*4 - 0x28c]
xor ecx, 0xab5ece77
mov edx, dword [ebp - 0x1b8]
shl edx, 2
mov dword [ebp + edx*4 - 0x28c], ecx
cmp esp, 0x84f
je 0x510f78
pushf
ror ecx, 0x1b
rol ecx, 0x1b
inc ebx
dec ebx
popf
lea ecx, [ecx + 0x440a]
lea ecx, [ecx - 0x440a]
js 0x510f73
mov esi, esi
jne 0x510f78
mov eax, 0xfe48858b
invalid
mov eax, dword [ebp - 0x1b8]
shl eax, 2
mov ecx, dword [ebp + eax*4 - 0x288]
xor ecx, 0xab633a25
mov edx, dword [ebp - 0x1b8]
shl edx, 2
mov dword [ebp + edx*4 - 0x288], ecx
mov eax, dword [ebp - 0x1b8]
shl eax, 2
mov ecx, dword [ebp + eax*4 - 0x284]
xor ecx, 0xab572a32
mov edx, dword [ebp - 0x1b8]
shl edx, 2
mov dword [ebp + edx*4 - 0x284], ecx
jmp 0x510ee9
call fcn.0052b4fc
mov dword [0x5063f0], eax
add edx, 0x9fb
sub edx, 0x9fb
rol esp, 0
call 0x510fe7
add esp, 4
clc
je 0x510ff2
jns 0x510fef
jne 0x510ff2
mov edi, 0x680c3d83
push eax
add byte [eax], al
cmp dword [0x50680c], 0
jne 0x51101a
add esi, 0x24b6
sub esi, 0x24b6
mov edx, edx
jns 0x511015
lea edx, [edx]
lea ecx, [ecx]
js 0x511011
js 0x511015
ljmp 2:0x738fe8b7
call 0x5383a9
nop
ja 0x51102a
lea esp, [esp]
xchg esi, esi
mov esp, esp
lea esp, [esp]
jbe 0x51102a
add eax, 0x63d03d83
push eax
add byte [eax], al
cmp dword [0x5063d0], 0
jne 0x5112c2
lea edx, [edx + 0x5824]
lea edx, [edx - 0x5824]
test edi, 0x1655
jl 0x51104b
dec ecx
inc ecx
js 0x511064
pushf
rol esp, 0
test edi, 0x834
stc
nop
popf
jbe 0x511060
nop
jns 0x511064
and dword [ecx + 0x504f9c], 0x506a6ca3
add byte [ebx], bh
add al, 0x24
mov eax, dword [0x504f9c]
mov dword [0x506a6c], eax
cmp eax, dword [esp]
jo 0x511073
jno 0x511075
jb 0x51107d
mov ecx, ecx
jae 0x51107d
xor eax, 0x9c0d8bee
dec edi
push eax
add byte [ebx], al
or eax, 0x506a80
mov ecx, dword [0x504f9c]
add ecx, dword [0x506a80]
mov dword [0x506a68], ecx
lea edx, [edx + 0x7831]
sub edx, 0x7831
jl 0x5110bd
pushf
xor ebx, ecx
xor ebx, ecx
std
cld
cmp ecx, dword [esp]
popf
mov ebx, ebx
xchg esp, esp
lea edx, [edx + 0x665d]
lea edx, [edx - 0x665d]
jge 0x5110bd
adc dword [edi + 0x51], 0x178abf50
push ecx
add byte [ebp - 0x397ea9ee], cl
fidivr dword [ebp]
add cl, al
into
pop ds
push edi
push ecx
push eax
mov edi, 0x51178a
lea edx, [edx]
push esi
add esi, 0x7dda
ror esi, 0x1f
pop esi
jne 0x5110d4
jo 0x5110e9
pushf
nop
dec eax
inc eax
mov esp, esp
popf
lea esp, [esp]
jle 0x5110e4
jp 0x5110e6
jno 0x5110e9
mov esp, 0x63cc3d80
push eax
add byte [eax], al
cmp byte [0x5063cc], 0
je 0x511116
call 0x5110f7
lea esp, [esp + 4]
xor edi, ebx
xor edi, ebx
jo 0x511111
pushf
clc
test esi, ebx
popf
jbe 0x51110a
xchg esp, esp
jmp 0x51110e
jno 0x511111
sub eax, 0x511935bf
add bh, dh
fcompi st(7)
fist word [ebx - 0x7f]
ret
mov edi, 0x511935
neg edi
neg edi
push ebx
add ebx, 0x69df
ror ebx, 0xd
pop ebx
add ecx, 0x4a49
sub ecx, 0x4a49
add edi, dword [esp]
sub edi, dword [esp]
jns 0x511149
jo 0x51113b
xchg edi, ecx
xchg edi, ecx
jo 0x511141
xchg edi, ebx
xchg edi, ebx
js 0x511149
mov esp, 0x680d8b49
push 0x50
add al, ch
add byte [eax], al
add byte [eax], al
mov ecx, dword [0x506a68]
call 0x511154
add esp, 4
rol esi, 0x15
rol esi, 0xb
and ebx, 0xffffffff
xchg esi, ebx
xchg esi, ebx
jae 0x511177
pushf
neg edx
neg edx
popf
xchg esp, esp
je 0x511172
xchg esp, esp
jb 0x511177
ljmp 0xe4c1:0x2c76cf3b
cmp ecx, edi
jbe 0x5111a7
shl esp, 0
nop
lea esp, [esp]
jb 0x51118f
pushf
xchg edi, eax
xchg edi, eax
popf
jge 0x51118c
jae 0x51118f
mov edx, 0x90b0cf2b
sub ecx, edi
mov al, 0x90
cld
jo 0x511196
jle 0x5111a5
mov esi, esi
xchg edi, ecx
xchg edi, ecx
jo 0x5111a0
jae 0x5111a2
jg 0x5111a5
mov esi, 0xc9c1aaf3
add byte [ecx + 0x16], dh
rep stosb byte es:[edi], al
ror ecx, 0
jno 0x5111c2
ja 0x5111ae
lea ecx, [ecx + 0x1fc0]
lea ecx, [ecx - 0x1fc0]
jae 0x5111bc
jle 0x5111be
jo 0x5111c2
lcall 0x506a, 0x6c3d8b5e
add byte [eax + 0x730077], dl
mov edi, dword [0x506a6c]
nop
ja 0x5111cb
jae 0x5111cd
je 0x5111d7
lea esp, [esp]
xchg esi, eax
xchg esi, eax
jne 0x5111d7
mov eax, 0x50c5c9b9
add byte [ebx], dh
or al, 0x24
mov ecx, entry0
xor ecx, dword [esp]
xor ecx, dword [esp]
or ebx, 0
jno 0x5111ef
jno 0x5111e9
mov eax, eax
jo 0x5111ef
mov esp, 0x76cf3b26
cmp edi, dword [ebx]
cmp ecx, edi
jbe 0x51122e
jnp 0x5111f5
cmp ebx, ecx
je 0x511206
jg 0x5111fb
lea esp, [esp]
mov edx, edx
jo 0x511202
jne 0x511206
lcall 0x83f6, 0x8bcf2b7c
test byte [eax], 0x48
sub ecx, edi
mov esi, esi
xor esi, 0
dec eax
inc eax
cmp ebx, dword [esp]
jno 0x511229
pushf
mov esi, esi
jne 0x51121a
dec eax
inc eax
ror edi, 0x15
ror edi, 0xb
popf
jae 0x511226
jo 0x511229
call 0xf44da2dd
stosb byte es:[edi], al
mov al, 0x90
cld
rep stosb byte es:[edi], al
jbe 0x511230
call 0x511235
lea esp, [esp + 4]
clc
jae 0x51123c
jbe 0x511257
pushf
add esi, 0x6aeb
sub esi, 0x6aeb
dec edx
inc edx
popf
jge 0x511252
js 0x511254
ja 0x511257
mov esi, 0x50c665bf
add byte [ecx + 0x4026fc], al
add byte [edi + 0x24248de4], al
mov edi, 0x50c665
cmp esp, 0x4026
xchg esp, esp
lea esp, [esp]
js 0x51126f
jp 0x51126b
jns 0x51126f
xor dword [ebx - 0x47], 0x510e80
mov ecx, 0x510e80
jno 0x511276
jle 0x511278
test dword [esp + 8], edx
je 0x511283
je 0x511280
jne 0x511283
ljmp 0xf3fc:0x90b0cf2b
sub ecx, edi
mov al, 0x90
cld
rep stosb byte es:[edi], al
ror esp, 0
nop
test dword [esp + 4], ecx
xor eax, 0
js 0x5112bf
pushf
xor ecx, 0x1810
xor ecx, 0x1810
test esp, 0xf1d
nop
xor eax, 0x13d2
xor eax, 0x13d2
popf
ja 0x5112ba
js 0x5112bc
jns 0x5112bf
xor eax, 0x835f5958
cmp eax, 0x506a34
add byte [ebp + 0xa], dh
pop eax
pop ecx
pop edi
cmp dword [0x506a34], 0
jne 0x5112d5
mov dword [0x506a34], 1
cmp dword [0x506a34], 0x13
jne 0x511320
mov edx, dword [0x506a34]
sub edx, 1
imul edx, edx, 0x66
add edx, 0x500274
mov dword [ebp - 0x29c], edx
push 0x50325c
mov eax, dword [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x1a0]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x29c], edx
jmp 0x511336
mov eax, dword [0x506a34]
sub eax, 1
imul eax, eax, 0x66
add eax, 0x500274
mov dword [ebp - 0x29c], eax
cmp dword [0x5063ec], 0
je 0x51141d
cmp dword [0x500a08], 0
je 0x51141d
mov ecx, dword [0x4ff7dc]
and ecx, 0x80000000
test ecx, ecx
jne 0x5113ce
cmp dword [0x4ffffc], 0
je 0x5113ce
push 0x200040
push 0x500234
mov edx, dword [ebp - 0x29c]
push edx
push 0
call dword [0x5063ec]
cmp dword [0x4ff878], 2
jne 0x5113cc
cmp dword [0x4ff86c], 6
jne 0x5113cc
cmp dword [0x504f60], 0xffffffff
je 0x5113cc
push 0
lea eax, [ebp - 0x294]
push eax
push 0
push 0x200040
push 0x66
mov ecx, dword [ebp - 0x29c]
push ecx
push 0x3e
push 0x500234
mov edx, dword [0x504f60]
push edx
push 0
call dword [0x504f64]
jmp 0x5113e4
push 0x40
push 0x500234
mov eax, dword [ebp - 0x29c]
push eax
push 0
call dword [0x5063ec]
mov dword [0x506aa4], 0
jmp 0x5113ff
mov ecx, dword [0x506aa4]
add ecx, 1
mov dword [0x506aa4], ecx
cmp dword [0x506aa4], 0xa1
jae 0x51141b
mov edx, dword [0x506aa4]
mov byte [ebp + edx - 0x290], 0
jmp 0x5113f0
jmp 0x51144c
xor eax, eax
mov al, byte [0x502b38]
cmp eax, 1
jne 0x51144c
cmp dword [0x500a08], 0
je 0x51144c
mov ecx, dword [ebp - 0x29c]
push ecx
push 0x500234
push 0x504e14
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 0xc
cmp dword [0x5063f8], 0
jne 0x511490
cmp dword [0x5063f0], 0
je 0x51146d
mov edx, dword [0x506a34]
push edx
call dword [0x5063f0]
jmp 0x511490
cmp dword [0x4ff878], 2
jne 0x511489
cmp dword [0x4ff86c], 6
jne 0x511489
push 0x63
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, 0x63
jmp 0x511492
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc