Function at 0x5d8000
Capabilities:
Parse pe header
Terminate process

Disassembly:
push 0x74
push dword [esp + 0x14]
pushf
push esi
add esi, dword [esp + 0x38]
mov esi, 0x4463c6
mov esi, 0x413314
lea esi, [ebx + esi]
lea esi, [esp + 0x17]
lea esi, [esi - 0x17]
lea esi, [ecx + esi + 6]
sub esi, ecx
push 0x56
push ebx
sub ebx, edi
mov ebx, esp
lea ebx, [eax + ebx + 4]
sub ebx, eax
push eax
push ebp
add ebp, ecx
mov ebp, esp
lea ebp, [eax + ebp + 4]
sub ebp, eax
push eax
ror eax, 0x57
add eax, dword [esp + 0x18]
lea eax, [esi + 0x4e09e0]
sub eax, esi
push eax
pop dword [ebp]
pop eax
pop ebp
pop dword [ebx]
pop ebx
pop dword [esi]
pop esi
popf
call fcn.005d9598
xor ebx, ebx
mov dword [ebp - 0x20], ebx
push ebx
lea edi, [ebp + esi + 0x2876543a]
push eax
push ecx
push ebx
push 0xffffffffffffffe0
pushf
push ebx
lea ebx, [esp + 0x4e]
lea ebx, [ecx + ebx - 0x4e]
sub ebx, ecx
add ebx, 6
mov dword [ebx], 0xd94196c7
pop ebx
popf
pop eax
xchg ebx, eax
rol ebx, 0x55
push ebx
mov ecx, 0x42cb1e
mov ecx, 0x479a56
pop ecx
ror ecx, 0x30
mov eax, 0x423b9a
xor eax, dword [esp + 8]
mov eax, 0x426982
mov eax, 0x44a026
lea eax, [ecx + 0xe]
lea eax, [eax - 0xe]
add eax, 0xfffffff7
sub edi, eax
pop ebx
pop ecx
pop eax
sub edi, esi
and edi, ebp
lea edi, [ecx + sym.imp.kernel32.dll_GetModuleHandleA]
sub edi, ecx
push dword [edi]
xor edi, ebx
pop edi
call edi
cmp word [eax], 0x5a4d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x5d9600
movzx eax, word [ecx + 0x18]
cmp eax, 0x10b
je 0x5d960c
cmp eax, 0x20b
cmp dword [ecx + 0x84], 0xe
jbe 0x5d9600
xor eax, eax
cmp dword [ecx + 0xf8], ebx
setne al
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], ebx
push 2
call dword [sym.imp.msvcr71.dll___set_app_type]
pop ecx
or dword [0x51455c], 0xffffffff
or dword [0x514560], 0xffffffff
call dword [sym.imp.msvcr71.dll___p__fmode]
xor ecx, 0x5cfae14a
lea ecx, [edi + eax*2 + 0x75]
lea ecx, [ebx + 0x514554]
sub ecx, ebx
push dword [ecx]
mov ecx, 0x477642
add ecx, 0x44
pop ecx
mov dword [eax], ecx
call dword [sym.imp.msvcr71.dll___p__commode]
lea ecx, [ebx + ecx*2 - 0x26]
or ecx, 0x5b
add ecx, dword [esp + 0x38]
lea ecx, [edx + 0x514550]
sub ecx, edx
push dword [ecx]
add ecx, dword [esp + 0x38]
rcr ecx, 0x43
pop ecx
mov dword [eax], ecx
or eax, 0xa8cd473b
sub eax, 0x33
mov eax, 0x460cdc
adc eax, ebp
lea eax, [ecx + edx + sym.imp.msvcr71.dll__adjust_fdiv]
sub eax, ecx
sub eax, edx
push dword [eax]
mov eax, 0x413e26
sbb eax, 0xfffffff5
pop eax
push dword [eax]
mov eax, 0x442c06
mov eax, 0x46b0be
pop eax
mov dword [0x514558], eax
call fcn.005d9528
call fcn.004c08ff
cmp dword [0x4fee80], ebx
jne 0x5d823e
push dword fs:[0]
pushf
push ebx
adc ebx, edi
sub ebx, 0xe8bd76e8
lea ebx, [esp + 0x5d]
lea ebx, [ebx - 0x5d]
lea ebx, [ebx + 0x19]
push esi
push eax
push edx
and edx, 0x3988b5a8
push 0xf397bc54
or edx, 0xffffff9b
add edx, dword [esp + 0x38]
pop edx
sub edx, 0xffffff80
not edx
xchg edx, eax
add eax, 0x496e44f1
sub esi, 0xffffffbb
or esi, 0xffffff97
mov esi, eax
sub esi, 0x55d6882f
neg esi
xchg esi, edx
sub ebx, edx
lea edx, [edx + edi + 0x50]
pop edx
rol eax, 0xe9
sub eax, 0xffffffe5
pop eax
sub esi, ebp
pop esi
push 0x4c08fc
pop dword [ebx]
pop ebx
popf
call dword [sym.imp.msvcr71.dll___setusermatherr]
pop ecx
call fcn.005d94ac
push 0xffffffffffffffc0
pushf
push ecx
add ecx, 0x59ec476
adc ecx, 0x48f85d0e
mov ecx, 0x48c286
mov ecx, 0x401f3e
lea ecx, [esp + edx + 0x46]
sub ecx, edx
lea ecx, [eax + ecx - 0x46]
sub ecx, eax
lea ecx, [ecx + edi + 6]
sub ecx, edi
push edi
xor edi, dword [esp + 8]
sbb edi, 0xffffff85
add edi, ebp
lea edi, [eax + ecx + 0x4fc064]
sub edi, ecx
sub edi, eax
push edi
pop dword [ecx]
pop edi
pop ecx
popf
push 0x4702d2
pushf
push ebp
adc ebp, 0x382a342a
lea ebp, [ecx + edx*2 + 0x4f]
lea ebp, [esp + 0x56]
lea ebp, [ebp + esi - 0x56]
sub ebp, esi
lea ebp, [ebp + 6]
push eax
mov eax, 0x40de5e
mov eax, 0x479996
lea eax, [esi + 0x4fc060]
sub eax, esi
mov dword [ebp], eax
pop eax
pop ebp
popf
call sub.msvcr71.dll__initterm
push 0xe64e70ea
pushf
push ebp
sub ebp, ecx
mov ebp, esp
lea ebp, [ebx + ebp + 0x4e]
push esi
push edi
push edx
mov edx, 0x44b06a
mov edx, 0x4028e2
mov edx, 0x714bd92c
add edx, 0x65
inc edx
lea edi, [ebp + 0x1a940694]
push edx
push ebx
push esi
push 0xd1b1e2e0
pop esi
rol esi, 0xec
not esi
push esi
lea ebx, [ecx + edx - 0x47]
pop ebx
xor ebx, 0x4639c9d
neg ebx
xor edx, ecx
lea edx, [ecx + edi + 0x49f2e0]
sub edx, edi
lea edx, [ebx + 0xc]
lea edx, [edx - 0x1d]
push esi
push eax
push edi
mov eax, 0x4a788e
or eax, 0x63
mov eax, 0x67301834
mov edi, 0x479636
add edi, dword [esp + 0x38]
mov edi, 0x466cde
mov edi, 0x47ca62
lea edi, [eax + 0x15]
push esi
push eax
push edx
xor edx, dword [esp + 0x28]
rol edx, 0x71
push 0xf6bae3ec
lea edx, [edi - 0x5b]
pop edx
xor edx, 0xe557e6f3
mov eax, 0x486baa
add eax, dword [esp + 0x38]
mov eax, edx
add eax, 0xc4756ca1
mov esi, 0x49c47e
sub esi, 0xffffffdb
push eax
lea esi, [ebp + esi*2 + 0x3f]
push ebx
push eax
push edx
push 0x64223f4a
pop edx
xor edx, 0xffffffbf
not edx
push edx
add eax, 0xcc21b956
pop eax
add eax, 0x4d2cce29
and ebx, eax
mov ebx, eax
xor ebx, 0xb14f0da7
adc edx, 0x32
sbb edx, ebp
push ebx
mov edx, 0x4a1d7a
rol edx, 0x79
pop edx
add esi, edx
pop edx
pop eax
pop ebx
pop esi
add esi, 0x279d8e5f
dec esi
mov edx, 0x47aab2
mov edx, 0x42b2aa
push esi
lea edx, [edi + eax*2 + 0xe]
sub edx, 0xe
pop edx
add edi, edx
mov edx, 0x4b0fa0
or edx, 0x8fdb5dc
pop edx
add eax, dword [esp + 0x18]
mov eax, 0x47f2fe
pop eax
lea esi, [ecx + edx + 0x49a5b0]
pop esi
lea edi, [ebp + edi - 0x18]
push edx
push ecx
push ebx
add edx, dword [esp + 0x38]
rol edx, 0xcb
sbb edx, ebx
lea edx, [edi + 0x67e5d714]
sub edx, edi
push edx
adc ebx, 0x60997442
pop ebx
rol ebx, 0xe8
lea ecx, [ecx + ebx]
mov ecx, ebx
ror ecx, 0x42
push ecx
and edx, 0x459ec54c
pop edx
add edx, 0x68a3b03
dec edx
sub edi, edx
lea ebx, [ebp + esi + 0x419108]
pop ebx
sub ecx, 0xa69cb286
pop ecx
xor edx, dword [esp + 0x28]
rcl edx, 0x41
pop edx
sub edi, ebp
xor edi, 0x40c55989
dec edi
mov eax, 0x407eea
xor eax, dword [esp + 8]
push edi
xor eax, ecx
pop eax
rol eax, 0x37
inc eax
push eax
add esi, ebx
pop esi
sub esi, 0xde13fa8f
dec esi
push esi
sbb eax, 0x98256344
pop eax
add edx, eax
and edi, 0xc166bacc
pop edi
mov eax, 0x464ea6
or eax, 0xffffffaf
pop eax
lea esi, [ecx + edx - 0x27]
pop esi
add edx, 0xffffff95
push edx
lea esi, [ebx + ecx*2 + 0x65]
push edx
push ebx
lea edx, [ecx + ebp - 0x6cf417f8]
sub edx, ebp
sub edx, ecx
push edx
lea ebx, [edx + edi*2 + 0x57]
push esi
push edi
push ecx
mov esi, 0xfdcfffe3
xchg esi, ecx
add ecx, 0xffffffcd
push ecx
sub edi, 0xffffffeb
shl edi, 0xc6
pop edi
xor edi, 0xffffffb0
sbb esi, 0x21b1f940
mov esi, edi
ror esi, 0xd4
sub ebx, esi
pop ecx
pop edi
pop esi
sub ebx, 0x34
sub ebx, edi
pop ebx
add ebx, 0xffffff8c
add ebx, 0x6cf418cd
dec ebx
push ebx
and edx, esi
pop edx
add edx, 0xffffffa5
add esi, edx
pop ebx
pop edx
pop esi
sub edi, esi
pop esi
pop ebx
pop edx
mov edi, edx
xor edi, 0x8eb42641
dec edi
xor esi, ebx
mov esi, 0x41cf9e
mov esi, 0x4196d6
lea esi, [edi + 7]
lea esi, [esi - 7]
sub esi, 0xffffff8a
push esi
mov edx, 0x44df7e
mov edx, 0x478a14
pop edx
sub ebp, edx
or edx, 0xdb31be52
pop edx
sbb edi, 0xffffffe1
mov edi, 0x4286ba
pop edi
or esi, 0x2944b5d0
pop esi
sub ebp, ebx
push dword [esp + 0x14]
push eax
rol eax, 0x6f
add eax, dword [esp + 0x18]
mov eax, esp
add eax, 4
mov dword [eax], 0x4c089a
pop eax
pop dword [ebp]
pop ebp
popf
call fcn.005d9498
mov eax, 0x49f788
sub eax, 0xaf860c90
xor eax, ebp
lea eax, [ebp + esi + 0x56]
lea eax, [eax + ebp - 0x56]
sub eax, ebp
lea eax, [ecx + ebx + 0x51454c]
sub eax, ecx
sub eax, ebx
push dword [eax]
add eax, dword [esp + 0x38]
mov eax, 0x40df66
pop eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push dword [0x514548]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.msvcr71.dll___getmainargs]
add esp, 0x20
mov dword [ebp - 0x3c], eax
push 0x44df36
pushf
push edx
add edx, dword [esp + 0x18]
add edx, dword [esp + 0x38]
mov edx, esp
lea edx, [ecx + edx + 6]
sub edx, ecx
push dword [esp + 0x10]
push edx
ror edx, 0x73
mov edx, 0x468d9e
mov edx, esp
lea edx, [ecx + edx + 4]
sub edx, ecx
push ecx
lea ecx, [ecx + ebx]
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x38]
lea ecx, [edx + edi + 0x4fc05c]
sub ecx, edx
sub ecx, edi
mov dword [edx], ecx
pop ecx
pop edx
pop dword [edx]
pop edx
popf
push 0xffffffffffffffd0
pushf
push ebx
lea ebx, [eax + edi + 0x43840c]
adc ebx, edi
lea ebx, [esp + 0xd]
lea ebx, [ecx + ebx - 0xd]
sub ebx, ecx
lea ebx, [ecx + ebx + 6]
sub ebx, ecx
push eax
and eax, ecx
xor eax, 0x376f819c
lea eax, [ecx + ebp + section.sect_2]
sub eax, ecx
sub eax, ebp
push eax
pop dword [ebx]
pop eax
pop ebx
popf
call sub.msvcr71.dll__initterm
pop ecx
pop ecx
lea eax, [ebp + esi - 0x2d]
sub eax, esi
add eax, dword [esp + 0x38]
rcl eax, 0xbb
lea eax, [esi + sym.imp.msvcr71.dll__acmdln]
sub eax, esi
mov eax, dword [eax]
sub esi, 0xffffff95
xor esi, dword [esp + 8]
mov esi, dword [eax]
mov dword [ebp - 0x24], esi
mov al, byte [esi]
cmp al, 0x20
cmp al, bl
je 0x5d8663
cmp dword [ebp - 0x20], ebx
mov al, byte [esi]
cmp al, bl
mov dword [ebp - 0x58], ebx
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.kernel32.dll_GetStartupInfoA]
test byte [ebp - 0x58], 1
je 0x5d948c
movzx eax, word [ebp - 0x54]
push eax
push esi
push ebx
push ebx
call edi
push eax
call fcn.005d8710
add esi, dword [esp + 0x38]
mov esi, 0x406f06
push eax
adc esi, ebp
pop esi
mov dword [ebp - 0x40], esi
cmp dword [ebp - 0x1c], ebx
push esi
call dword [sym.imp.msvcr71.dll_exit]
push dword fs:[0]
pushf
push ebx
lea ebx, [eax + edi + 0x2b]
sub ebx, ecx
adc ebx, ebp
lea ebx, [esp + ecx + 0x73]
sub ebx, ecx
sub ebx, 0x73
lea ebx, [eax + ebx + 6]
sub ebx, eax
push ecx
push edx
mov edx, 0x4a3766
rol edx, 0x95
ror edx, 0xa3
add edx, dword [esp + 0x38]
lea edx, [esp + 0x25]
lea edx, [ecx + edx - 0x25]
sub edx, ecx
lea edx, [eax + edx + 4]
sub edx, eax
push eax
sub eax, 0x2d013892
add eax, dword [esp + 0x38]
or eax, 0x73
lea eax, [ebp + esi + 0x4c0540]
sub eax, esi
sub eax, ebp
mov dword [edx], eax
pop eax
pop edx
pop dword [ebx]
pop ebx
popf
ret
push 0xa
pop eax
jmp 0x5d8685
mov dword [ebp - 0x1c], ebx
jmp 0x5d811b
cmp dword [ecx + 0x74], 0xe
jbe 0x5d9600
xor eax, eax
cmp dword [ecx + 0xe8], ebx
jmp 0x5d8115