Function at 0x47bb50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x402956
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x138
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401cd0
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [ecx]
mov dword [ebp - 0x34], ebx
cmp eax, 0x18fe563d
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], ebx
jg 0x47c182
je 0x47c0da
cmp eax, 0x18f00f52
jg 0x47be7c
je 0x47bdc2
cmp eax, 0xcf00300
je 0x47bd69
cmp eax, 0xcf00400
je 0x47bcee
cmp eax, 0xcf0233d
jne 0x47c3a1
mov eax, dword [0x48a12c]
movzx cx, byte [eax + 6]
imul cx, cx, 8
jo 0x47c4c3
push ecx
call dword [0x401008]
mov esi, dword [0x401230]
mov edx, eax
lea ecx, [ebp - 0x14]
call esi
mov edi, dword [0x4011b8]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 4]
call edi
mov ebx, dword [0x401260]
lea ecx, [ebp - 0x14]
call ebx
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x5c], 0x41721c
mov dword [ebp - 0x64], 8
call dword [0x401200]
mov eax, dword [0x48a12c]
xor ecx, ecx
xor edx, edx
push 1
mov cl, byte [eax + 2]
mov dl, byte [eax + 1]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x8c], edx
fild dword [ebp - 0x80]
push 1
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x44]
mov dword [ebp - 0x24], 5
fstp qword [ebp - 0x88]
fld qword [ebp - 0x88]
fmul qword [0x401be0]
fild dword [ebp - 0x8c]
fstp qword [ebp - 0x94]
fadd qword [ebp - 0x94]
fmul qword [0x401cc8]
fstp qword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x47c4be
lea eax, [ebp - 0x34]
push eax
push ecx
push edx
call dword [0x40106c]
lea eax, [ebp - 0x44]
push eax
call dword [0x40102c]
mov edx, eax
lea ecx, [ebp - 0x14]
call esi
mov ecx, dword [0x48a270]
mov edx, eax
add ecx, 0x34
call edi
lea ecx, [ebp - 0x14]
call ebx
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x24]
push eax
push ecx
push 3
call dword [0x401038]
add esp, 0x10
wait
push 0x47c4ab
jmp 0x47c4aa
mov eax, dword [0x48a12c]
xor edx, edx
xor ecx, ecx
sub esp, 8
mov dl, byte [eax + 5]
mov cl, byte [eax + 4]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0xa4], ecx
fild dword [ebp - 0x98]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
fmul qword [0x401be0]
fild dword [ebp - 0xa4]
fstp qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fmul qword [0x401cc0]
fnstsw ax
test al, 0xd
jne 0x47c4be
fstp qword [esp]
call dword [0x40111c]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x28]
jmp 0x47c472
mov edx, dword [0x48a12c]
xor ecx, ecx
sub esp, 8
mov cl, byte [edx + 2]
mov dword [ebp - 0xb0], ecx
fild dword [ebp - 0xb0]
fstp qword [ebp - 0xb8]
fld qword [ebp - 0xb8]
fmul qword [0x401cb8]
fnstsw ax
test al, 0xd
jne 0x47c4be
fstp qword [esp]
call dword [0x40111c]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x20]
jmp 0x47c472
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x5c], 0x41721c
mov dword [ebp - 0x64], 8
call dword [0x401200]
mov eax, dword [0x48a12c]
xor ecx, ecx
xor edx, edx
push 1
mov cl, byte [eax + 2]
mov dl, byte [eax + 1]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc8], edx
fild dword [ebp - 0xbc]
push 1
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x44]
mov dword [ebp - 0x24], 5
fstp qword [ebp - 0xc4]
fld qword [ebp - 0xc4]
fmul qword [0x401be0]
fild dword [ebp - 0xc8]
fstp qword [ebp - 0xd0]
fadd qword [ebp - 0xd0]
fmul qword [0x401cb0]
fsub qword [0x401ca8]
fstp qword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x47c4be
lea eax, [ebp - 0x34]
push eax
push ecx
push edx
call dword [0x40106c]
lea eax, [ebp - 0x44]
push eax
call dword [0x40102c]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov ecx, dword [0x48a270]
mov edx, eax
add ecx, 0x10
jmp 0x47c35e
cmp eax, 0x18fd3c3d
je 0x47c01e
cmp eax, 0x18fd3e3d
jne 0x47c3a1
mov esi, dword [0x401200]
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x5c], 0x41721c
mov dword [ebp - 0x64], 8
call esi
mov eax, dword [0x48a12c]
xor edx, edx
xor ecx, ecx
mov edi, dword [0x40106c]
mov dl, byte [eax + 2]
mov cl, byte [eax + 1]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xe0], ecx
fild dword [ebp - 0xd4]
push 1
lea edx, [ebp - 0x34]
push 1
push edx
fstp qword [ebp - 0xdc]
fld qword [ebp - 0xdc]
fmul qword [0x401be0]
fild dword [ebp - 0xe0]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x24], 5
fstp qword [ebp - 0xe8]
fadd qword [ebp - 0xe8]
fmul qword [0x401ca0]
fsub qword [0x401c98]
fstp qword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x47c4be
lea eax, [ebp - 0x24]
push eax
push ecx
call edi
mov ebx, dword [0x40102c]
lea edx, [ebp - 0x44]
push edx
call ebx
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov ecx, dword [0x48a270]
mov edx, eax
call dword [0x4011b8]
lea ecx, [ebp - 0x14]
call dword [0x401260]
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x34]
push eax
lea edx, [ebp - 0x24]
push ecx
push edx
push 3
call dword [0x401038]
add esp, 0x10
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x5c], 0x41721c
mov dword [ebp - 0x64], 8
call esi
mov eax, dword [0x48a12c]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + 5]
mov dl, byte [eax + 4]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf8], edx
fild dword [ebp - 0xec]
fstp qword [ebp - 0xf4]
fld qword [ebp - 0xf4]
fmul qword [0x401be0]
fild dword [ebp - 0xf8]
fstp qword [ebp - 0x100]
fadd qword [ebp - 0x100]
fmul qword [0x401ca0]
push 1
push 1
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x44]
fsub qword [0x401c98]
mov dword [ebp - 0x24], 5
fstp qword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x47c4be
lea eax, [ebp - 0x34]
push eax
push ecx
push edx
call edi
lea eax, [ebp - 0x44]
push eax
call ebx
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov ecx, dword [0x48a270]
mov edx, eax
add ecx, 0x18
jmp 0x47c35e
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x5c], 0x41721c
mov dword [ebp - 0x64], 8
call dword [0x401200]
mov eax, dword [0x48a12c]
xor edx, edx
push 1
lea ecx, [ebp - 0x34]
mov dl, byte [eax + 3]
push 1
mov dword [ebp - 0x104], edx
lea edx, [ebp - 0x24]
fild dword [ebp - 0x104]
push ecx
push edx
mov dword [ebp - 0x24], 5
fstp qword [ebp - 0x10c]
fld qword [ebp - 0x10c]
fmul qword [0x401c90]
fstp qword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x47c4be
lea eax, [ebp - 0x44]
push eax
call dword [0x40106c]
lea ecx, [ebp - 0x44]
push ecx
call dword [0x40102c]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x14]
call dword [0x4011b8]
lea ecx, [ebp - 0x14]
call dword [0x401260]
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0x34]
push ecx
lea eax, [ebp - 0x24]
push edx
push eax
push 3
call dword [0x401038]
add esp, 0x10
wait
push 0x47c4ab
jmp 0x47c4aa
mov edx, dword [0x48a12c]
xor ecx, ecx
sub esp, 8
mov cl, byte [edx + 1]
mov dword [ebp - 0x110], ecx
fild dword [ebp - 0x110]
fstp qword [ebp - 0x118]
fld qword [ebp - 0x118]
fmul qword [0x401cb8]
fnstsw ax
test al, 0xd
jne 0x47c4be
fstp qword [esp]
call dword [0x40111c]
mov esi, dword [0x401230]
mov edx, eax
lea ecx, [ebp - 0x14]
call esi
mov edi, dword [0x4011b8]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0xc]
call edi
mov ebx, dword [0x401260]
lea ecx, [ebp - 0x14]
call ebx
mov ecx, dword [0x48a12c]
movzx dx, byte [ecx + 2]
sub dx, 0x28
jo 0x47c4c3
push edx
call dword [0x401008]
mov edx, eax
lea ecx, [ebp - 0x14]
call esi
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 8]
call edi
lea ecx, [ebp - 0x14]
call ebx
wait
push 0x47c4ab
jmp 0x47c4aa
cmp eax, 0x18fef500
jg 0x47c38f
je 0x47c2a9
cmp eax, 0x18feca00
je 0x47c1db
cmp eax, 0x18feee00
jne 0x47c3a1
mov ecx, dword [0x48a12c]
movzx dx, byte [ecx + 1]
sub dx, 0x28
jo 0x47c4c3
push edx
call dword [0x401008]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x30]
jmp 0x47c472
xor ecx, ecx
call dword [fcn.0040112c]
mov edx, dword [0x48a12c]
xor ecx, ecx
mov byte [0x48a198], al
lea eax, [ebp - 0x68]
mov cl, byte [edx + 1]
push eax
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0x24]
push ecx
call fcn.0046afb0
mov esi, dword [fcn.00401024]
lea ecx, [ebp - 0x24]
call esi
mov edx, dword [0x48a630]
mov al, byte [edx + 7]
cmp al, bl
jne 0x47c21e
push ebx
jmp 0x47c289
cmp al, 1
jne 0x47c481
mov edx, dword [0x48a12c]
xor ecx, ecx
lea eax, [ebp - 0x68]
mov cl, byte [edx + 2]
push eax
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0x24]
push ecx
call fcn.0046afb0
lea ecx, [ebp - 0x24]
call esi
mov esi, dword [0x48a630]
xor edx, edx
mov al, byte [esi + 8]
mov cl, byte [esi + 7]
cmp al, bl
setne dl
xor eax, eax
cmp cl, bl
setne al
or edx, eax
jne 0x47c287
push 1
call dword [0x401008]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov ecx, dword [0x48a270]
mov edx, eax
add ecx, 0x38
jmp 0x47c472
push 3
call dword [0x401008]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x38]
jmp 0x47c472
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x5c], 0x41721c
mov dword [ebp - 0x64], 8
call dword [0x401200]
mov eax, dword [0x48a12c]
xor ecx, ecx
xor edx, edx
push 1
mov cl, byte [eax + 5]
mov dl, byte [eax + 4]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x128], edx
fild dword [ebp - 0x11c]
push 1
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x44]
mov dword [ebp - 0x24], 5
fstp qword [ebp - 0x124]
fld qword [ebp - 0x124]
fmul qword [0x401be0]
fild dword [ebp - 0x128]
fstp qword [ebp - 0x130]
fadd qword [ebp - 0x130]
fmul qword [0x401ca0]
fsub qword [0x401c98]
fstp qword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x47c4be
lea eax, [ebp - 0x34]
push eax
push ecx
push edx
call dword [0x40106c]
lea eax, [ebp - 0x44]
push eax
call dword [0x40102c]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov ecx, dword [0x48a270]
mov edx, eax
add ecx, 0x24
call dword [0x4011b8]
lea ecx, [ebp - 0x14]
call dword [0x401260]
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x24]
push eax
push ecx
push 3
call dword [0x401038]
add esp, 0x10
wait
push 0x47c4ab
jmp 0x47c4aa
cmp eax, 0x18fef600
je 0x47c445
cmp eax, 0x18fef700
je 0x47c3cd
lea edx, [ebp - 0x54]
lea eax, [ebp - 0x24]
push edx
push eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x54], 0x4003
call dword [0x4011b4]
lea ecx, [ebp - 0x24]
call dword [fcn.00401024]
wait
push 0x47c4ab
jmp 0x47c4aa
mov eax, dword [0x48a12c]
xor ecx, ecx
xor edx, edx
sub esp, 8
mov cl, byte [eax + 8]
mov dl, byte [eax + 7]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x140], edx
fild dword [ebp - 0x134]
fstp qword [ebp - 0x13c]
fld qword [ebp - 0x13c]
fmul qword [0x401be0]
fild dword [ebp - 0x140]
fstp qword [ebp - 0x148]
fadd qword [ebp - 0x148]
fmul qword [0x401cb0]
fnstsw ax
test al, 0xd
jne 0x47c4be
fstp qword [esp]
call dword [0x40111c]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x1c]
jmp 0x47c472
mov ecx, dword [0x48a12c]
movzx dx, byte [ecx + 4]
imul dx, dx, 2
jo 0x47c4c3
push edx
call dword [0x401008]
mov edx, eax
lea ecx, [ebp - 0x14]
call dword [0x401230]
mov edx, eax
mov eax, dword [0x48a270]
lea ecx, [eax + 0x2c]
call dword [0x4011b8]
lea ecx, [ebp - 0x14]
call dword [0x401260]
wait
push 0x47c4ab
jmp 0x47c4aa
ret
jmp 0x40295c
call dword [0x40118c]
nop
nop
nop
nop
nop
nop
nop