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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451e3d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa8
mov eax, dword [0x49e040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb4], ecx
mov esi, dword [0x5b5d98]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x78], esi
mov eax, dword [esi + 0x1c48]
mov byte [eax + 0xc5], 1
mov eax, dword [esi + 0x1c48]
mov dword [ebp - 0xa0], eax
cmp byte [eax + 0xc8], 0
jne 0x44bf64
mov ecx, dword [eax + 0xfc]
xor edx, edx
mov eax, dword [eax + 0x104]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xb4]
call fcn.00413ad0
add esp, 4
mov dword [ebp - 0x5c], eax
cmp dword [esi + 0x1c84], eax
jne 0x449f6a
mov dword [esi + 0x1c88], eax
cmp dword [esi + 0x1cbc], eax
jne 0x449f79
mov byte [esi + 0x1cc0], 1
mov eax, dword [ebp - 0xb4]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x449f9c
mov dl, byte [ecx]
test dl, dl
je 0x449f9c
cmp dl, 0x23
jne 0x449f96
cmp byte [ecx + 1], dl
je 0x449f9c
inc ecx
cmp ecx, 0xffffffff
jb 0x449f86
movss xmm0, dword [esi + 0x19d8]
cmp eax, ecx
jne 0x449fb5
xorps xmm6, xmm6
movss dword [ebp - 0xb8], xmm6
jmp 0x44a003
movss xmm3, dword [0x499514]
movaps xmm2, xmm0
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x19d4]
lea eax, [ebp - 0x68]
mov dword [esp], 0xbf800000
push eax
call fcn.00440380
movss xmm0, dword [ebp - 0x68]
xorps xmm6, xmm6
addss xmm0, dword [0x499440]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x64]
test byte [esi + 0x1d5c], 1
movss xmm2, dword [esi + 0x15d4]
movss xmm7, dword [edi]
addss xmm2, xmm2
movss xmm5, dword [edi + 4]
mov ecx, dword [esi + 0x1c48]
movss dword [ebp - 0x80], xmm7
movss dword [ebp - 0x98], xmm5
addss xmm2, xmm0
je 0x44a042
movss xmm0, dword [esi + 0x1d60]
jmp 0x44a04a
movss xmm0, dword [ecx + 0x1e8]
comiss xmm6, xmm0
jbe 0x44a089
cmp dword [ecx + 0x1d0], 0
movss xmm1, dword [ecx + 0x280]
jne 0x44a069
cmp dword [esi + 0x1fec], 0
je 0x44a071
movss xmm1, dword [ecx + 0x250]
subss xmm1, dword [ecx + 0x108]
addss xmm1, xmm0
movss xmm0, dword [0x499448]
maxss xmm0, xmm1
comiss xmm6, xmm7
mov edx, ecx
cvttss2si eax, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x44a0a6
comiss xmm6, xmm5
jbe 0x44a0d0
cmp dword [ecx + 0x1d0], 0
movss xmm0, dword [ecx + 0x280]
movss xmm1, dword [ecx + 0x284]
jne 0x44a0c8
cmp dword [esi + 0x1fec], 0
je 0x44a0d0
movss xmm0, dword [ecx + 0x250]
movss xmm3, dword [0x49949c]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x44a0eb
movaps xmm7, xmm4
movss dword [ebp - 0x80], xmm7
jmp 0x44a10e
comiss xmm6, xmm7
jbe 0x44a10e
subss xmm0, dword [edx + 0x108]
addss xmm7, xmm0
comiss xmm3, xmm7
movss dword [ebp - 0x80], xmm7
jb 0x44a10e
movaps xmm7, xmm3
movss dword [ebp - 0x80], xmm3
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x44a124
movaps xmm5, xmm2
movss dword [ebp - 0x98], xmm5
jmp 0x44a14d
comiss xmm6, xmm5
jbe 0x44a14d
subss xmm1, dword [edx + 0x10c]
addss xmm5, xmm1
comiss xmm3, xmm5
movss dword [ebp - 0x98], xmm5
jb 0x44a14d
movaps xmm5, xmm3
movss dword [ebp - 0x98], xmm3
movss xmm0, dword [ebp - 0xb8]
comiss xmm0, xmm6
jbe 0x44a167
movaps xmm4, xmm0
addss xmm4, dword [esi + 0x15e8]
jmp 0x44a16a
xorps xmm4, xmm4
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x68]
movss xmm3, dword [eax + 0x108]
movss xmm2, dword [eax + 0x10c]
movaps xmm1, xmm3
addss xmm1, xmm7
movss dword [ebp - 0x44], xmm3
movaps xmm0, xmm2
movss dword [ebp - 0x40], xmm2
addss xmm0, xmm5
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x3c], xmm1
movaps xmm1, xmm7
addss xmm1, xmm4
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
addss xmm1, xmm3
movss dword [ebp - 0x18], xmm0
subss xmm0, xmm2
movss dword [ebp - 0x1c], xmm1
subss xmm1, xmm3
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x68], xmm1
movss xmm1, dword [esi + 0x15d4]
call fcn.004211f0
mov edi, dword [ebp - 0x5c]
lea eax, [ebp - 0x44]
push 1
push eax
mov edx, edi
lea ecx, [ebp - 0x24]
call fcn.00421320
add esp, 8
test al, al
je 0x44bf64
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.004163e0
mov dl, al
mov byte [ebp - 0x71], dl
test dl, dl
je 0x44a225
mov dword [esi + 0x1f58], 1
mov edi, dword [0x5b5d98]
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
add edi, 0x2070
cmp dword [edi], eax
mov eax, dword [ebp - 0xa0]
cmovne edi, ecx
mov dword [ebp - 0x9c], edi
mov eax, dword [eax + 0x158]
mov ecx, eax
shr ecx, 8
shr eax, 9
and ecx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x54], eax
test dl, dl
je 0x44a27a
cmp byte [esi + 0x3e0], 0
je 0x44a27a
mov dh, 1
jmp 0x44a27c
xor dh, dh
mov ecx, dword [ebp - 0x5c]
cmp dword [esi + 0x1c84], ecx
mov ecx, dword [ebp - 0x84]
mov byte [ebp - 0x4c], dh
je 0x44a2c2
mov eax, dword [ebp - 0x5c]
cmp dword [esi + 0x1e30], eax
mov eax, dword [ebp - 0x54]
je 0x44a2b8
mov edi, dword [ebp - 0x5c]
cmp dword [esi + 0x1e24], edi
mov edi, dword [ebp - 0x9c]
jne 0x44a2c2
cmp dword [esi + 0x1e48], 2
jne 0x44a2c2
mov byte [ebp - 0x45], 1
mov byte [ebp - 0x58], 1
jmp 0x44a2ca
mov byte [ebp - 0x58], 0
mov byte [ebp - 0x45], 0
mov byte [ebp - 0x70], 0
test edi, edi
je 0x44a2dc
cmp byte [edi + 0x53], 1
je 0x44a2dc
mov dl, 1
jmp 0x44a2de
xor dl, dl
mov byte [ebp - 0x4d], dl
mov dword [ebp - 0x8c], 1
test dh, dh
jne 0x44a301
cmp byte [ebp - 0x45], dh
jne 0x44a301
test cl, cl
jne 0x44a301
test al, al
jne 0x44a301
mov byte [ebp - 0x49], al
jmp 0x44a310
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 0x49], 1
cmp dword [esi + 0x1c84], eax
jne 0x44a318
test dl, dl
je 0x44a4ef
mov ecx, 0x5b5d60
mov dword [esi + 0x2ed8], 0xbe99999a
lea edi, [esi + 0x2070]
mov dword [ebp - 0x9c], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44a336
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x44a373
test eax, eax
je 0x44a35c
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x44a364
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004314e0
push esi
mov dword [edi + 0x24], esi
push 0x5b5d60
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [edi + 0x10]
lea eax, [edi + 0xc]
add esp, 0xc
cmp esi, 0x33
jge 0x44a3be
test esi, esi
je 0x44a3a3
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x44a3a8
mov ecx, 8
mov eax, 0x33
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00431550
lea eax, [edi + 0xc]
mov dword [eax], 0x33
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x44a3e4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.004314e0
mov dword [edi + 0x18], 0
mov eax, 0x5b5d60
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x6c], edx
lea ecx, [edx + 0x62]
cmp edx, ecx
jae 0x44a43e
mov edi, eax
cmp byte [edi], 0
je 0x44a432
push 0
mov edx, edi
lea ecx, [ebp - 0x64]
call fcn.00413d80
mov edx, dword [ebp - 0x6c]
add edi, eax
mov eax, dword [ebp - 0x64]
add esp, 4
test eax, eax
je 0x44a432
mov word [esi], ax
add esi, 2
lea eax, [edx + 0x62]
cmp esi, eax
jb 0x44a405
mov dword [ebp - 0x6c], edi
mov edi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
sub eax, 0x5b5d60
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x5c]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x44a47f
cmp byte [ebp - 0x4d], cl
jne 0x44a47f
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x44a4d0
mov edx, dword [ebp - 0x58]
cmp byte [ebp - 0x84], cl
movzx edx, dl
cmovne edx, dword [ebp - 0x8c]
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe60], ecx
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov word [edi + 0x51], 1
mov dword [edi + 0x58], ecx
mov byte [edi + 0x50], cl
mov byte [edi + 0x53], 1
mov byte [edi + 0x48], cl
mov dword [edi + 0x4c], ecx
mov dword [ebp - 0x58], edx
cmp byte [ebp - 0x54], 0
mov esi, dword [ebp - 0x78]
mov dword [edi + 0x40], ecx
jne 0x44a4eb
cmp byte [ebp - 0x4c], 0
je 0x44a4ef
cmp byte [esi + 0x100], 0
je 0x44a4ef
mov byte [ebp - 0x58], 1
mov ecx, dword [ebp - 0x5c]
cmp dword [esi + 0x1c84], ecx
je 0x44a546
cmp byte [ebp - 0x49], 0
je 0x44a53e
mov edx, dword [ebp - 0xa0]
call fcn.00416120
call fcn.00422aa0
mov ecx, edx
call fcn.00420e10
or dword [esi + 0x1c98], 3
or dword [esi + 0x1c9c], 2
mov eax, dword [esi + 0x1ca4]
or dword [esi + 0x1ca0], 0x180
mov ecx, dword [ebp - 0x5c]
mov dword [esi + 0x1ca4], eax
cmp dword [esi + 0x1c84], ecx
jne 0x44a57b
test edi, edi
jne 0x44a552
call fcn.004161f0
mov ecx, dword [ebp - 0x5c]
cmp dword [esi + 0x1c84], ecx
jne 0x44a57b
cmp byte [esi + 0x3e0], 0
je 0x44a577
mov eax, dword [ebp - 0x70]
cmp byte [ebp - 0x49], 0
movzx eax, al
cmove eax, dword [ebp - 0x8c]
mov dword [ebp - 0x70], eax
mov dh, 1
jmp 0x44a57d
xor dh, dh
mov byte [ebp - 0x4a], dh
test edi, edi
je 0x44a59a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x44a59a
test dh, dh
je 0x44a59a
mov byte [ebp - 0x46], 1
mov byte [ebp - 0x48], 0
jmp 0x44a5b5
xor dl, dl
mov byte [ebp - 0x48], dl
mov byte [ebp - 0x46], dl
test dh, dh
jne 0x44a5b1
mov byte [ebp - 0x46], dh
cmp dword [esi + 0x1c84], ecx
jne 0x44a5c2
test edi, edi
je 0x44a5c2
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x92], 1
jne 0x44a5c9
mov byte [ebp - 0x92], 0
cmp dword [esi + 0x1c84], ecx
jne 0x44a8c5
mov byte [edi + 0xe6e], 0
mov dword [edi + 0x34], 0x32
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [esi + 0xec], 0
movss xmm2, dword [esi + 0x19d8]
mulss xmm2, dword [0x499404]
sete al
cmp byte [ebp - 0x58], 0
mov byte [esi + 0x1c91], al
mov dword [esi + 0x3264], 1
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0x44]
mov al, byte [esi + 0xb8]
mov byte [ebp - 0x47], al
subss xmm7, dword [esi + 0x15d0]
addss xmm7, dword [edi + 0x38]
jne 0x44a7b2
mov cl, byte [ebp - 0x71]
test cl, cl
je 0x44a66f
test al, al
jne 0x44a6d1
cmp byte [esi + 0x3e5], al
jne 0x44a7b2
cmp byte [esi + 0x3e0], 0
je 0x44a728
cmp byte [edi + 0xe6d], 0
jne 0x44a728
test cl, cl
je 0x44a7d0
cmp byte [edi + 0x53], 0
je 0x44a6ab
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.004485c0
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.004488f0
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x44a7cd
cmp byte [esi + 0x3e5], 0
je 0x44a66f
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00448cd0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.00448cd0
mov esi, dword [ebp - 0x78]
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x44a7cd
cmp byte [esi + 0xec], 0
je 0x44a7d0
cmp byte [edi + 0xe6d], 0
jne 0x44a7d9
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x44a767
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x44a7d0
cmp byte [edi + 0x53], 0
je 0x44a781
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.004485c0
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x44a78f
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.004488f0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x44a7cd
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], 1
mov al, byte [ebp - 0x47]
cmp byte [edi + 0xe6d], 0
je 0x44a7e9
cmp byte [esi + 0xec], 0
jne 0x44a7e9
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0x100], 0
je 0x44a7fb
cmp byte [esi + 0x102], 0
je 0x44a808
test al, al
je 0x44a80c
cmp byte [esi + 0x103], 0
je 0x44a80c
mov al, 1
jmp 0x44a80e
xor al, al
cmp dword [esi + 0x1510], 0
jle 0x44a8c5
test al, al
jne 0x44a88d
cmp byte [ebp - 0x45], al
jne 0x44a88d
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
nop dword [eax]
mov eax, dword [esi + 0x1518]
movzx ecx, word [eax + ecx*2]
cmp ecx, 9
jne 0x44a848
cmp byte [esi + 0x101], 0
jne 0x44a87e
cmp ecx, 0x20
jb 0x44a87e
cmp ecx, 0x7f
je 0x44a87e
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x44a87e
push ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00448cd0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0x6c]
inc ecx
mov dword [ebp - 0x6c], ecx
cmp ecx, dword [esi + 0x1510]
jl 0x44a830
mov ecx, dword [esi + 0x1514]
lea eax, [esi + 0x1510]
test ecx, ecx
jns 0x44a8bf
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x1510]
call fcn.00431550
lea eax, [esi + 0x1510]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
xor cl, cl
mov byte [ebp - 0x45], cl
cmp dword [esi + 0x1c84], eax
jne 0x44b054
cmp byte [esi + 0x1c90], cl
jne 0x44b054
cmp byte [ebp - 0x70], cl
jne 0x44b054
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [esi + 0x15d4]
mov ecx, dword [ebp - 0x8c]
divss xmm0, dword [esi + 0x19d8]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
mov ecx, 0x400000
cmp byte [esi + 0x101], al
cmovne eax, ecx
mov dword [ebp - 0x54], eax
mov al, byte [esi + 0xb8]
mov byte [ebp - 0x72], al
test al, al
je 0x44a948
cmp dword [esi + 0x380], 0xa
jne 0x44a948
mov byte [ebp - 0x4b], 1
jmp 0x44a950
mov byte [ebp - 0x4b], 0
test al, al
je 0x44a975
cmp byte [esi + 0x103], 0
mov al, byte [esi + 0x102]
mov byte [ebp - 0x49], al
je 0x44a982
cmp byte [esi + 0x100], 0
jne 0x44a982
test al, al
jne 0x44a982
mov byte [ebp - 0x4c], 1
jmp 0x44a986
mov al, byte [esi + 0x100]
mov byte [ebp - 0x49], al
mov byte [ebp - 0x4b], 0
mov byte [ebp - 0x4c], 0
cmp byte [esi + 0xb8], 0
mov eax, dword [esi + 0x380]
je 0x44a99a
cmp eax, 8
jmp 0x44a99d
cmp eax, 1
sete al
mov byte [ebp - 0x47], al
test al, al
mov eax, dword [0x5b5d98]
je 0x44a9c4
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x44a9c4
call fcn.0041ace0
test al, al
jne 0x44a9dd
mov eax, dword [0x5b5d98]
cmp dword [esi + 0x380], 2
jne 0x44a9e3
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x44a9e3
call fcn.0041ace0
test al, al
je 0x44a9e3
mov byte [ebp - 0x4d], 1
jmp 0x44a9e7
mov byte [ebp - 0x4d], 0
cmp byte [ebp - 0x47], 0
mov eax, dword [0x5b5d98]
je 0x44aa07
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x44aa07
call fcn.0041ace0
test al, al
jne 0x44aa20
mov eax, dword [0x5b5d98]
cmp dword [esi + 0x380], 1
jne 0x44aa29
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x44aa29
call fcn.0041ace0
test al, al
je 0x44aa29
mov byte [ebp - 0x91], 1
jmp 0x44aa30
mov byte [ebp - 0x91], 0
cmp byte [ebp - 0x47], 0
mov eax, dword [0x5b5d98]
je 0x44aa50
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x44aa50
call fcn.0041ace0
test al, al
jne 0x44aa69
mov eax, dword [0x5b5d98]
cmp dword [esi + 0x380], 2
jne 0x44aa6f
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x44aa6f
call fcn.0041ace0
test al, al
je 0x44aa6f
mov byte [ebp - 0x71], 1
jmp 0x44aa73
mov byte [ebp - 0x71], 0
mov al, byte [ebp - 0x47]
test al, al
je 0x44aa9f
mov ecx, dword [0x5b5d98]
mov ecx, dword [ecx + 0x88]
test ecx, ecx
js 0x44aa9f
call fcn.0041ace0
test al, al
je 0x44aa9c
mov byte [ebp - 0x85], 1
jmp 0x44aaaa
mov al, byte [ebp - 0x47]
mov byte [ebp - 0x85], 0
test al, al
je 0x44aac2
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x44aac7
call fcn.0041ace0
test al, al
jne 0x44aae0
mov eax, dword [0x5b5d98]
cmp byte [ebp - 0x4b], 0
je 0x44aae6
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x44aae6
call fcn.0041ace0
test al, al
je 0x44aae6
mov byte [ebp - 0x4b], 1
jmp 0x44aaea
mov byte [ebp - 0x4b], 0
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x44ab46
call fcn.0041ace0
test al, al
je 0x44ab41
cmp byte [ebp - 0x4c], 0
je 0x44ab1d
mov ecx, 0x200004
lea edx, [edi + 0x3c]
or ecx, dword [ebp - 0x54]
push ecx
mov ecx, edi
call fcn.00448cd0
jmp 0x44b023
mov ecx, 0x200000
mov eax, 0x20000c
cmp byte [ebp - 0x49], 0
lea edx, [edi + 0x3c]
cmovne ecx, eax
or ecx, dword [ebp - 0x54]
push ecx
mov ecx, edi
call fcn.00448cd0
jmp 0x44b023
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x44ab83
call fcn.0041ace0
test al, al
je 0x44ab7e
cmp byte [ebp - 0x4c], 0
je 0x44ab74
mov ecx, 0x200005
lea edx, [edi + 0x3c]
or ecx, dword [ebp - 0x54]
push ecx
mov ecx, edi
call fcn.00448cd0
jmp 0x44b023
mov ecx, 0x200001
lea eax, [ecx + 0xc]
jmp 0x44ab27
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x44abc2
call fcn.0041ace0
test al, al
je 0x44abbd
mov ecx, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [esi + 0x100], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.00448cd0
jmp 0x44b023
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x44ac01
call fcn.0041ace0
test al, al
je 0x44abfc
mov ecx, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [esi + 0x100], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.00448cd0
jmp 0x44b023
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x44ac2e
call fcn.0041ace0
test al, al
je 0x44ac29
mov eax, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
or eax, 0x200008
mov ecx, edi
push eax
call fcn.00448cd0
jmp 0x44b023
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x44acb8
call fcn.0041ace0
test al, al
je 0x44acb3
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x44ac9b
cmp byte [ebp - 0x49], 0
je 0x44ac57
push 0x60000c
jmp 0x44ac7d
cmp byte [ebp - 0x72], 0
je 0x44ac9b
cmp byte [esi + 0x103], 0
je 0x44ac9b
cmp byte [esi + 0x102], 0
jne 0x44ac9b
cmp byte [esi + 0x100], 0
jne 0x44ac9b
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00448cd0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov eax, dword [ebp - 0x54]
lea edx, [edi + 0x3c]
or eax, 0x200009
mov ecx, edi
push eax
call fcn.00448cd0
jmp 0x44b023
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x44accd
call fcn.0041ace0
test al, al
jne 0x44acdd
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x44aceb
call fcn.0041ace0
test al, al
je 0x44ace6
mov byte [ebp - 0x70], 1
jmp 0x44b037
mov eax, dword [0x5b5d98]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x44ad0a
call fcn.0041ace0
test al, al
je 0x44ad05
mov cl, 1
mov byte [ebp - 0x70], cl
jmp 0x44b03a
mov eax, dword [0x5b5d98]
mov cl, byte [ebp - 0x85]
test cl, cl
jne 0x44b004
cmp byte [ebp - 0x4b], cl
jne 0x44b004
cmp byte [ebp - 0x47], cl
je 0x44ad4f
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x44ad4f
call fcn.0041ace0
test al, al
je 0x44ad4f
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x44b030
mov al, byte [ebp - 0x4d]
test al, al
jne 0x44aef9
cmp byte [ebp - 0x91], al
jne 0x44aef9
cmp byte [ebp - 0x71], al
je 0x44b037
mov ecx, dword [0x5b5d98]
mov eax, dword [ecx + 0xd8]
test eax, eax
je 0x44ad9c
push dword [ecx + 0xe0]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x44b037
mov ecx, dword [0x5b5d98]
jmp 0x44ada1
mov esi, 0x4534f9
mov edx, esi
lea eax, [edx + 1]
mov dword [ebp - 0x64], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x44adb0
sub edx, dword [ebp - 0x64]
test ecx, ecx
je 0x44adc4
inc dword [ecx + 0x374]
lea eax, [edx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x58], eax
cmp byte [esi], al
je 0x44ae36
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x64]
call fcn.00413d80
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x44ae24
cmp eax, 0x20
jb 0x44ae1f
cmp eax, 0xffff
ja 0x44ae1f
mov ecx, dword [ebp - 0x84]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x44adf0
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x58]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x44aed6
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x44ae6a
cmp ecx, eax
jle 0x44ae5a
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x44ae63
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x44ae6a
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x44ae72
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00448c40
push dword [ebp - 0x58]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [ebp - 0x84]
call fcn.004487a0
add esp, 8
test al, al
je 0x44aeb5
push dword [ebp - 0x58]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push 0
call fcn.00449bd0
mov eax, dword [ebp - 0x58]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x44aec9
movzx eax, word [edi + 0xe5a]
test ax, ax
je 0x44aec9
dec eax
mov word [edi + 0xe5a], ax
mov ecx, dword [ebp - 0x84]
mov byte [edi + 0xe6c], 1
test ecx, ecx
je 0x44aee9
mov eax, dword [0x5b5d98]
test eax, eax
je 0x44aee9
dec dword [eax + 0x374]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push ecx
call eax
add esp, 4
jmp 0x44b037
cmp dword [esi + 0xdc], 0
je 0x44afc5
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x44af1a
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x44af1f
mov ecx, dword [edi + 4]
xor esi, esi
mov al, byte [ebp - 0x46]
mov byte [ebp - 0x46], al
mov al, byte [ebp - 0x48]
mov byte [ebp - 0x48], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x6c], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.00413fc0
lea ecx, [eax + 1]
mov eax, dword [0x5b5d98]
mov dword [ebp - 0x64], ecx
test eax, eax
je 0x44af57
inc dword [eax + 0x374]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push ecx
call eax
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x6c]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x7c]
push ecx
mov ecx, esi
call fcn.00413ef0
mov eax, dword [0x5b5d98]
add esp, 8
mov ecx, dword [eax + 0xdc]
test ecx, ecx
je 0x44afa9
push esi
push dword [eax + 0xe0]
call ecx
mov eax, dword [0x5b5d98]
add esp, 8
test esi, esi
je 0x44afb7
test eax, eax
je 0x44afb7
dec dword [eax + 0x374]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0x4d]
add esp, 4
test al, al
je 0x44b037
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x44afe5
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x44b037
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00448c40
mov byte [edi + 0x52], 0
jmp 0x44b037
movzx eax, cl
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.00448cd0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov cl, byte [ebp - 0x45]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x44b04c
cmp byte [ebp - 0x4a], 0
je 0x44b04c
mov al, 1
jmp 0x44b04e
xor al, al
or byte [ebp - 0x46], al
mov esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x5c]
mov ch, byte [ebp - 0x48]
cmp dword [esi + 0x1c84], eax
jne 0x44b3a3
test cl, cl
je 0x44b29c
mov eax, dword [edi + 0x2c]
mov ecx, eax
mov dword [ebp - 0x58], eax
mov eax, 0x5b5d60
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44b0a0
test dl, dl
je 0x44b09c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44b0a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x44b080
xor eax, eax
jmp 0x44b0a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x44b382
mov eax, dword [edi + 0x24]
xor edx, edx
dec eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], edx
test eax, eax
jle 0x44b1e5
mov ecx, dword [ebp - 0x58]
mov esi, ecx
lea edi, [eax + ecx]
xor eax, eax
mov dword [ebp - 0x8c], eax
test edi, edi
je 0x44b0e6
cmp esi, edi
jae 0x44b10a
cmp byte [esi], 0
je 0x44b10a
push edi
mov edx, esi
lea ecx, [ebp - 0x64]
call fcn.00413d80
add esi, eax
add esp, 4
cmp dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x8c]
je 0x44b10a
inc eax
jmp 0x44b0d8
mov edi, dword [ebp - 0x9c]
lea edx, [eax + 1]
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x84], edx
test edx, edx
jle 0x44b15e
mov eax, 8
mov ecx, edx
cmp edx, eax
cmovl ecx, eax
mov dword [ebp - 0x64], ecx
test ecx, ecx
jle 0x44b15e
mov eax, dword [0x5b5d98]
test eax, eax
je 0x44b142
inc dword [eax + 0x374]
lea eax, [ecx + ecx]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [ebp - 0x64]
add esp, 4
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x8c], eax
lea ecx, [eax - 2]
lea ecx, [ecx + edx*2]
mov dword [ebp - 0xac], ecx
cmp eax, ecx
jae 0x44b1dd
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x7c]
nop
test edi, edi
je 0x44b198
cmp esi, edi
jae 0x44b1ce
cmp byte [esi], 0
je 0x44b1ce
push edi
mov edx, esi
lea ecx, [ebp - 0x64]
call fcn.00413d80
mov ecx, dword [ebp - 0x64]
add esi, eax
mov eax, dword [ebp - 0x8c]
add esp, 4
test ecx, ecx
je 0x44b1ce
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebp - 0xac]
jb 0x44b190
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x6c]
lea ecx, [edx - 1]
xor edx, edx
test eax, eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x64], eax
cmovle ecx, edx
push ecx
mov dword [ebp - 0x8c], ecx
lea ecx, [edi + 0x5c]
push eax
call fcn.00449bd0
add esp, 8
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x44b233
mov edx, dword [ebp - 0x64]
xor ecx, ecx
test edx, edx
jle 0x44b233
mov esi, eax
nop word [eax + eax]
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [esi + ecx*2], ax
inc ecx
cmp ecx, edx
jl 0x44b220
mov esi, dword [ebp - 0x78]
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.00448740
mov eax, dword [ebp - 0x8c]
add esp, 4
test eax, eax
jle 0x44b26d
push eax
push dword [ebp - 0x18]
xor edx, edx
mov ecx, edi
call fcn.004487a0
add esp, 8
test al, al
je 0x44b26d
mov eax, dword [ebp - 0x8c]
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x44b28d
mov eax, dword [0x5b5d98]
test eax, eax
je 0x44b283
dec dword [eax + 0x374]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
jmp 0x44b345
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea edx, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x8c], edx
cmp edx, eax
jle 0x44b2ee
test eax, eax
je 0x44b2d0
cdq
sub eax, edx
mov edx, dword [ebp - 0x8c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x1c]
jmp 0x44b2d5
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x18]
push eax
call fcn.004314e0
mov edx, dword [ebp - 0x8c]
lea ecx, [edi + 0x18]
mov dword [ecx], edx
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.00413ef0
mov eax, dword [edi + 0x20]
add esp, 8
mov dword [ebp - 0x58], eax
mov ecx, 0x5b5d60
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44b330
test dl, dl
je 0x44b32c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44b330
add eax, 2
add ecx, 2
test dl, dl
jne 0x44b310
xor eax, eax
jmp 0x44b335
sbb eax, eax
or eax, 1
mov cl, byte [ebp - 0x48]
mov byte [ebp - 0x48], cl
test eax, eax
je 0x44b382
mov eax, dword [edi + 8]
mov byte [ebp - 0x48], cl
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x44b382
inc eax
mov ecx, 0x32
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp - 0x64], ecx
cmp ecx, 1
jb 0x44b37e
jbe 0x44b377
lea eax, [ecx - 1]
push eax
push edx
push 0x5b5d60
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov ecx, dword [ebp - 0x64]
add esp, 0xc
mov byte [ecx + 0x5b5d5f], 0
mov byte [ebp - 0x48], 1
mov eax, dword [ebp - 0x5c]
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0x70], 0
je 0x44b3b6
cmp dword [esi + 0x1c84], eax
jne 0x44b3b6
call fcn.004161f0
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x44]
push 1
call fcn.004153d0
movss xmm1, dword [0x499448]
add esp, 4
mov ecx, 7
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
call fcn.00414340
movss xmm2, dword [esi + 0x15d8]
mov dl, 1
mov ecx, eax
call fcn.00415070
movss xmm0, dword [ebp - 0x44]
add esp, 0x10
cmp byte [ebp - 0x92], 0
movss xmm5, dword [ebp - 0x80]
movss xmm7, dword [ebp - 0x40]
addss xmm0, xmm5
movss xmm6, dword [ebp - 0x44]
movaps xmm4, xmm7
addss xmm6, dword [esi + 0x15d0]
addss xmm4, dword [esi + 0x15d4]
movss dword [ebp - 0x84], xmm0
movaps xmm0, xmm7
addss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x64], xmm6
movss dword [ebp - 0x8c], xmm4
movss dword [ebp - 0xb0], xmm6
movss dword [ebp - 0xac], xmm4
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0x34], xmm6
movss dword [ebp - 0x30], xmm4
je 0x44b470
mov ecx, dword [edi + 0x20]
jmp 0x44b475
mov ecx, 0x5b5d60
cmp byte [ebp - 0x4a], 0
mov dword [ebp - 0x70], ecx
jne 0x44b5c2
cmp byte [ebp - 0x46], 0
jne 0x44b5c2
mov eax, dword [ebp - 0x5c]
cmp dword [esi + 0x1c84], eax
jne 0x44b49e
mov eax, dword [edi + 8]
add eax, ecx
jmp 0x44b4b2
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44b4a1
mov eax, dword [ebp - 0x70]
sub ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
sub eax, ecx
cmp eax, 0x200000
jge 0x44bebf
movss xmm1, dword [0x499448]
xor ecx, ecx
call fcn.00414340
mov edx, dword [ebp - 0xa0]
mov edi, dword [esi + 0x19d4]
movss xmm2, dword [esi + 0x19d8]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x2c4]
mov dword [ebp - 0x7c], eax
test eax, 0xff000000
je 0x44bebf
test ecx, ecx
jne 0x44b521
mov ecx, dword [ebp - 0x70]
lea eax, [ecx + 1]
mov dword [ebp - 0x64], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44b510
sub ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x70]
add ecx, eax
jmp 0x44b524
mov eax, dword [ebp - 0x70]
cmp eax, ecx
je 0x44bebf
test edi, edi
jne 0x44b536
mov eax, dword [edx + 0x2c]
mov edi, dword [eax + 8]
ucomiss xmm2, dword [0x4993b0]
lahf
test ah, 0x44
jp 0x44b54b
mov eax, dword [edx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edx + 0x60]
movss xmm1, dword [ebp - 0x44]
comiss xmm0, xmm1
movups xmmword [ebp - 0x24], xmm0
jae 0x44b562
movss dword [ebp - 0x24], xmm1
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm7
jae 0x44b571
movss dword [ebp - 0x20], xmm7
movss xmm0, dword [ebp - 0x84]
comiss xmm0, dword [ebp - 0x1c]
ja 0x44b584
movss dword [ebp - 0x1c], xmm0
movss xmm5, dword [ebp - 0x58]
comiss xmm5, dword [ebp - 0x18]
ja 0x44b594
movss dword [ebp - 0x18], xmm5
push dword [ebp - 0xac]
lea eax, [ebp - 0x24]
push dword [ebp - 0xb0]
push 1
push ecx
mov dword [esp], 0
push ecx
push dword [ebp - 0x70]
mov ecx, edi
push eax
push dword [ebp - 0x7c]
push edx
call fcn.00440690
jmp 0x44bebf
mov eax, dword [edi + 8]
xor edx, edx
add eax, ecx
mov dword [ebp - 0x98], 0
xorps xmm3, xmm3
mov ecx, dword [edi + 0x14]
xorps xmm4, xmm4
mov dword [ebp - 0x5c], eax
xorps xmm7, xmm7
mov dword [ebp - 0xa4], ecx
movss dword [ebp - 0x7c], xmm3
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x6c], 0xfffffc18
mov dword [ebp - 0x54], 0xfffffc18
cmp byte [ebp - 0x4a], dl
je 0x44b61f
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x6c], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x98], eax
cmp byte [ebp - 0x46], 0
je 0x44b643
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [edi + 0x14]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x54], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x80], eax
mov esi, dword [ebp - 0xa4]
xor eax, eax
movzx esi, word [esi]
test si, si
mov esi, dword [ebp - 0x78]
je 0x44b6b4
mov esi, dword [ebp - 0xa4]
movzx edi, word [esi]
xor esi, esi
cmp di, 0xa
jne 0x44b691
inc esi
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x44b67e
cmp ecx, dword [ebp - 0x98]
jb 0x44b67e
dec edx
mov dword [ebp - 0x6c], esi
test edx, edx
jle 0x44b69f
cmp dword [ebp - 0x54], 0xffffffff
jne 0x44b691
cmp ecx, dword [ebp - 0x80]
jb 0x44b691
dec edx
mov dword [ebp - 0x54], esi
test edx, edx
jle 0x44b69f
movzx eax, word [ecx + 2]
add ecx, 2
mov edi, eax
test ax, ax
jne 0x44b661
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x54]
inc eax
cmp dword [ebp - 0x6c], 0xffffffff
mov edx, eax
cmovne edx, dword [ebp - 0x6c]
cmp ecx, 0xffffffff
mov dword [ebp - 0xa4], edx
mov edx, dword [edi + 0x14]
cmove ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x54], ecx
mov ecx, eax
cmp eax, edx
jbe 0x44b6ee
cmp word [ecx - 2], 0xa
je 0x44b6ee
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x44b6e0
movaps xmm1, xmm4
mov eax, dword [0x5b5d98]
movaps xmm3, xmm4
mov edx, dword [eax + 0x19d4]
movss xmm2, dword [eax + 0x19d8]
divss xmm2, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x98]
jae 0x44b765
mov esi, dword [ebp - 0x98]
mov edi, edx
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x44b736
maxss xmm1, xmm3
movaps xmm3, xmm4
jmp 0x44b758
cmp edx, 0xd
je 0x44b758
mov edx, eax
cmp edx, dword [edi]
jge 0x44b74b
mov eax, dword [edi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x44b750
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, esi
jb 0x44b720
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x78]
cmp dword [ebp - 0x54], 0
maxss xmm3, xmm1
movd xmm0, dword [ebp - 0xa4]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xac], xmm3
mulss xmm0, dword [esi + 0x19d8]
movss dword [ebp - 0x6c], xmm0
jl 0x44b83c
mov eax, dword [ebp - 0x80]
mov ecx, eax
mov edx, dword [edi + 0x14]
cmp eax, edx
jbe 0x44b7ae
nop
cmp word [ecx - 2], 0xa
je 0x44b7ae
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x44b7a0
movaps xmm1, xmm4
mov eax, dword [0x5b5d98]
movaps xmm3, xmm4
mov edx, dword [eax + 0x19d4]
movss xmm2, dword [eax + 0x19d8]
divss xmm2, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x80]
jae 0x44b81b
mov esi, dword [ebp - 0x80]
mov edi, edx
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x44b7ec
maxss xmm1, xmm3
movaps xmm3, xmm4
jmp 0x44b80e
cmp edx, 0xd
je 0x44b80e
mov edx, eax
cmp edx, dword [edi]
jge 0x44b801
mov eax, dword [edi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x44b806
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, esi
jb 0x44b7d6
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x78]
movd xmm7, dword [ebp - 0x54]
maxss xmm3, xmm1
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x7c], xmm3
mulss xmm7, dword [esi + 0x19d8]
movss xmm3, dword [ebp - 0xac]
cmp byte [ebp - 0x4a], 0
je 0x44b8b6
cmp byte [edi + 0xe6c], 0
je 0x44b8b6
movss xmm1, dword [edi + 0x38]
movaps xmm2, xmm5
comiss xmm1, xmm3
mulss xmm2, dword [0x4993f0]
subss xmm5, dword [esi + 0x15d0]
jbe 0x44b878
movaps xmm1, xmm3
movaps xmm0, xmm4
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x44b888
movaps xmm0, xmm3
subss xmm0, xmm5
comiss xmm0, xmm1
jb 0x44b898
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0x30]
movss xmm6, dword [ebp - 0x34]
movss dword [ebp - 0x8c], xmm0
movss dword [ebp - 0x64], xmm6
cmp byte [ebp - 0x46], 0
movss xmm5, dword [edi + 0x38]
movss dword [ebp - 0x80], xmm5
je 0x44bb1b
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [edi + 0x14]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x4a], 0
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x14]
lea edx, [eax + edx*2]
mov dword [ebp - 0x54], edx
je 0x44b8f9
movss xmm1, dword [0x499448]
jmp 0x44b901
movss xmm1, dword [0x49940c]
mov ecx, 0x31
call fcn.00414340
movss xmm4, dword [ebp - 0x8c]
movss xmm6, dword [ebp - 0x64]
addss xmm4, xmm7
movss xmm5, dword [ebp - 0x7c]
mov dword [ebp - 0xa4], eax
addss xmm5, xmm6
subss xmm4, dword [0x4993b0]
subss xmm5, dword [ebp - 0x80]
movss dword [ebp - 0x64], xmm4
cmp esi, edx
jae 0x44bb13
movss xmm3, dword [ebp - 0x58]
mov edi, eax
mov ecx, dword [ebp - 0x78]
nop
movaps xmm0, xmm3
addss xmm0, dword [ecx + 0x19d8]
comiss xmm4, xmm0
ja 0x44bafe
movss xmm7, dword [ebp - 0x40]
comiss xmm7, xmm4
jbe 0x44b98f
cmp esi, edx
jae 0x44bae1
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x44bae1
cmp esi, edx
jb 0x44b976
jmp 0x44bafe
xorps xmm0, xmm0
mov eax, dword [0x5b5d98]
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x19d4]
movss xmm2, dword [eax + 0x19d8]
divss xmm2, dword [edx + 0x10]
cmp esi, dword [ebp - 0x54]
jae 0x44b9f9
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x44b9e9
cmp ecx, 0xd
je 0x44b9e2
cmp ecx, dword [edx]
jge 0x44b9d5
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x44b9da
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0x54]
jb 0x44b9b5
jmp 0x44b9f3
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x78]
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x44ba32
mov eax, dword [ecx + 0x19d4]
cmp dword [eax], 0x20
jle 0x44ba1a
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x44ba1f
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x499404]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [0x499524]
addss xmm1, xmm5
subss xmm2, dword [ecx + 0x19d8]
addss xmm5, dword [0x4993b0]
movss xmm3, dword [ebp - 0x58]
movaps xmm0, xmm4
addss xmm0, dword [0x499480]
minss xmm1, dword [ebp - 0x84]
addss xmm2, xmm4
maxss xmm5, dword [ebp - 0x44]
minss xmm0, xmm3
movss dword [ebp - 0x1c], xmm1
maxss xmm2, xmm7
movss dword [ebp - 0x24], xmm5
comiss xmm0, xmm7
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm0
jbe 0x44bade
comiss xmm3, xmm2
jbe 0x44bade
comiss xmm1, dword [ebp - 0x44]
jbe 0x44bade
movss xmm0, dword [ebp - 0x84]
comiss xmm0, xmm5
jbe 0x44bade
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x2c4]
call fcn.0043c400
movss xmm6, dword [ebp - 0x34]
movss xmm4, dword [ebp - 0x64]
movss xmm3, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x54]
movaps xmm5, xmm6
addss xmm4, dword [ecx + 0x19d8]
subss xmm5, dword [ebp - 0x80]
movss dword [ebp - 0x64], xmm4
cmp esi, edx
jb 0x44b950
movss xmm4, dword [ebp - 0x30]
movss xmm5, dword [ebp - 0x80]
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x78]
jmp 0x44bb23
movss xmm5, dword [ebp - 0x80]
mov esi, dword [ebp - 0x78]
movss xmm4, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x5c]
xorps xmm7, xmm7
sub eax, dword [ebp - 0x70]
cmp eax, 0x200000
jge 0x44bd2f
mov eax, dword [0x5b5d98]
movups xmm1, xmmword [eax + 0x165c]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1598]
movups xmmword [ebp - 0x24], xmm1
jbe 0x44bb60
xorps xmm0, xmm0
jmp 0x44bb6c
movss xmm0, dword [0x499448]
minss xmm0, xmm1
movss xmm1, dword [0x4994ec]
movss xmm3, dword [ebp - 0x20]
comiss xmm7, xmm3
mulss xmm0, xmm1
addss xmm0, dword [0x499404]
cvttss2si ecx, xmm0
jbe 0x44bb93
xorps xmm0, xmm0
jmp 0x44bb9f
movss xmm0, dword [0x499448]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm0, xmm1
addss xmm0, dword [0x499404]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x44bbc3
xorps xmm0, xmm0
jmp 0x44bbcf
movss xmm0, dword [0x499448]
minss xmm0, xmm3
movss xmm3, dword [0x499404]
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x44bbf2
xorps xmm0, xmm0
jmp 0x44bbfe
movss xmm0, dword [0x499448]
minss xmm0, xmm2
mov eax, dword [ebp - 0xa0]
subss xmm6, xmm5
mov edi, dword [esi + 0x19d4]
subss xmm4, xmm7
movss xmm2, dword [esi + 0x19d8]
mulss xmm0, xmm1
mov dword [ebp - 0x7c], edi
mov edi, dword [ebp - 0x9c]
movss dword [ebp - 0x90], xmm6
addss xmm0, xmm3
movss dword [ebp - 0x8c], xmm4
cvttss2si edx, xmm0
shl edx, 0x18
or edx, ecx
mov ecx, dword [eax + 0x2c4]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x64], eax
test edx, 0xff000000
je 0x44bd2f
test eax, eax
jne 0x44bc88
mov ecx, dword [ebp - 0x70]
lea eax, [ecx + 1]
mov dword [ebp - 0x64], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bc70
sub ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x70]
add eax, ecx
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x70], eax
je 0x44bd2f
cmp dword [esi + 0x19d4], 0
jne 0x44bca3
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x7c], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x44bcb4
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movss xmm1, dword [ebp - 0x44]
comiss xmm0, xmm1
movups xmmword [ebp - 0x24], xmm0
jae 0x44bccb
movss dword [ebp - 0x24], xmm1
movss xmm0, dword [ebp - 0x20]
movss xmm1, dword [ebp - 0x40]
comiss xmm0, xmm1
jae 0x44bcdf
movss dword [ebp - 0x20], xmm1
movss xmm0, dword [ebp - 0x84]
comiss xmm0, dword [ebp - 0x1c]
ja 0x44bcf2
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x58]
comiss xmm0, dword [ebp - 0x18]
ja 0x44bd02
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0x8c]
lea eax, [ebp - 0x24]
push dword [ebp - 0x90]
push 1
push ecx
mov dword [esp], 0
push dword [ebp - 0x64]
push dword [ebp - 0x70]
push eax
push edx
push ecx
mov ecx, dword [ebp - 0x7c]
call fcn.00440690
xorps xmm7, xmm7
cmp byte [ebp - 0x4a], 0
je 0x44bebf
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb9], 0
je 0x44bd8f
comiss xmm7, xmm0
jae 0x44bd8f
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x68], xmm0
fld qword [ebp - 0x68]
fld qword [0x499478]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x49942c]
fstp qword [ebp - 0x68]
movsd xmm1, qword [ebp - 0x68]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x44bd8f
xor cl, cl
jmp 0x44bd91
mov cl, 1
movss xmm0, dword [ebp - 0x34]
movss xmm6, dword [0x499448]
addss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0x80]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x6c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4993b0]
movss dword [ebp - 0x64], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x24], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x1c], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x7c], xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
subss xmm2, dword [esi + 0x19d8]
subss xmm3, dword [0x49946c]
addss xmm2, dword [0x499404]
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x20], xmm2
test cl, cl
je 0x44be94
comiss xmm3, dword [ebp - 0x40]
jbe 0x44be94
movss xmm5, dword [ebp - 0x58]
comiss xmm5, xmm2
jbe 0x44be94
comiss xmm4, dword [ebp - 0x44]
jbe 0x44be94
movss xmm2, dword [ebp - 0x84]
comiss xmm2, xmm1
jbe 0x44be94
sub esp, 8
movss dword [ebp - 0xb0], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xac], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00414340
add esp, 4
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x2c4]
call fcn.0043c1f0
movss xmm1, dword [ebp - 0x64]
movss xmm0, dword [ebp - 0x7c]
movss xmm6, dword [0x499448]
subss xmm0, dword [esi + 0x19d8]
mov eax, dword [ebp - 0xa0]
subss xmm1, xmm6
movss dword [esi + 0x2fa4], xmm0
movss dword [esi + 0x2fa0], xmm1
mov eax, dword [eax + 0x30]
mov dword [esi + 0x2fb0], eax
cmp byte [esi + 0x3028], 0
je 0x44bef2
mov eax, dword [0x5b5d98]
lea ecx, [ebp - 0x34]
push dword [ebp - 0x5c]
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x3040], 0x499358
mov dword [eax + 0x3044], 0x499354
call fcn.004260d0
add esp, 4
movss xmm0, dword [ebp - 0xb8]
comiss xmm0, dword [0x4993b0]
jbe 0x44bf3f
movss xmm0, dword [ebp - 0x3c]
xor edx, edx
addss xmm0, dword [esi + 0x15e8]
mov ecx, dword [ebp - 0xb4]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [esi + 0x15d4]
movss dword [ebp - 0x64], xmm0
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push 1
call fcn.004146a0
add esp, 0xc
mov al, byte [ebp - 0x48]
test al, al
je 0x44bf66
mov ecx, dword [0x5b5d98]
mov word [ecx + 0x1c94], 0x101
mov ecx, dword [ecx + 0x1c48]
or dword [ecx + 0x158], 4
jmp 0x44bf66
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044fd73
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret