Function at 0x42ddb0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a7ced
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x4fc040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebp + 8]
lea ecx, [esi + 0x18]
xorps xmm0, xmm0
mov dword [esi + 0x30], 0xfffffffb
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
movsd qword [esi + 0x40], xmm0
call fcn.00402cf0
mov ecx, esi
call fcn.00402cf0
lea ecx, [esi + 0xc]
call fcn.00402cf0
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.00402cf0
push ecx
push 0
lea ecx, [esi + 0x48]
call fcn.004789a0
mov ecx, edi
call fcn.00405980
cmp eax, 0xa
jge 0x42de44
mov eax, dword [esi + 0x30]
jmp 0x42e07f
push ecx
lea ecx, [esi + 0x54]
call fcn.00410340
test al, al
je 0x42de3c
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
call fcn.00402b40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x38]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
call fcn.00402b40
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x2c]
movq qword [ebp - 0x2c], xmm0
call fcn.00402b40
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
push 0x4ceb88
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42dec3
lea ecx, [ebp - 0x1c]
call fcn.00403e00
mov dword [esi + 0x34], eax
lea eax, [ebp - 0x1c]
push eax
push 0x4ceb94
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42df79
lea ecx, [ebp - 0x1c]
call fcn.00403e00
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x54]
lea eax, [esi + 0x18]
push eax
push 0x4cebb0
push 0
call fcn.00410bb0
push ebx
push 0x4cebc8
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42df1b
mov ecx, ebx
call fcn.00403180
test al, al
je 0x42df4a
push ebx
push 0x4cebd0
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42df3a
mov ecx, ebx
call fcn.00403180
test al, al
je 0x42df4a
push ebx
push 0x4cebd8
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
mov ebx, dword [esi + 0x30]
cmp ebx, 1
jl 0x42e065
push esi
push 0x4cebec
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
mov ecx, esi
call fcn.00402ea0
mov ecx, eax
call fcn.00430920
mov dword [esi + 0x3c], eax
jmp 0x42dfd1
lea eax, [ebp - 0x1c]
push eax
push 0x4cec3c
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42dfd1
push str.true
lea ecx, [ebp - 0x1c]
call fcn.00402c80
test al, al
je 0x42dfaa
mov dword [esi + 0x30], 0
jmp 0x42dfd1
push ebx
push 0x4cec48
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42dfd1
mov ecx, ebx
call fcn.00402d60
cmp eax, 0x1e
jle 0x42dfd1
mov dword [esi + 0x30], 1
mov ebx, dword [esi + 0x30]
cmp ebx, 1
jl 0x42e065
lea eax, [esi + 0xc]
push eax
push 0x4cec54
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
lea eax, [ebp - 0x1c]
push eax
push 0x4cec68
push 0
lea ecx, [esi + 0x54]
call fcn.00410bb0
test eax, eax
je 0x42e012
lea ecx, [ebp - 0x1c]
call fcn.00403e00
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x42e040
xorps xmm0, xmm0
lea ecx, [esi + 0xc]
movsd qword [esi + 0x40], xmm0
call fcn.00402d60
cmp eax, 0xa
jle 0x42e062
mov ecx, esi
call fcn.00403180
test al, al
je 0x42e062
mov ebx, 0xfffffffe
jmp 0x42e065
movd xmm1, dword [esi + 0x38]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [0x4ee080]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esi + 0x40], xmm1
mov ebx, dword [esi + 0x30]
lea ecx, [ebp - 0x2c]
call fcn.00402ce0
lea ecx, [ebp - 0x38]
call fcn.00402ce0
lea ecx, [ebp - 0x1c]
call fcn.00402ce0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047916f
mov esp, ebp
pop ebp
ret 8