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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x6811cb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x298
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 0x20c]
xor ebx, ebx
cmp ecx, ebx
push edi
je 0x421e29
movaps xmm0, xmmword [esi + 0x40]
lea eax, [esp + 0x50]
push eax
movaps xmmword [esp + 0x24], xmm0
call fcn.005efd30
movaps xmm0, xmmword [eax]
subps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
jmp 0x421e31
mov dword [esp + 0x10], 0x3fa00000
fld dword [esp + 0x10]
mov byte [esi + 0x12c0], 4
fcomp dword [0x68b894]
fnstsw ax
test ah, 5
jp 0x422323
mov al, byte [ebp + 8]
test al, al
je 0x422323
cmp byte [esi + 0x12c2], 6
jne 0x421ed0
fld dword [esp + 0x10]
fcomp dword [0x68b890]
fnstsw ax
test ah, 5
jp 0x421ed0
mov edx, dword [0x6f2234]
mov eax, dword [edx + 0x380]
cmp eax, 0x51
je 0x421e88
cmp eax, 0x70
jne 0x421ed0
call fcn.005f2050
fstp dword [esp + 0x1c]
fld dword [0x68b88c]
push 0x3f000000
fsub dword [esp + 0x14]
push ebx
push ecx
fmul dword [0x68b888]
fstp dword [esp]
call fcn.00419680
movzx eax, byte [esi + 0x12c2]
add esp, 0xc
fadd dword [eax*4 + 0x6b3874]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x421fb0
fld dword [0x68b88c]
fsub dword [esp + 0x10]
fmul dword [0x68b888]
fst dword [esp + 0x1c]
fst dword [esp + 0x10]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x421f10
fld dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp dword [0x68b504]
fnstsw ax
test ah, 5
jp 0x421f1c
fstp dword [esp + 0x10]
jmp 0x421f26
fld dword [0x68b4fc]
fstp dword [esp + 0x10]
jmp 0x421f26
fstp st(0)
mov dword [esp + 0x10], 0x3f000000
call fcn.005f2050
fld dword [esp + 0x10]
fadd dword [esi + 0x200]
fcompp
fnstsw ax
test ah, 0x41
jne 0x422323
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
fld dword [esp + 0x10]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x421f76
fld dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp dword [0x68b504]
fnstsw ax
test ah, 5
jp 0x421f82
fstp dword [esp + 0x10]
jmp 0x421f8c
fld dword [0x68b4fc]
fstp dword [esp + 0x10]
jmp 0x421f8c
fstp st(0)
mov dword [esp + 0x10], 0x3f000000
call fcn.005f2050
fld dword [esp + 0x10]
movzx edx, byte [esi + 0x12c2]
fadd dword [edx*4 + 0x6b3874]
fcompp
fnstsw ax
test ah, 0x41
jne 0x422323
push 0x1f
mov ecx, esi
call fcn.005ef7a0
mov dword [esp + 0x10], eax
cmp byte [esi + 0x12c2], 6
mov byte [esp + 0x1b], 1
jne 0x422005
push esi
call fcn.004192e0
add esp, 4
test al, al
jne 0x421ff6
mov eax, dword [0x6f2234]
mov eax, dword [eax + 0x380]
cmp eax, 0x51
je 0x421ff6
cmp eax, 0x70
je 0x421ff6
call fcn.005f2010
test al, 0x3f
jne 0x422005
mov edi, 0x7e
mov dword [esp + 0x1c], 0x14
jmp 0x422050
xor ecx, ecx
mov cx, word [0x68b3bc]
push ecx
mov ecx, esi
call fcn.00419f30
test al, al
je 0x422323
push 6
call fcn.00401930
movzx ecx, byte [esi + 0x12c2]
mov edi, dword [eax*4 + 0x68b3bc]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*2]
movsx ecx, word [eax*2 + 0x6b3838]
add esp, 4
cmp edi, ebx
mov dword [esp + 0x1c], ecx
je 0x422323
mov ebx, dword [esi + 0x20c]
lea edx, [esp + 0xa0]
push edx
mov ecx, esi
call fcn.005efd30
mov dword [esp + 0x14], eax
lea eax, [esp + 0x60]
push eax
mov ecx, ebx
call fcn.005efd30
mov ecx, dword [esp + 0x14]
movaps xmm1, xmmword [ecx]
movaps xmm0, xmmword [eax]
subps xmm0, xmm1
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
movss xmm1, dword [edx]
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm2, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm2, xmm4
addss xmm2, xmm3
movaps xmmword [esp + 0x20], xmm2
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x50], xmm1
fnstsw ax
test ah, 0x41
jne 0x42210f
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x20], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
shufps xmm0, xmm0, 0
mulps xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x422113
lea eax, [esp + 0x50]
movaps xmm0, xmmword [eax]
lea eax, [esp + 0x50]
push eax
mov ecx, esi
movaps xmmword [esp + 0x54], xmm0
call fcn.00402700
push edi
mov ecx, esi
call fcn.00402f40
push 0xffffffffffffffff
movzx eax, al
push 0x3f800000
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x90]
mov edx, dword [ecx*4 + 0x6eb770]
lea ebx, [esi + 0x90]
push 1
push eax
push edi
mov ecx, esi
mov dword [esp + 0x28], edx
call fcn.00402f00
mov edx, dword [esp + 0x24]
movzx ecx, al
mov eax, dword [edx + ecx*4 + 4]
mov ecx, dword [esp + 0x20]
push eax
call fcn.004196b0
push 0
push ebx
mov ebx, dword [esp + 0x18]
push ebx
call fcn.005e7f00
add esp, 0xc
lea ecx, [esp + 0xb0]
call fcn.0049ac50
push 0
push 0x21
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esi + 0xa00]
mov dword [esp + 0x2b8], 0
call fcn.005efbf0
push eax
lea edx, [esp + 0x6c]
push edx
mov ecx, ebx
call fcn.005efd90
push eax
lea ecx, [esp + 0xc0]
call fcn.0048fc40
mov edx, dword [esp + 0x290]
xor eax, eax
test edx, edx
jle 0x422202
jmp 0x4221e0
mov ecx, dword [esp + eax*4 + 0x1d0]
mov cl, byte [ecx + 8]
test cl, cl
je 0x4221f8
cmp cl, 9
je 0x4221f8
cmp cl, 5
jne 0x4221fd
mov byte [esp + 0x1b], 0
inc eax
cmp eax, edx
jl 0x4221e0
lea ecx, [esp + 0xb0]
mov dword [esp + 0x2ac], 0xffffffff
call fcn.005f07e0
mov al, byte [esp + 0x1b]
test al, al
je 0x422321
mov ebx, dword [esi + 0x20c]
mov edx, dword [esp + 0x1c]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push ecx
mov dword [eax], 0
mov eax, esp
mov dword [esp + 0x1c], esp
push ecx
mov dword [eax], 0
mov eax, esp
mov dword [eax], edx
movzx eax, byte [esi + 0x12c2]
mov eax, dword [eax*4 + str._n_v_f_r]
mov dword [esp + 0x20], esp
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
mov dword [ecx], eax
push edi
mov ecx, esi
call fcn.00402f40
movzx eax, al
lea ecx, [eax + eax*4]
mov edx, dword [ecx*4 + 0x6eb770]
push edi
mov ecx, esi
mov dword [esp + 0x28], edx
call fcn.00402f00
mov ecx, dword [esp + 0x24]
movzx eax, al
mov edx, dword [ecx + eax*4 + 4]
movzx eax, word [edx + 2]
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push ecx
mov dword [ecx], eax
mov eax, esp
mov dword [esp + 0x2c], esp
push esi
push 0x1f
lea ecx, [esp + 0x80]
mov dword [eax], edi
call fcn.00401d20
mov ecx, dword [ebx]
test ecx, ecx
je 0x4222f3
push eax
push 0xb
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x4222f3
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push edi
mov ecx, esi
call fcn.0041d590
or dword [esi + 4], 0x100
mov eax, dword [0x725b2c]
mov dword [esi + 0x8b4], eax
xor ebx, ebx
jmp 0x42232a
cmp edi, 0x7e
je 0x422321
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push edi
mov ecx, esi
call fcn.0041d590
mov word [esi + 0x80], 0x8a
mov ecx, dword [0x725b2c]
mov dword [esi + 0x8b4], ecx
xor ebx, ebx
jmp 0x42232a
xor ebx, ebx
mov ecx, esi
call fcn.0041f020
mov ecx, dword [esi + 0x1d8]
cmp ecx, ebx
je 0x4223c7
movzx eax, word [esi + 0x80]
mov edi, 0x59df
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], 4
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov eax, dword [ecx]
cmp eax, ebx
je 0x42237f
lea edx, [esp + 0x60]
push edx
push 0xb
push ecx
call eax
add esp, 0xc
cmp eax, ebx
jne 0x4223c7
mov ecx, dword [esi + 0x20c]
cmp ecx, ebx
je 0x4223c7
movzx eax, word [esi + 0x80]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov eax, dword [ecx]
cmp eax, ebx
je 0x4223c7
lea edx, [esp + 0x30]
push edx
push 0xb
push ecx
call eax
add esp, 0xc
mov ecx, dword [esp + 0x2a4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4