Function at 0x42fb70
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x469deb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x27c
mov eax, dword [esp + 0x28c]
fld qword [esp + 0x29c]
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esi], 0x476704
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov edx, dword [eax + 4]
fstp qword [esi + 0x10]
fld qword [esp + 0x2b0]
mov eax, dword [esp + 0x2e8]
fstp qword [esi + 0x18]
push edi
fld qword [esp + 0x2bc]
mov dword [esp + 0x30], esi
fstp qword [esi + 0x20]
mov dword [esi + 0xc], edx
fld qword [esp + 0x2c4]
mov dword [esi + 0x50], eax
fstp qword [esi + 0x28]
fld qword [esp + 0x2cc]
fstp qword [esi + 0x30]
fld qword [esp + 0x2d4]
fstp qword [esi + 0x38]
fld qword [esp + 0x2dc]
fstp qword [esi + 0x40]
fld qword [esp + 0x2e4]
fstp qword [esi + 0x48]
fld qword [esp + 0x2dc]
mov dword [esp + 0x294], 0
fmul qword [esp + 0x2dc]
mov dword [esi], 0x476760
fld qword [esp + 0x2e4]
fmul qword [esp + 0x2e4]
faddp st(1)
fsqrt
fld qword [0x470ac0]
fdiv st(1)
fld qword [esp + 0x2cc]
fmul st(1)
fstp qword [esp + 0x18]
fld qword [esp + 0x2d4]
fmul st(1)
fchs
fstp qword [esp + 0x20]
fld qword [esp + 0x2dc]
fmul st(1)
fstp qword [esp + 0x28]
fmul qword [esp + 0x2e4]
fchs
fld qword [esp + 0x18]
fcomp qword [0x46e5a8]
fnstsw ax
test ah, 0x41
jne 0x42fcd5
fcom qword [0x46e5a8]
fnstsw ax
test ah, 0x41
jne 0x42fcd5
fld qword [esp + 0x18]
fdiv st(1)
fsub qword [0x470ac0]
fabs
fcomp qword [0x476758]
fnstsw ax
test ah, 5
jp 0x42fcd5
fld qword [esp + 0x20]
fabs
fcomp qword [0x471400]
fnstsw ax
test ah, 5
jp 0x42fcd5
fld qword [esp + 0x28]
fabs
fcomp qword [0x471400]
fnstsw ax
test ah, 1
je 0x42fcd5
xor bl, bl
jmp 0x42fcd7
mov bl, 1
fld st(1)
call fcn.00458858
test bl, bl
mov edi, eax
mov dword [esp + 0x14], edi
je 0x42fda2
fcom qword [0x46e5a8]
mov ebx, 0x476754
fnstsw ax
test ah, 5
jnp 0x42fd03
mov ebx, 0x46e6d6
fld qword [esp + 0x28]
mov edx, 0x476754
fcomp qword [0x46e5a8]
fnstsw ax
test ah, 5
jnp 0x42fd1e
mov edx, 0x46e6d6
fld qword [esp + 0x20]
mov ecx, 0x476754
fcomp qword [0x46e5a8]
fnstsw ax
test ah, 5
jnp 0x42fd39
mov ecx, 0x46e6d6
fld qword [esp + 0x18]
fcomp qword [0x46e5a8]
fnstsw ax
test ah, 5
mov eax, 0x476754
jnp 0x42fd54
mov eax, 0x46e6d6
fmul st(1)
sub esp, 8
fabs
fstp qword [esp]
push ebx
fld qword [esp + 0x34]
sub esp, 8
fmul st(1)
fabs
fstp qword [esp]
push edx
fld qword [esp + 0x38]
sub esp, 8
fmul st(1)
fabs
fstp qword [esp]
push ecx
fld qword [esp + 0x3c]
sub esp, 8
fmul st(1)
lea ecx, [esp + 0x60]
fabs
fstp qword [esp]
push eax
push 0x476730
push ecx
fstp st(0)
call fcn.00459111
add esp, 0x38
jmp 0x42fdb9
push edi
fstp st(0)
lea edx, [esp + 0x38]
fstp st(0)
push 0x474f68
push edx
call fcn.00459111
add esp, 0xc
mov ebx, dword [esp + 0x2a0]
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x34]
push eax
push ecx
lea edx, [esp + 0xa0]
push edx
call fcn.00459111
mov ecx, dword [esi + 0x50]
lea eax, [esp + 0xa4]
push eax
push ecx
call fcn.00401000
add esp, 0x14
test eax, eax
mov dword [esi + 0x58], eax
jne 0x42ff00
mov eax, edi
cdq
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0x14]
sar ebp, 1
cmp eax, ebp
jl 0x42fe51
cmp edi, 1
jl 0x42fe51
push edi
lea edx, [esp + 0x38]
push 0x474f68
push edx
call fcn.00459111
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x40]
push eax
push ecx
lea edx, [esp + 0xac]
push edx
call fcn.00459111
mov ecx, dword [esi + 0x50]
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.00401000
add esp, 0x20
test eax, eax
mov dword [esi + 0x58], eax
jne 0x42fe51
dec edi
cmp edi, ebp
jge 0x42fe06
mov eax, dword [esi + 0x58]
test eax, eax
jne 0x42ff00
mov ebp, dword [esp + 0x14]
lea edi, [ebp + 1]
add ebp, 0xa
cmp edi, ebp
jge 0x42feb6
lea ebx, [ebx]
push edi
lea edx, [esp + 0x38]
push 0x474f68
push edx
call fcn.00459111
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x40]
push eax
push ecx
lea edx, [esp + 0xac]
push edx
call fcn.00459111
mov ecx, dword [esi + 0x50]
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.00401000
add esp, 0x20
test eax, eax
mov dword [esi + 0x58], eax
jne 0x42feb6
inc edi
cmp edi, ebp
jl 0x42fe70
mov eax, dword [esi + 0x58]
test eax, eax
jne 0x42ff00
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x38]
push 0x474f68
push eax
call fcn.00459111
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x40]
push ecx
push edx
lea eax, [esp + 0xac]
push eax
call fcn.00459111
lea ecx, [esp + 0xb0]
push ecx
push 0x476714
push 0xffffffffffffffff
call fcn.00401070
add esp, 0x24
jmp 0x42ff70
mov edx, dword [esp + 0x2a4]
mov ebp, dword [esp + 0x2a8]
mov dword [esi + 0x25c], edx
xor edi, edi
lea ebx, [esi + 0x5c]
lea esp, [esp]
push 1
lea eax, [esp + 0x1c]
push eax
push edi
mov ecx, ebp
call fcn.00406ff0
cmp eax, 1
jne 0x42ff5f
mov edx, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x17]
push ecx
mov ecx, dword [esi + 0x25c]
push edx
call fcn.0042f480
cmp eax, 1
jne 0x42ff5f
xor eax, eax
mov al, byte [esp + 0x13]
and eax, 0xff
mov word [ebx], ax
jmp 0x42ff64
mov word [ebx], 0
inc edi
add ebx, 2
cmp edi, 0x100
jl 0x42ff20
mov ecx, dword [esp + 0x28c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x288
ret 0x54