Function at 0x42bfdb
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45687d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
push edi
mov eax, dword [0x47c084]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea esi, [edi + 0xc]
cmp dword [esi], eax
je 0x42c01d
mov edi, eax
call fcn.00404a2f
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x10], esi
cmp ebx, esi
je 0x42c036
mov eax, dword [ebx]
lea ecx, [esp + 0x10]
push ecx
push 0x476834
push ebx
call dword [eax]
mov dword [esp + 0x38], esi
cmp dword [esp + 0x10], esi
je 0x42c403
mov dword [esp + 0xc], esi
mov byte [esp + 0x38], 1
fld qword [0x476998]
fst qword [esp + 0x1c]
lea edx, [esp + 0xc]
fld qword [esp + 0x1c]
push edx
fld qword [esp + 0x20]
fmul qword [0x476988]
fsubp st(1)
fsub qword [esp + 0x20]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fadd qword [0x476980]
fld qword [esp + 0x20]
fdivrp st(2)
fsubrp st(1)
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fldz
fsub st(1), st(0)
fld qword [esp + 0x20]
fsubp st(2)
fld qword [esp + 0x20]
faddp st(2)
fxch st(1)
fadd qword [0x476978]
fsub qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fld qword [0x476970]
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x20]
fsubr qword [esp + 0x20]
fadd qword [esp + 0x20]
fadd qword [0x4768e0]
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fsub qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fdiv qword [0x476888]
fadd qword [esp + 0x20]
fsub qword [esp + 0x20]
fadd qword [0x476968]
fsub qword [esp + 0x20]
fsub qword [0x476960]
fadd qword [esp + 0x20]
fadd qword [0x476958]
fsub qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fsub qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fmul qword [0x476950]
fadd qword [esp + 0x20]
fsub qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fmul qword [esp + 0x20]
fsubrp st(1)
fld qword [esp + 0x20]
fdiv qword [0x476948]
fsubp st(1)
fld qword [esp + 0x20]
fmul qword [0x476910]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
fsubp st(1)
fstp qword [esp + 0x24]
call dword [ecx + 0x10]
mov dword [esp + 0x18], esi
cmp ebx, esi
je 0x42c183
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
push 0x476874
push ebx
call dword [eax]
mov byte [esp + 0x38], 2
fld qword [0x476998]
fst qword [esp + 0x1c]
fld qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x476988]
fsubp st(1)
fsub qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [0x476980]
fld qword [esp + 0x1c]
fdivrp st(2)
fsubrp st(1)
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fldz
fsub st(1), st(0)
fld qword [esp + 0x1c]
fsubp st(2)
fld qword [esp + 0x1c]
faddp st(2)
fxch st(1)
fadd qword [0x476978]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fld qword [0x476970]
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x1c]
fsubr qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [0x4768e0]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fdiv qword [0x476888]
fadd qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fadd qword [0x476968]
fsub qword [esp + 0x1c]
fsub qword [0x476960]
fadd qword [esp + 0x1c]
fadd qword [0x476958]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x476950]
fadd qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [esp + 0x1c]
fsubrp st(1)
fld qword [esp + 0x1c]
fdiv qword [0x476948]
fsubp st(1)
fld qword [esp + 0x1c]
fmul qword [0x476910]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
fsubp st(1)
fstp qword [esp + 0x1c]
cmp eax, esi
je 0x42c3ce
cmp ecx, esi
je 0x42c3ce
lea edx, [esp + 0x28]
push edx
push 0x476178
mov dword [esp + 0x30], esi
mov ecx, dword [eax]
push eax
call dword [ecx]
mov byte [esp + 0x38], 3
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], esi
cmp eax, esi
je 0x42c2e3
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push 0x476168
push eax
call dword [ecx]
mov byte [esp + 0x38], 4
mov dword [esp + 0x14], 0x58
mov dword [esp + 0x1c], 0x35
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x13
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
add ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
cmp eax, edi
je 0x42c33a
lea esi, [edi + 0x10]
cmp dword [esi], eax
je 0x42c338
mov edi, eax
call fcn.00404a2f
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, esi
je 0x42c343
lea ecx, [edi + 4]
jmp 0x42c345
xor ecx, ecx
mov eax, dword [esp + 0x24]
cmp eax, ecx
je 0x42c35e
lea esi, [edi + 0x14]
cmp dword [esi], eax
je 0x42c35e
mov edi, eax
call fcn.00404a2f
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0xc]
mov esi, eax
mov byte [esp + 0x38], 3
mov eax, dword [esp + 0x24]
test eax, eax
je 0x42c37e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x38], 2
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42c391
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x38], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42c3a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x38], 0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x42c3b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42c3ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x42c408
mov byte [esp + 0x38], 1
cmp ecx, esi
je 0x42c3e1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0xc]
mov byte [esp + 0x38], 0
cmp eax, esi
je 0x42c3f0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x42c403
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004002
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8