Function at 0x418a50
Capabilities:
Access peb ldr_data

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 0xc]
jbe 0x418e25
sub esp, 0x44
mov ecx, dword [esp + 0x48]
test byte [ecx], al
lea edi, [ecx + 0x44]
mov dword [esp + 0x40], edi
mov edx, dword [0x54d830]
test edx, edx
jne 0x418d16
mov dword [ecx + 0x44], 0
lea eax, [0x54d6dc]
mov dword [esp], eax
call fcn.00401f10
mov eax, dword [esp + 4]
test eax, eax
jne 0x418abd
mov eax, dword [esp + 0x48]
mov dword [eax + 0xd0], 0
mov dword [eax + 0xd4], 0
add esp, 0x44
ret
nop
call fcn.00456dd0
mov eax, dword [esp]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], ecx
lea edx, [0x54df44]
mov dword [esp], edx
mov dword [esp + 4], 0xffffffff
call fcn.00402020
mov eax, dword [esp + 8]
mov ecx, dword [0x54df38]
cmp eax, ecx
je 0x418da3
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 4
call fcn.00432660
mov eax, dword [esp + 0x48]
mov byte [eax + 0x64], 1
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x54]
test byte [ecx], al
add ecx, 0xb80
mov dword [esp], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0041a1d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], 4
mov dword [esp + 8], 2
call fcn.00432660
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xd0]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0xd4]
mov dword [esp + 0x2c], edx
fld qword [0x54dd08]
fld st(0)
fstp qword [esp + 0x34]
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 4], ebx
fstp st(0)
call fcn.0044e610
fld qword [esp + 8]
fld qword [esp + 0x34]
fld st(1)
fmulp st(1)
fld st(0)
fstp qword [esp]
fstp st(0)
fstp st(0)
call fcn.0044e570
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov edx, ecx
add ecx, eax
mov ebx, ecx
add ecx, 1
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x48]
mov dword [esi + 0xd0], ecx
add edx, eax
mov eax, dword [esp + 0x2c]
adc eax, ebp
add ebx, 1
adc eax, 0
mov dword [esi + 0xd4], eax
lea eax, [0x54df44]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00402020
mov eax, dword [esp + 8]
mov ecx, dword [0x54df38]
cmp eax, ecx
ja 0x418d22
je 0x418cd5
call fcn.00456dd0
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x54]
mov ecx, dword [esp]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
sub ecx, edx
mov ebp, dword [eax + 0xb60]
mov esi, ebp
add ebp, ecx
mov edi, dword [eax + 0xb64]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 4]
mov dword [eax + 0xb60], ebp
sub ebx, edx
mov edx, dword [esp + 0x20]
sbb edi, edx
add esi, ecx
mov ecx, dword [esp + 0x2c]
adc ecx, edi
mov dword [eax + 0xb64], ecx
test ecx, ecx
setg dl
sete bl
cmp ebp, 0x1388
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, esi
or edx, ebx
test dl, dl
jne 0x418ca1
add esp, 0x44
ret
mov dword [esp + 0x3c], eax
lea eax, [0x54dcd0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.00401fc0
mov eax, dword [esp + 0x3c]
mov dword [eax + 0xb60], 0
mov dword [eax + 0xb64], 0
jmp 0x418c9d
mov dword [esp], 0
call fcn.00416d20
movzx eax, byte [esp + 4]
test al, al
jne 0x418c32
mov ecx, dword [0x54d830]
test ecx, ecx
jne 0x418d04
mov eax, dword [esp + 0x48]
mov dword [eax + 0x44], eax
jmp 0x418c32
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
call fcn.00455e90
jmp 0x418c32
xor eax, eax
call fcn.00455e90
jmp 0x418a8b
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ecx
call fcn.0042fdf0
lea eax, [0x4b0095]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.004307d0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004304d0
lea eax, [0x4adee7]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.004307d0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004304d0
call fcn.00430010
call fcn.0042fe60
lea eax, [0x4b0ba3]
mov dword [esp], eax
mov dword [esp + 4], 0x17
call fcn.0042ea20
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
call fcn.0042fdf0
lea eax, [0x4b04f1]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004307d0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004304d0
lea eax, [0x4adee7]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.004307d0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004304d0
call fcn.00430010
call fcn.0042fe60
lea eax, [0x4af6a0]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call fcn.0042ea20
nop
call fcn.004537b0
jmp fcn.00418a50