Function at 0x423dc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x571e3b
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x59ad00]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x59ad00]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
fld qword [0x57b620]
mov edx, dword [ebp + 8]
fst qword [eax]
fst qword [eax + 8]
mov ebx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [edx], 0xffffffff
fst qword [ecx]
fstp qword [ecx + 8]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x50], ecx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x70]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 0x1d4]
push ecx
push edx
lea ecx, [ebx + 0x1d8]
xor edi, edi
call fcn.004300d0
mov eax, dword [ebx + 0x1d4]
push eax
lea ecx, [ebx + 0xd4]
call fcn.00402a70
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
lea ecx, [esp + 0x5c]
push ecx
push eax
mov ecx, ebx
mov dword [esp + 0x108], edi
call fcn.004239b0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x60]
je 0x424202
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x210]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0x20]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], eax
mov ecx, dword [ebx + 0x220]
lea edi, [eax + eax*2]
shl edi, 4
add ecx, edi
mov edi, dword [ecx]
cmp edi, edx
jne 0x423ee8
mov edi, dword [ecx + 4]
cmp edi, dword [esp + 0x48]
je 0x423fb5
mov edx, dword [esp + 0x58]
cmp dword [ecx], edx
jne 0x423eff
mov eax, dword [ecx + 0x18]
jmp 0x423f02
mov eax, dword [ecx + 0x20]
cmp eax, dword [esp + 0x54]
jne 0x423ed1
or edi, 0xffffffff
push edi
mov ecx, ebx
call fcn.00402c10
test al, al
jne 0x4241e7
xor eax, eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x90]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x4c]
push edx
push eax
lea ecx, [ebx + 0x1d8]
call fcn.004300d0
fld qword [esp + 0x8c]
fst qword [esp + 0x7c]
fld qword [esp + 0x94]
fxch st(1)
fsub qword [esp + 0x6c]
fst qword [esp + 0x7c]
fxch st(1)
fsub qword [esp + 0x74]
fst qword [esp + 0x84]
fld st(1)
fmul st(2)
fldz
fadd st(1), st(0)
fld st(2)
fmul st(3)
faddp st(2)
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x423fbc
fstp st(3)
fstp st(1)
fstp st(1)
call sub.MSVCR100.dll__CIsqrt
fld qword [esp + 0x7c]
fld qword [esp + 0x84]
jmp 0x423fc2
mov edi, eax
jmp 0x423f0b
fstp st(1)
fxch st(2)
fxch st(1)
fxch st(1)
mov eax, dword [ebx + 0x220]
fdiv st(2)
mov dword [esp + 0x3c], 5
mov dword [esp + 0x40], 0xffffffff
lea edi, [edi + edi*2]
add edi, edi
mov ecx, dword [eax + edi*8 + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + edi*8 + 0xc]
lea eax, [esp + 0x3c]
push eax
lea ecx, [ebx + 0x1d8]
mov dword [esp + 0x44], edx
fstp qword [esp + 0x80]
fdivrp st(1)
fstp qword [esp + 0x88]
call fcn.00430050
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
test eax, eax
jne 0x4240eb
mov eax, dword [esp + 0x38]
fld qword [esp + 0x74]
add eax, 8
push eax
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebx + 0x1d8]
fld qword [esp + 0x88]
fstp qword [esp]
call fcn.00430980
mov eax, dword [esp + 0x38]
fld qword [eax + 8]
fld qword [eax]
fsub qword [esp + 0x6c]
fst qword [esp + 0x9c]
fxch st(1)
fsub qword [esp + 0x74]
fst qword [esp + 0xa4]
fld st(1)
fmul st(2)
fldz
fadd st(1), st(0)
fld st(2)
fmul st(3)
faddp st(2)
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4240b3
fstp st(3)
fstp st(1)
fstp st(1)
call sub.MSVCR100.dll__CIsqrt
fld qword [esp + 0x9c]
fldz
fld qword [esp + 0xa4]
jmp 0x4240bb
fstp st(1)
fld st(0)
fxch st(3)
fxch st(2)
fxch st(2)
fdiv st(3)
fxch st(2)
fdivrp st(3)
fld qword [esp + 0x84]
fld st(0)
fmulp st(3)
fld qword [esp + 0x7c]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fcompp
fnstsw ax
test ah, 0x41
je 0x42426e
fstp st(0)
fstp st(0)
mov eax, dword [ebx + 0x220]
mov edx, dword [eax + edi*8 + 0x10]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + edi*8 + 0x14]
push ecx
lea ecx, [ebx + 0x1d8]
mov dword [esp + 0x44], eax
call fcn.00430050
mov edx, dword [ebx + 0x80]
mov eax, dword [edx + eax*4]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], eax
test eax, eax
jne 0x4241e7
mov eax, dword [esp + 0x38]
fld qword [esp + 0x74]
mov edi, dword [esp + 0x38]
add eax, 8
push eax
push edi
lea edx, [esp + 0x44]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebx + 0x1d8]
fld qword [esp + 0x88]
fstp qword [esp]
call fcn.00430980
fld qword [edi + 8]
fld qword [edi]
fsub qword [esp + 0x6c]
fst qword [esp + 0xac]
fxch st(1)
fsub qword [esp + 0x74]
fst qword [esp + 0xb4]
fld st(1)
fmul st(2)
fldz
fadd st(1), st(0)
fld st(2)
fmul st(3)
faddp st(2)
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4241af
fstp st(3)
fstp st(1)
fstp st(1)
call sub.MSVCR100.dll__CIsqrt
fld qword [esp + 0xac]
fldz
fld qword [esp + 0xb4]
jmp 0x4241b7
fstp st(1)
fld st(0)
fxch st(3)
fxch st(2)
fxch st(2)
fdiv st(3)
fxch st(2)
fdivrp st(3)
fld qword [esp + 0x84]
fld st(0)
fmulp st(3)
fld qword [esp + 0x7c]
fmul st(4), st(0)
fxch st(3)
fsubrp st(4)
fxch st(3)
fcompp
fnstsw ax
test ah, 0x41
je 0x42426e
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x44]
add eax, 4
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x60]
jne 0x423ea1
mov eax, dword [esp + 0x5c]
xor edi, edi
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x60]
je 0x42458f
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x210]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0x20]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov ecx, dword [ebx + 0x220]
lea edi, [eax + eax*2]
shl edi, 4
add ecx, edi
mov edi, dword [ecx]
cmp edi, edx
jne 0x424257
mov edi, dword [ecx + 4]
cmp edi, dword [esp + 0x48]
je 0x424349
mov edx, dword [esp + 0x54]
cmp dword [ecx], edx
jne 0x424293
mov eax, dword [ecx + 0x18]
jmp 0x424296
mov eax, dword [esp + 0x50]
fxch st(1)
fstp qword [eax]
fchs
fstp qword [eax + 8]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42428c
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
jmp 0x42459f
mov eax, dword [ecx + 0x20]
cmp eax, dword [esp + 0x58]
jne 0x424240
or edi, 0xffffffff
push edi
mov ecx, ebx
call fcn.00402c10
test al, al
jne 0x424574
xor eax, eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x90]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x4c]
push edx
push eax
lea ecx, [ebx + 0x1d8]
call fcn.004300d0
fld qword [esp + 0x8c]
fst qword [esp + 0x7c]
fld qword [esp + 0x94]
fxch st(1)
fsub qword [esp + 0x6c]
fst qword [esp + 0x7c]
fxch st(1)
fsub qword [esp + 0x74]
fst qword [esp + 0x84]
fld st(1)
fmul st(2)
fldz
fadd st(1), st(0)
fld st(2)
fmul st(3)
faddp st(2)
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x424350
fstp st(3)
fstp st(1)
fstp st(1)
call sub.MSVCR100.dll__CIsqrt
fld qword [esp + 0x7c]
fld qword [esp + 0x84]
jmp 0x424356
mov edi, eax
jmp 0x42429f
fstp st(1)
fxch st(2)
fxch st(1)
fxch st(1)
mov eax, dword [ebx + 0x220]
fdiv st(2)
mov dword [esp + 0x3c], 5
mov dword [esp + 0x40], 0xffffffff
lea edi, [edi + edi*2]
add edi, edi
mov ecx, dword [eax + edi*8 + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + edi*8 + 0xc]
lea eax, [esp + 0x3c]
push eax
lea ecx, [ebx + 0x1d8]
mov dword [esp + 0x44], edx
fstp qword [esp + 0x80]
fdivrp st(1)
fstp qword [esp + 0x88]
call fcn.00430050
fld qword [esp + 0x74]
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
mov dword [eax], edx
mov eax, dword [esp + 0x38]
add eax, 8
push eax
push ecx
lea edx, [esp + 0x44]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebx + 0x1d8]
fld qword [esp + 0x88]
fstp qword [esp]
call fcn.00430980
mov eax, dword [esp + 0x38]
fld qword [eax + 8]
fld qword [eax]
fsub qword [esp + 0x6c]
fst qword [esp + 0x9c]
fxch st(1)
fsub qword [esp + 0x74]
fst qword [esp + 0xa4]
fld st(1)
fmul st(2)
fldz
fadd st(1), st(0)
fld st(2)
fmul st(3)
faddp st(2)
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42443f
fstp st(3)
fstp st(1)
fstp st(1)
call sub.MSVCR100.dll__CIsqrt
fldz
fld qword [esp + 0x9c]
fld qword [esp + 0xa4]
jmp 0x424449
fstp st(1)
fld st(0)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fdiv st(3)
fxch st(1)
fdivrp st(3)
fld qword [esp + 0x84]
fld st(0)
fmulp st(2)
fld qword [esp + 0x7c]
fmul st(4), st(0)
fxch st(2)
fsubrp st(4)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x42426e
mov eax, dword [ebx + 0x220]
fstp st(0)
mov ecx, dword [eax + edi*8 + 0x10]
fstp st(0)
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + edi*8 + 0x14]
lea eax, [esp + 0x3c]
push eax
lea ecx, [ebx + 0x1d8]
mov dword [esp + 0x44], edx
call fcn.00430050
fld qword [esp + 0x74]
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + eax*4]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
add edi, 8
push edi
push ecx
mov dword [eax], edx
lea edx, [esp + 0x44]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebx + 0x1d8]
fld qword [esp + 0x88]
fstp qword [esp]
call fcn.00430980
mov eax, dword [esp + 0x38]
fld qword [eax]
fsub qword [esp + 0x6c]
fst qword [esp + 0x9c]
fld qword [edi]
fsub qword [esp + 0x74]
fst qword [esp + 0xa4]
fld st(1)
fmul st(2)
fldz
fadd st(1), st(0)
fld st(2)
fmul st(3)
faddp st(2)
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x424538
fstp st(3)
fstp st(1)
fstp st(1)
call sub.MSVCR100.dll__CIsqrt
fldz
fld qword [esp + 0x9c]
fld qword [esp + 0xa4]
jmp 0x424542
fstp st(1)
fld st(0)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fdiv st(3)
fxch st(1)
fdivrp st(3)
fld qword [esp + 0x84]
fld st(0)
fmulp st(2)
fld qword [esp + 0x7c]
fmul st(4), st(0)
fxch st(2)
fsubrp st(4)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x42426e
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x44]
add eax, 4
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x60]
jne 0x424210
mov eax, dword [esp + 0x5c]
xor edi, edi
cmp eax, edi
je 0x42459c
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
or eax, 0xffffffff
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0xc