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

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
cmp word [ebp + 0x132], bx
jne 0x441c20
call fcn.00441891
xor eax, eax
mov byte [esp + 0x13], bl
cmp ax, word [ebp + 8]
jae 0x442315
mov dword [esp + 0x18], 3
movzx eax, bl
imul edi, eax, 0x120
add edi, dword [ebp + 0x150]
mov ecx, edi
call fcn.00441b87
mov edx, edi
mov ecx, ebp
call fcn.004409db
cmp byte [edi + 0x48], 0
je 0x441c7b
mov eax, dword [edi + 0x10]
cmp byte [eax + 3], 0
jne 0x441c6c
cmp byte [eax + 4], 0
jne 0x441c7b
mov edx, edi
mov word [edi + 0x48], 0
mov ecx, ebp
call fcn.00440fc6
cmp byte [edi + 0x60], 0
je 0x441ca9
mov ecx, dword [edi + 0x10]
mov al, byte [ecx + 3]
cmp al, 4
je 0x441ca9
cmp al, 6
je 0x441ca9
mov al, byte [ecx + 2]
and al, 0xf0
cmp al, 0xb0
je 0x441ca9
and dword [edi + 0x6c], 0
mov edx, edi
mov ecx, ebp
mov byte [edi + 0x60], 0
call fcn.00440fc6
mov eax, dword [edi + 0x10]
mov dl, byte [eax + 2]
movzx eax, dl
shr eax, 4
sub eax, 6
je 0x441d48
sub eax, 1
je 0x441d38
sub eax, 4
je 0x441d19
dec eax
sub eax, 1
je 0x441d09
sub eax, 1
je 0x441cf2
sub eax, 1
jne 0x441d5d
xor ecx, ecx
cmp word [ebp + 0x132], cx
je 0x441d5f
mov edx, edi
mov ecx, ebp
call fcn.00440b13
jmp 0x441d5d
xor ecx, ecx
cmp word [ebp + 0x132], cx
je 0x441d5f
shl dl, 4
mov ecx, edi
call fcn.00440bdf
jmp 0x441d5d
xor ecx, ecx
cmp word [ebp + 0x132], cx
je 0x441d5f
and dl, 0xf
jmp 0x441d00
xor ecx, ecx
cmp word [ebp + 0x132], cx
je 0x441d5f
movzx eax, byte [edi + 0x69]
mov edx, edi
mov byte [edi + 0x60], cl
mov ecx, ebp
push eax
call fcn.00440abc
pop ecx
jmp 0x441d5d
xor ecx, ecx
cmp word [ebp + 0x132], cx
je 0x441d5f
shl dl, 4
jmp 0x441d56
xor ecx, ecx
cmp word [ebp + 0x132], cx
je 0x441d5f
and dl, 0xf
mov ecx, edi
call fcn.00440c55
xor ecx, ecx
mov esi, dword [edi + 0x10]
movzx eax, byte [esi + 3]
cmp eax, 7
ja 0x441fcc
je 0x441f71
sub eax, ecx
je 0x441e64
sub eax, 1
je 0x441e43
sub eax, 1
je 0x441e34
sub eax, 1
je 0x441e19
sub eax, 1
je 0x441df2
sub eax, 1
je 0x441dcd
sub eax, 1
jne 0x441eb4
cmp word [ebp + 0x132], cx
je 0x441eb4
inc eax
mov edx, edi
mov byte [edi + 0x60], al
mov ecx, ebp
movzx eax, byte [edi + 0x69]
push eax
call fcn.00440abc
pop ecx
jmp 0x441de3
cmp word [ebp + 0x132], cx
je 0x441eb4
mov edx, edi
mov ecx, ebp
call fcn.00440b13
mov dl, byte [edi + 0x4a]
mov ecx, edi
call fcn.00440c55
jmp 0x441eb4
cmp word [ebp + 0x132], cx
je 0x441eb4
xor eax, eax
mov edx, edi
inc eax
mov ecx, ebp
mov byte [edi + 0x60], al
movzx eax, byte [edi + 0x69]
push eax
call fcn.00440abc
pop ecx
jmp 0x441eb4
cmp word [ebp + 0x132], cx
je 0x441eb4
mov edx, edi
mov ecx, ebp
call fcn.00440b13
jmp 0x441eb4
cmp word [ebp + 0x132], cx
je 0x441eb4
movzx eax, byte [edi + 0x4f]
jmp 0x441e52
cmp word [ebp + 0x132], cx
je 0x441eb4
movzx eax, byte [edi + 0x4e]
neg eax
movd xmm2, eax
mov edx, edi
cvtdq2ps xmm2, xmm2
mov ecx, ebp
call fcn.00440bb6
jmp 0x441eb4
mov bl, byte [esi + 4]
test bl, bl
je 0x441eb0
movzx eax, word [ebp + 0x120]
xor edx, edx
div dword [esp + 0x18]
movsx eax, dl
sub eax, ecx
je 0x441f25
sub eax, 1
je 0x441f14
sub eax, 1
jne 0x441eb0
inc eax
cmp word [ebp + 0x132], ax
jne 0x441f14
mov byte [edi + 0x48], al
mov al, byte [esi + 4]
shr al, 4
mov byte [edi + 0x49], al
mov edx, edi
mov ecx, ebp
call fcn.00440fc6
mov bl, byte [esp + 0x13]
movss xmm0, dword [edi + 0x2c]
subss xmm0, dword [0x4f27ac]
push ecx
push ecx
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0044f73f
cmp byte [edi + 0x7d], 0
movss xmm0, dword [0x4f27ac]
movss xmm3, dword [edi + 0x3c]
subss xmm3, xmm0
fstp dword [esp + 0x1c]
subss xmm0, dword [esp + 0x1c]
pop ecx
pop ecx
mulss xmm3, xmm0
addss xmm3, xmm3
addss xmm3, dword [edi + 0x2c]
movss dword [esp + 0x20], xmm3
je 0x44227d
and dword [esp + 0x14], 0
jmp 0x4422ae
cmp word [ebp + 0x132], cx
jne 0x441f25
mov word [edi + 0x48], 0
jmp 0x441ea7
mov cx, word [ebp + 0x132]
movsx ax, dl
xor edx, edx
push 3
sub cx, ax
movzx eax, cx
pop ecx
div ecx
xor eax, eax
sub edx, eax
je 0x441f68
sub edx, 1
je 0x441f60
sub edx, 1
jne 0x441ea7
inc eax
shr bl, 4
mov byte [edi + 0x48], al
mov byte [edi + 0x49], bl
jmp 0x441ea7
xor eax, eax
inc eax
and bl, 0xf
jmp 0x441f55
mov word [edi + 0x48], ax
jmp 0x441ea7
cmp word [ebp + 0x132], cx
je 0x441eb4
mov dl, byte [edi + 0x76]
mov bl, byte [edi + 0x75]
mov al, dl
inc al
mov cl, bl
shr cl, 4
mov byte [edi + 0x76], al
movzx eax, dl
movzx edx, cl
mov ecx, dword [edi + 0x70]
imul edx, eax
call fcn.004408f3
mulss xmm0, dword [0x4f293c]
and bl, 0xf
movzx eax, bl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
divss xmm0, dword [0x4f2888]
movss dword [edi + 0x78], xmm0
jmp 0x441eb0
sub eax, 0xa
je 0x44226b
sub eax, 4
je 0x4421d7
push 3
pop edx
sub eax, edx
je 0x442128
sub eax, edx
je 0x4420f7
sub eax, 5
je 0x4420db
dec eax
sub eax, 1
je 0x44203e
dec eax
sub eax, 1
jne 0x441eb4
movzx edx, word [ebp + 0x132]
test dx, dx
je 0x441eb4
movzx eax, byte [edi + 0x7c]
mov esi, eax
and eax, 0xf
shr esi, 4
lea ecx, [eax + 2]
lea eax, [edx - 1]
add ecx, esi
cdq
idiv ecx
cmp edx, esi
setg al
mov byte [edi + 0x7d], al
jmp 0x441eb4
movzx eax, word [ebp + 0x132]
test ax, ax
je 0x441eb4
mov cl, byte [edi + 0x5c]
test cl, 0xf
je 0x441eb4
movzx ecx, cl
and ecx, 0xf
cdq
idiv ecx
test edx, edx
jne 0x441eb4
push 9
mov edx, edi
mov ecx, ebp
call fcn.004417a9
mov eax, dword [edi + 0x10]
pop ecx
cmp byte [eax + 2], 0
jne 0x441eb4
mov eax, dword [edi + 8]
cmp byte [eax + 0x96], 0
jne 0x441eb4
movzx eax, byte [edi + 0x5c]
xorps xmm1, xmm1
shr eax, 4
movss xmm0, dword [eax*4 + 0x481180]
movss xmm2, dword [eax*4 + 0x4811c0]
mulss xmm0, dword [0x4f2770]
mulss xmm2, dword [edi + 0x28]
addss xmm2, xmm0
movss xmm0, dword [0x4f27dc]
maxss xmm1, xmm2
minss xmm0, xmm1
movss dword [edi + 0x28], xmm0
jmp 0x441eb4
cmp word [ebp + 0x132], cx
je 0x441eb4
mov dl, byte [edi + 0x4d]
mov ecx, edi
call fcn.00440bdf
jmp 0x441eb4
movzx eax, byte [esi + 4]
cmp word [ebp + 0x132], ax
jne 0x441eb4
mov eax, dword [edi + 8]
mov byte [edi + 0x32], cl
test eax, eax
je 0x44211f
cmp byte [eax + 0x96], 0
jne 0x441eb4
and dword [edi + 0x28], 0
jmp 0x441eb4
cmp word [ebp + 0x132], cx
je 0x441eb4
mov dl, byte [edi + 0x4c]
mov ah, dl
mov bl, dl
and ah, 0xf
setne cl
and bl, 0xf0
setne al
test al, cl
jne 0x441eb0
test bl, bl
mov bl, byte [esp + 0x13]
je 0x442199
shr dl, 4
movzx eax, dl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2770]
addss xmm0, dword [ebp + 0x124]
comiss xmm0, dword [0x4f27dc]
movss dword [ebp + 0x124], xmm0
jbe 0x441eb4
mov dword [ebp + 0x124], 0x3f800000
jmp 0x441eb4
movss xmm1, dword [ebp + 0x124]
movzx eax, ah
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2770]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss dword [ebp + 0x124], xmm1
jbe 0x441eb4
and dword [ebp + 0x124], 0
jmp 0x441eb4
mov cl, byte [esi + 4]
movzx ebx, cl
mov eax, ebx
shr eax, 4
sub eax, 9
je 0x442235
push 3
pop edx
sub eax, edx
je 0x44221f
sub eax, 1
jne 0x441eb0
movzx eax, byte [edi + 0x5d]
cmp ax, word [ebp + 0x132]
jne 0x441eb0
push esi
mov edx, edi
mov ecx, ebp
call fcn.0044101d
pop ecx
mov ecx, edi
call fcn.00441b87
jmp 0x441eb0
mov bl, byte [esp + 0x13]
and cl, 0xf
movzx eax, cl
cmp ax, word [ebp + 0x132]
jmp 0x442119
movzx eax, word [ebp + 0x132]
test ax, ax
je 0x441eb0
test cl, 0xf
je 0x441eb0
and ebx, 0xf
cdq
idiv ebx
test edx, edx
jne 0x441eb0
xor eax, eax
mov edx, edi
inc eax
mov ecx, ebp
push eax
call fcn.004417a9
jmp 0x442212
cmp word [ebp + 0x132], cx
je 0x441eb4
jmp 0x441de3
movss xmm0, dword [edi + 0x78]
xorps xmm1, xmm1
addss xmm0, dword [edi + 0x28]
movss xmm2, dword [0x4f27dc]
maxss xmm1, xmm0
movss xmm0, dword [edi + 0x38]
mulss xmm0, dword [edi + 0x34]
minss xmm2, xmm1
mulss xmm2, xmm0
movss dword [esp + 0x14], xmm2
movss xmm0, dword [0x4f27dc]
subss xmm0, xmm3
push ecx
push ecx
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0044f3d0
movss xmm0, dword [esp + 0x28]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [esp + 0x1c]
cvtps2pd xmm0, xmm0
fstp dword [edi + 0x8c]
movsd qword [esp], xmm0
call fcn.0044f3d0
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
inc bl
fmul dword [esp + 0x1c]
movzx eax, bl
pop ecx
pop ecx
mov byte [esp + 0x13], bl
fstp dword [edi + 0x90]
cmp ax, word [ebp + 8]
jb 0x441c38
movzx eax, word [ebp + 0x144]
movzx ecx, word [ebp + 0x120]
inc word [ebp + 0x132]
add ecx, eax
movzx eax, word [ebp + 0x132]
cmp eax, ecx
jb 0x442347
xor eax, eax
mov word [ebp + 0x132], ax
mov word [ebp + 0x144], ax
mov eax, dword [ebp + 0x11c]
pop edi
pop esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4f2a20]
movzx eax, word [ebp + 0x122]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f27a8]
divss xmm1, xmm0
addss xmm1, dword [ebp + 0x134]
movss dword [ebp + 0x134], xmm1
pop ebp
pop ebx
add esp, 0x14
ret