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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x124
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x168]
push ebx
push esi
xor esi, esi
cmp ecx, esi
push edi
mov dword [esp + 0x3c], esi
jle 0x4de0ae
mov dword [esp + 0x24], esi
jmp 0x4dda50
xor esi, esi
mov edi, edi
mov eax, dword [eax + 0x16c]
mov edi, dword [esp + 0x24]
mov ecx, dword [eax + edi + 0x18]
add eax, edi
sub ecx, esi
mov dword [esp + 0x14], eax
je 0x4dda95
dec ecx
jne 0x4dda8d
mov eax, dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x4dda8d
mov ecx, dword [0x8cf5f8]
lea eax, [eax + eax*8]
mov edx, dword [ecx + eax*8 + 0x44]
mov ebx, dword [ecx + eax*8 + 0x40]
lea eax, [ecx + eax*8]
mov dword [esp + 0x34], edx
jmp 0x4dda9f
xor ebx, ebx
mov dword [esp + 0x34], esi
jmp 0x4dda9f
mov ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x34], eax
xor eax, eax
cmp ebx, 0xffffffff
jne 0x4ddac3
cmp eax, esi
jne 0x4ddac3
mov ecx, dword [esp + 0x34]
push ecx
mov ecx, dword [0x916514]
push ebx
call fcn.00467180
mov edi, dword [0x916514]
jmp 0x4ddaf2
mov edx, dword [esp + 0x34]
push edx
push ebx
mov eax, 0x8d68e0
call fcn.0043b2d0
cmp eax, 0xffffffff
je 0x4de086
mov ecx, dword [0x8d68e8]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 8]
shl eax, 5
mov edi, dword [eax + 0x8d725c]
cmp edi, esi
je 0x4de086
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x78]
test eax, eax
jne 0x4ddb0e
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0x3c]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xa8]
mov esi, eax
test esi, esi
je 0x4ddba0
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
add ecx, 0x68
movss dword [esi + 0x20], xmm0
mov ax, word [ecx]
cmp ax, 0xffff
mov dword [esp + 0x1c], ecx
je 0x4ddba0
mov edx, dword [0x8cf1b4]
movsx eax, ax
imul eax, eax, 0x98
mov eax, dword [eax + edx + 0x84]
test eax, eax
jne 0x4ddb6c
mov eax, ecx
mov edi, 0x8ce750
call fcn.0043b280
test eax, eax
mov ecx, dword [esp + 0x1c]
je 0x4ddba0
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x70], 0xffffffff
je 0x4ddba0
call fcn.00573c60
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x70]
mov eax, dword [0x91a2c0]
mov eax, dword [eax + edx*8]
add eax, dword [0x91a2d4]
push eax
mov eax, esi
call fcn.00532130
push eax
xor eax, eax
call fcn.00573d30
mov eax, dword [esp + 0x34]
mov ecx, ebx
or ecx, eax
je 0x4de086
push eax
push ebx
mov ecx, 0x8d68e0
call fcn.004013f0
mov ebx, eax
test ebx, ebx
je 0x4de086
test byte [0x95c920], 1
jne 0x4ddbe8
or dword [0x95c920], 1
mov dword [0x95c918], 0x70c7ec
call fcn.0042ebc0
mov dword [0x95c91c], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
cmp eax, 0x95c918
je 0x4ddc14
jmp 0x4ddc00
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x4de086
mov eax, ecx
cmp eax, 0x95c918
jne 0x4ddc00
movss xmm0, dword [ebx + 0x40]
mov eax, dword [ebx]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [ebx + 0x44]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [ebx + 0x48]
mov ecx, ebx
movss dword [esp + 0x48], xmm0
call dword [eax + 0x1b0]
fstp dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x38]
xor ecx, ecx
sub eax, ecx
je 0x4ddc7d
dec eax
jne 0x4ddc77
mov eax, dword [esi + 0x2c]
cmp eax, 0xffffffff
je 0x4ddc77
mov edx, dword [0x8cf5f8]
lea ecx, [eax + eax*8]
lea eax, [edx + ecx*8]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp 0x4ddc8b
mov dword [esp + 0x28], ecx
jmp 0x4ddc87
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x28]
lea edi, [esp + 0x6c]
call fcn.0042fa00
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x4ddf58
movss xmm0, dword [edi + 0x48]
movss xmm1, dword [edi + 0x44]
movss xmm2, dword [edi + 0x40]
lea ecx, [edi + 0x10]
lea edx, [esp + 0xb8]
push edx
movss dword [esp + 0x54], xmm2
movss dword [esp + 0x58], xmm1
movss dword [esp + 0x5c], xmm0
call fcn.0043f160
movss xmm0, dword [eax + 4]
movss xmm1, dword [ebx + 0x40]
movss xmm2, dword [ebx + 0x44]
movss xmm3, dword [ebx + 0x48]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x50]
subss xmm0, xmm1
movss xmm1, dword [esp + 0x54]
movaps xmm4, xmm0
mulss xmm4, xmm0
subss xmm1, xmm2
movss xmm2, dword [esp + 0x58]
subss xmm2, xmm3
movss xmm3, dword [esi + 0x40]
movaps xmm0, xmm1
mulss xmm0, xmm1
addss xmm4, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm4, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
comiss xmm4, xmm0
jbe 0x4dde2b
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
xor ecx, ecx
mov cl, byte [edi + 0x76]
xor eax, eax
mov ax, word [ebx + 0x76]
xor cl, al
and ecx, 0xff
xor ecx, eax
cmp cx, ax
je 0x4ddd8d
push ecx
mov ecx, ebx
call fcn.005053b0
mov ax, word [ebx + 0x76]
xor ecx, ecx
mov cl, byte [edi + 0x76]
xor cl, al
and ecx, 0xff
xor cx, word [edi + 0x76]
cmp cx, ax
je 0x4dddaf
push ecx
mov ecx, ebx
call fcn.005053b0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c4]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
push eax
push ecx
lea eax, [esp + 0xf0]
call fcn.0043b700
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, [esp + 0x80]
call fcn.0043b700
mov eax, dword [esp + 0x80]
add esp, 0x10
test eax, eax
je 0x4dde06
lea ecx, [eax - 8]
lea edx, [esp + 0x74]
cmp ecx, edx
je 0x4dde06
add eax, 0xfffffff8
push eax
call fcn.0062a450
add esp, 4
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x4dde2b
lea ecx, [eax - 8]
lea edx, [esp + 0xec]
cmp ecx, edx
je 0x4dde2b
add eax, 0xfffffff8
push eax
call fcn.0062a450
add esp, 4
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1b0]
fsubr dword [esp + 0x20]
fadd dword [0x738a68]
fstp dword [esp + 0x18]
fld dword [0x738bec]
fld dword [esp + 0x18]
fcompi st(1)
fstp st(0)
ja 0x4dde66
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [0x738be8]
comiss xmm1, xmm0
jbe 0x4dde7f
fld dword [esp + 0x18]
fld qword [0x738be0]
call fcn.006dab4a
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [0x738bb8]
comiss xmm0, xmm1
jb 0x4dde99
lea esp, [esp]
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x4dde90
xorps xmm2, xmm2
comiss xmm2, xmm0
jbe 0x4ddeaa
addss xmm0, xmm1
comiss xmm2, xmm0
ja 0x4ddea1
subss xmm0, dword [0x738a68]
comiss xmm2, xmm0
subss xmm2, xmm0
ja 0x4ddebe
movaps xmm2, xmm0
comiss xmm2, dword [esi + 0x44]
jbe 0x4ddf58
mov eax, dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
mov edx, dword [ebx]
push eax
mov ecx, ebx
movss dword [esp + 0x20], xmm0
call dword [edx + 0x1b8]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
push ecx
push edx
lea eax, [esp + 0xcc]
call fcn.0043b700
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea eax, [esp + 0xa4]
call fcn.0043b700
mov eax, dword [esp + 0xa4]
add esp, 0x10
test eax, eax
je 0x4ddf33
lea edx, [eax - 8]
lea ecx, [esp + 0x98]
cmp edx, ecx
je 0x4ddf33
add eax, 0xfffffff8
push eax
call fcn.0062a450
add esp, 4
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x4ddf58
lea edx, [eax - 8]
lea ecx, [esp + 0xc8]
cmp edx, ecx
je 0x4ddf58
add eax, 0xfffffff8
push eax
call fcn.0062a450
add esp, 4
mov edi, dword [ebx + 0x46c]
test edi, edi
je 0x4de059
mov edx, dword [edi + 0xc0]
lea esi, [edi + 0xc0]
mov ecx, esi
call dword [edx + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x7c], ecx
mov edx, dword [edi + 0xc8]
mov dword [eax + 0x80], edx
mov edx, dword [esi + 0x30]
mov ecx, 0xfffffff9
and edx, ecx
mov dword [esi + 0x30], edx
mov esi, dword [edi + 0x138]
mov edx, dword [ebp + 8]
and esi, ecx
mov dword [edi + 0x138], esi
mov ecx, dword [eax + 0x74]
or ecx, 0x200010
push ecx
mov ecx, dword [edx + 0x9c]
mov edx, dword [eax + 0x70]
push ecx
mov ecx, dword [0x91a2c0]
mov edx, dword [ecx + edx*8]
add edx, dword [0x91a2d4]
push edx
lea esi, [eax + 0x68]
push edi
call fcn.00524160
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x74]
test ch, 0x40
je 0x4de019
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
movss xmm0, dword [esp + 0x1c]
lea ecx, [edi + 0x960]
mov dword [ecx], edx
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
movss dword [edi + 0x970], xmm0
or dword [edi + 0x630], 0x36
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
lea eax, [esp + 0x114]
call fcn.0043b700
mov eax, dword [esp + 0x114]
add esp, 8
test eax, eax
je 0x4de055
lea ecx, [eax - 8]
lea edx, [esp + 0x110]
cmp ecx, edx
je 0x4de055
add eax, 0xfffffff8
push eax
call fcn.0062a450
add esp, 4
mov esi, dword [esp + 0x14]
call fcn.00451ca0
mov edi, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
cmp eax, edi
je 0x4de07d
jmp 0x4de070
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x4de086
mov eax, ecx
cmp eax, edi
jne 0x4de070
mov ecx, dword [esi + 0x78]
mov dword [ebx + 0x10bc], ecx
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x168]
inc ecx
add esi, 0x88
cmp ecx, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], esi
jl 0x4dda4c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4