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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x178
mov eax, dword [0x1008c00c]
xor eax, esp
mov dword [esp + 0x174], eax
push esi
mov esi, dword [0x10090d48]
mov eax, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x58], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], esi
call fcn.10008fdd
mov edx, eax
test edx, edx
mov dword [esp + 0x74], edx
sete byte [esp + 0x10]
test edx, edx
jne 0x1000b1f9
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.1000914f
mov edx, eax
mov dword [esp + 0x74], edx
mov eax, edi
mov ecx, edi
and eax, 0xc0200
or ecx, 6
cmp eax, 0xc0200
mov eax, dword [esi + 0x3dc8]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x234]
cmovne ecx, edi
mov dword [esp + 0x34], eax
lea edi, [esi + 0x3e04]
xor eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xfc], edi
cmp dword [edi], eax
jne 0x1000b241
cmp byte [esi + 0x3dd5], al
je 0x1000b241
inc eax
mov byte [edx + 0xae], al
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
dec eax
cmp dword [edi + 0x234], eax
setl al
mov byte [esp + 0x30], al
test ecx, 0x4000000
je 0x1000b28f
imul edx, dword [esi + 0x478c], 0x28
mov eax, dword [edi + 0xbc]
add edx, dword [esi + 0x4788]
cmp edi, dword [edx + 4]
setne cl
cmp eax, dword [edx]
setne al
or cl, al
mov al, byte [esp + 0x30]
or al, cl
mov byte [esp + 0x30], al
mov byte [edi + 0xac], al
mov edi, dword [esp + 0x74]
cmp byte [edi + 0xac], 0
je 0x1000b2b5
xor eax, eax
mov ecx, edi
inc eax
push eax
push 8
pop edx
call fcn.10008f2d
mov edi, dword [esp + 0x78]
pop ecx
mov edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x1c]
je 0x1000b32b
push dword [esp + 0x14]
mov dl, byte [esp + 0x14]
mov ecx, edi
call fcn.10009052
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
pop ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x74]
mov dword [eax + 0x234], ecx
xor ecx, ecx
movsd xmm0, qword [esi + 0x3dc0]
mov eax, dword [esp + 0x74]
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x238], xmm0
mov eax, dword [esp + 0x74]
mov word [eax + 0xb6], cx
mov eax, dword [esp + 0x74]
movzx ecx, word [esi + 0x3e1c]
inc dword [esi + 0x3e1c]
mov word [eax + 0xb8], cx
mov edi, dword [esp + 0x74]
jmp 0x1000b332
mov edx, dword [edi + 8]
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0x3e04]
test eax, eax
jne 0x1000b340
xor ecx, ecx
jmp 0x1000b34d
imul ecx, eax, 0x54
mov eax, dword [esi + 0x3e0c]
mov ecx, dword [ecx + eax - 0x54]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xe4], ecx
cmp eax, dword [esp + 0x1c]
je 0x1000b36d
mov eax, edx
and eax, 0x5000000
neg eax
sbb eax, eax
and eax, ecx
jmp 0x1000b373
mov eax, dword [edi + 0x300]
lea ecx, [edi + 0xe0]
mov dword [esp + 0x20], eax
cmp dword [ecx], 0
jne 0x1000b38f
lea eax, [edi + 4]
push eax
call fcn.1001bf93
mov edi, dword [esp + 0x74]
lea ecx, [esp + 0x88]
mov dword [esi + 0x3e28], edi
call fcn.1000cfa5
mov eax, dword [esp + 0x74]
lea edi, [esp + 0x8c]
push 0xf
pop ecx
mov dword [esp + 0x88], eax
add esi, 0x469c
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xc8]
call fcn.1000fc49
mov ecx, dword [esp + 0xfc]
lea eax, [esp + 0x88]
push eax
call fcn.1001bcf3
mov eax, dword [esp + 0x14]
mov ecx, eax
mov edi, dword [esp + 0x2c]
and ecx, 0x10000000
mov dword [esp + 0x3c], ecx
je 0x1000b3fa
inc dword [edi + 0x4798]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x34], ecx
je 0x1000b425
push dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
mov edx, eax
call fcn.1000b083
mov eax, dword [esp + 0x78]
pop ecx
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x304], ecx
mov eax, dword [esp + 0x74]
mov esi, dword [0x10090d48]
mov eax, dword [eax + 4]
mov dword [esp + 0xe8], eax
lea ecx, [esi + 0x475c]
lea eax, [esp + 0xe8]
push eax
call fcn.1001bf93
mov eax, dword [esp + 0xe8]
mov dword [esi + 0x467c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [edi + 0x467c]
mov esi, dword [esp + 0x14]
mov dword [eax + 0x344], ecx
xor eax, eax
mov ecx, esi
mov dword [edi + 0x3e28], eax
and ecx, 0x4000000
mov dword [esp + 0xe8], ecx
je 0x1000b4c4
mov eax, dword [esp + 0x74]
lea ecx, [edi + 0x478c]
imul esi, dword [ecx], 0x28
add esi, dword [edi + 0x4788]
push esi
mov dword [esi + 4], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x144]
mov dword [esi + 0xc], eax
call fcn.1001bb26
mov eax, dword [esp + 0x74]
mov ecx, dword [esi]
mov esi, dword [esp + 0x14]
mov dword [eax + 0xbc], ecx
xor eax, eax
xor ecx, ecx
mov byte [esp + 0x12], al
inc ecx
mov byte [esp + 0x13], al
mov byte [esp + 0x11], al
test byte [edi + 0x46d8], cl
je 0x1000b589
mov ecx, dword [esp + 0x74]
mov edx, dword [edi + 0x46dc]
movsx eax, byte [ecx + 0xcc]
and eax, edx
setne byte [esp + 0x12]
test eax, eax
je 0x1000b57a
movss xmm1, dword [edi + 0x46f4]
movss xmm0, dword [edi + 0x46f0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x1008843c]
jbe 0x1000b57a
mov eax, dword [edi + 0x46e8]
mov dword [ecx + 0xd0], eax
mov eax, dword [edi + 0x46ec]
mov dword [ecx + 0xd4], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0x46f0]
mov dword [ecx + 0xd8], eax
mov eax, dword [edi + 0x46f4]
mov dword [ecx + 0xdc], eax
mov edx, dword [esp + 0x74]
movzx ecx, byte [edx + 0xcc]
mov eax, dword [edx + 0xcc]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [edx + 0xcc], ecx
jmp 0x1000b587
push edx
lea edx, [edi + 0x46e8]
call fcn.1000d7dc
pop ecx
xor eax, eax
mov ecx, dword [edi + 0x46d8]
test cl, 2
je 0x1000b5f0
mov ecx, dword [esp + 0x74]
lea edx, [edi + 0x46f8]
xorps xmm1, xmm1
movsx ecx, byte [ecx + 0xcd]
and ecx, dword [edi + 0x46e0]
je 0x1000b5be
movss xmm0, dword [edx]
comiss xmm0, xmm1
mov byte [esp + 0x13], 1
ja 0x1000b5c2
mov byte [esp + 0x13], al
test ecx, ecx
je 0x1000b5d6
movss xmm0, dword [edi + 0x46fc]
comiss xmm0, xmm1
jbe 0x1000b5d6
xor eax, eax
inc eax
push dword [edi + 0x46e0]
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x15], al
call fcn.1000d926
pop ecx
mov ecx, dword [edi + 0x46d8]
xorps xmm0, xmm0
test cl, cl
jns 0x1000b63f
movss xmm1, dword [edi + 0x4708]
comiss xmm1, xmm0
jb 0x1000b61b
mov eax, dword [esp + 0x74]
movss dword [eax + 0x84], xmm1
mov eax, dword [esp + 0x74]
and dword [eax + 0x8c], 0
movss xmm1, dword [edi + 0x470c]
comiss xmm1, xmm0
jb 0x1000b63f
mov eax, dword [esp + 0x74]
movss dword [eax + 0x88], xmm1
mov eax, dword [esp + 0x74]
and dword [eax + 0x90], 0
test byte [edi + 0x46d8], 4
je 0x1000b660
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0x4700]
mov dword [ecx + 0x38], eax
mov eax, dword [edi + 0x4704]
mov dword [ecx + 0x3c], eax
jmp 0x1000b67c
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x1c]
je 0x1000b67c
mov eax, dword [esp + 0x74]
movss dword [eax + 0x38], xmm0
mov eax, dword [esp + 0x74]
movss dword [eax + 0x3c], xmm0
mov eax, dword [edi + 0x46d8]
test al, 8
je 0x1000b6a2
push dword [edi + 0x46e4]
mov dl, byte [edi + 0x4710]
mov ecx, dword [esp + 0x78]
call fcn.1000da06
mov eax, dword [edi + 0x46d8]
pop ecx
test al, 0x20
je 0x1000b6af
mov ecx, dword [esp + 0x74]
call fcn.1000d1fa
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0xac], 0
je 0x1000b6cb
push 0
push 8
pop edx
call fcn.10008f2d
pop ecx
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x1c]
je 0x1000cd9b
mov al, byte [ecx + 0xc9]
and esi, 0x3000000
movaps xmm0, xmmword [0x10088fd0]
mov byte [esp + 0x27], al
xor eax, eax
inc eax
mov dword [esp + 0x28], esi
cmp dword [esp + 0x58], 0
mov byte [ecx + 0xa6], al
mov eax, dword [esp + 0x74]
setne cl
movups xmmword [esp + 0xec], xmm0
mov byte [eax + 0xb0], cl
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x4c]
call fcn.10001267
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x48]
xor eax, eax
inc eax
push eax
lea edi, [edi + 0x20c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x78]
lea ecx, [ecx + 0xe0]
call fcn.1001bf4b
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x260]
call fcn.1003971b
mov eax, dword [esp + 0x74]
or dword [eax + 0x190], 0xffffffff
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0x350], 0
je 0x1000b77d
call fcn.10006821
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x2c]
xor eax, eax
cmp dword [esi + 0x4908], eax
je 0x1000b816
test dword [ecx + 8], 0x80000
jne 0x1000b816
cmp byte [esp + 0x10], al
jne 0x1000b816
mov edi, dword [ecx]
mov edx, dword [esp + 0x38]
mov cl, byte [edx]
cmp cl, byte [edi]
mov byte [esp + 0xf], cl
mov ecx, dword [esp + 0x74]
jne 0x1000b7d6
cmp byte [esp + 0xf], al
je 0x1000b7dd
mov cl, byte [edx + 1]
cmp cl, byte [edi + 1]
mov byte [esp + 0xf], cl
mov ecx, dword [esp + 0x74]
jne 0x1000b7d6
add edx, 2
add edi, 2
cmp byte [esp + 0xf], al
jne 0x1000b7a4
jmp 0x1000b7dd
sbb eax, eax
xor edx, edx
inc edx
or eax, edx
test eax, eax
je 0x1000b816
mov eax, dword [ecx + 0x68]
lea edx, [esp + 0xe4]
push dword [esp + 0x38]
mov ecx, dword [ecx]
mov dword [esp + 0xe8], eax
call fcn.10002da7
pop ecx
mov ecx, dword [esp + 0x74]
mov dword [ecx], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0xe4]
mov dword [ecx + 0x68], eax
mov ecx, dword [esp + 0x74]
lea eax, [ecx + 0x30]
push eax
lea edx, [ecx + 0x28]
call fcn.100094d4
pop ecx
mov ecx, dword [esp + 0x74]
mov al, byte [ecx + 0xc8]
test al, al
jle 0x1000b839
dec al
mov byte [ecx + 0xc8], al
mov ecx, dword [esp + 0x74]
mov al, byte [ecx + 0xc9]
test al, al
jle 0x1000b84f
dec al
mov byte [ecx + 0xc9], al
mov ecx, dword [esp + 0x74]
mov al, byte [ecx + 0xca]
test al, al
jle 0x1000b865
dec al
mov byte [ecx + 0xca], al
cmp byte [esp + 0x10], 0
mov dl, byte [esp + 0x13]
mov dh, byte [esp + 0x11]
je 0x1000b889
test dl, dl
je 0x1000b87c
test dh, dh
jne 0x1000b889
mov eax, dword [esp + 0x74]
xor ecx, ecx
inc ecx
mov byte [eax + 0xc9], cl
cmp byte [esp + 0x30], 0
je 0x1000b8f9
mov ecx, dword [esp + 0x14]
test ecx, 0x6000000
je 0x1000b8f9
mov eax, dword [esp + 0x74]
mov byte [eax + 0xc9], 1
test cl, 0x40
je 0x1000b8f9
test dl, dl
jne 0x1000b8c0
mov eax, dword [esp + 0x74]
and dword [eax + 0x20], 0
mov eax, dword [esp + 0x74]
and dword [eax + 0x18], 0
test dh, dh
jne 0x1000b8d4
mov eax, dword [esp + 0x74]
and dword [eax + 0x24], 0
mov eax, dword [esp + 0x74]
and dword [eax + 0x1c], 0
mov eax, dword [esp + 0x74]
xorps xmm0, xmm0
movss dword [eax + 0x30], xmm0
mov eax, dword [esp + 0x74]
movss dword [eax + 0x34], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0x30]
mov dword [ecx + 0x28], eax
mov eax, dword [ecx + 0x34]
mov dword [ecx + 0x2c], eax
mov eax, dword [0x10090d48]
mov eax, dword [eax + 0x47a4]
mov ecx, dword [eax]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x40], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x74]
call fcn.10006761
mov edx, dword [esp + 0x14]
mov edi, edx
and edi, 0x1000000
mov dword [esp + 0xe4], edi
je 0x1000b93e
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x37c8]
mov dword [eax + 0x4c], ecx
jmp 0x1000b969
test edx, 0x6000000
je 0x1000b958
test edx, 0x8000000
jne 0x1000b958
movss xmm0, dword [esi + 0x37d0]
jmp 0x1000b960
movss xmm0, dword [esi + 0x37ac]
mov eax, dword [esp + 0x74]
movss dword [eax + 0x4c], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [esi + 0x37a0]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x37a4]
mov dword [ecx + 0x44], eax
mov eax, edx
mov ecx, dword [esp + 0x74]
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x1000b9c9
movss xmm0, dword [ecx + 0x4c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000b9c9
test edx, 0x400
je 0x1000b9b4
movss xmm0, dword [esi + 0x37a4]
jmp 0x1000b9b7
xorps xmm0, xmm0
movss dword [ecx + 0x40], xmm1
mov eax, dword [esp + 0x74]
movss dword [eax + 0x44], xmm0
mov ecx, dword [esp + 0x74]
movss xmm0, dword [ecx + 0x40]
maxss xmm0, dword [esi + 0x37e4]
maxss xmm0, dword [esi + 0x4730]
movss dword [ecx + 0x150], xmm0
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x4734]
mov dword [eax + 0x154], ecx
mov al, byte [esp + 0x10]
mov byte [esp + 0xf], al
mov byte [esp + 0x18], al
test dl, 0x21
jne 0x1000baaf
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0xec]
push eax
call fcn.10002226
mov eax, dword [esi + 0x3e2c]
cmp eax, dword [esp + 0x74]
jne 0x1000ba6f
xor eax, eax
cmp dword [esi + 0x3e60], eax
jne 0x1000ba6f
cmp dword [esi + 0x3e64], eax
jne 0x1000ba6f
inc eax
lea edx, [esp + 0xf4]
push eax
lea ecx, [esp + 0xf0]
call fcn.1000e55c
xor edx, edx
inc edx
pop ecx
test al, al
je 0x1000ba72
push 2
pop eax
cmp word [esi + 0x3702], ax
jne 0x1000ba72
mov eax, dword [esp + 0x74]
mov byte [eax + 0xaa], dl
jmp 0x1000ba72
xor edx, edx
inc edx
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0xaa], 0
je 0x1000baba
cmp byte [ecx + 0xa9], 0
sete al
mov byte [ecx + 0xa9], al
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
movzx eax, al
cmp byte [ecx + 0xa9], 0
cmove eax, edx
mov dword [esp + 0x18], eax
call fcn.1001594a
jmp 0x1000baba
mov eax, dword [esp + 0x74]
mov byte [eax + 0xa9], 0
mov eax, dword [esp + 0x74]
mov byte [eax + 0xaa], 0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x9c]
movss dword [esp + 0x100], xmm0
movss xmm0, dword [eax + 0xa0]
and dword [eax + 0x50], 0
mov eax, dword [esp + 0x74]
movss dword [esp + 0x48], xmm0
and dword [eax + 0x58], 0
mov ecx, dword [esp + 0x74]
call fcn.1000227f
mov ecx, dword [esp + 0x74]
movss dword [esp + 0x5c], xmm0
call fcn.10002201
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x10c]
movss xmm1, dword [esp + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
movss dword [eax + 0x54], xmm1
mov eax, dword [esp + 0x74]
and dword [eax + 0x5c], 0
mov eax, dword [esp + 0x74]
movss dword [eax + 0x9c], xmm0
mov eax, dword [esp + 0x74]
movss dword [eax + 0xa0], xmm0
mov edx, dword [esp + 0x74]
lea eax, [edx + 0x30]
push eax
call fcn.100095f8
test byte [esp + 0x18], 0x40
mov edx, dword [esp + 0x78]
pop ecx
je 0x1000bbad
cmp byte [edx + 0xa9], 0
jne 0x1000bbad
xor eax, eax
inc eax
cmp byte [esp + 0x13], 0
jne 0x1000bb8b
movss xmm0, dword [esp + 0x10c]
movss dword [edx + 0x20], xmm0
mov edx, dword [esp + 0x74]
mov byte [esp + 0xf], al
cmp byte [esp + 0x11], 0
jne 0x1000bc59
movss xmm0, dword [esp + 0x110]
movss dword [edx + 0x24], xmm0
mov byte [esp + 0x18], al
jmp 0x1000bc55
mov al, byte [edx + 0xc0]
test al, al
jg 0x1000bbc4
cmp byte [edx + 0xc1], 0
jle 0x1000bc59
cmp byte [esp + 0x13], 0
jne 0x1000bc03
test al, al
jle 0x1000bc03
cmp byte [edx + 0xc3], 0
je 0x1000bbe8
movss xmm0, dword [edx + 0x20]
maxss xmm0, dword [esp + 0x10c]
jmp 0x1000bbf1
movss xmm0, dword [esp + 0x10c]
xor eax, eax
movss dword [edx + 0x20], xmm0
mov edx, dword [esp + 0x74]
inc eax
mov byte [esp + 0xf], al
jmp 0x1000bc06
xor eax, eax
inc eax
cmp byte [esp + 0x11], 0
jne 0x1000bc45
cmp byte [edx + 0xc1], 0
jle 0x1000bc45
cmp byte [edx + 0xc3], 0
je 0x1000bc2f
movss xmm0, dword [edx + 0x24]
maxss xmm0, dword [esp + 0x110]
jmp 0x1000bc38
movss xmm0, dword [esp + 0x110]
movss dword [edx + 0x24], xmm0
mov edx, dword [esp + 0x74]
mov byte [esp + 0x18], al
cmp byte [edx + 0xa9], 0
jne 0x1000bc59
mov ecx, edx
call fcn.1001594a
mov edx, dword [esp + 0x74]
lea eax, [edx + 0x20]
push eax
lea ecx, [esp + 0x60]
call fcn.1000930c
pop ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0xa9], 0
je 0x1000bca5
test edi, edi
jne 0x1000bca5
lea eax, [esp + 0x64]
push eax
call fcn.10002226
lea ecx, [esp + 0x5c]
push ecx
mov ecx, eax
call fcn.1000128e
mov ecx, dword [esp + 0x74]
mov edx, eax
jmp 0x1000bcc0
mov eax, dword [ecx + 0x20]
lea edx, [esp + 0xec]
mov dword [esp + 0xec], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0xf0], eax
cmp byte [esp + 0x30], 0
mov eax, dword [edx]
mov dword [ecx + 0x18], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0x1c], eax
je 0x1000bd13
mov eax, dword [esp + 0x74]
or dword [eax + 0xc4], 0xffffffff
mov eax, dword [esp + 0x14]
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000bd13
cmp byte [esp + 0x12], 0
jne 0x1000bd13
imul ecx, dword [esi + 0x478c], 0x28
mov eax, dword [esi + 0x4794]
mov edx, dword [ecx + eax - 0x10]
mov ecx, dword [ecx + eax - 0xc]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
test edi, edi
je 0x1000bd7f
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x74]
lea ecx, [edi + 0x17c]
mov dx, word [ecx]
mov word [eax + 0xb6], dx
lea eax, [esp + 0x74]
push eax
call fcn.1001bd3c
cmp dword [esp + 0xe8], 0
mov al, byte [esp + 0x12]
mov edx, dword [esp + 0x28]
jne 0x1000bd76
test al, al
jne 0x1000bd76
cmp edx, 0x3000000
je 0x1000bd76
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0xec]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0xf0]
mov edi, dword [esp + 0xe4]
mov dword [ecx + 0x14], eax
jmp 0x1000bd83
mov edi, dword [esp + 0xe4]
jmp 0x1000bd87
mov edx, dword [esp + 0x28]
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x74]
movss xmm2, dword [ecx + 0xd0]
ucomiss xmm2, dword [0x100886f4]
lahf
test ah, 0x44
jnp 0x1000bdf6
cmp byte [ecx + 0xc9], 0
jne 0x1000bdf6
movss xmm0, dword [ecx + 0xdc]
lea edx, [esp + 0xec]
mulss xmm0, dword [ecx + 0x1c]
push 0
movss xmm1, dword [ecx + 0xd4]
subss xmm1, xmm0
movss xmm0, dword [ecx + 0xd8]
mulss xmm0, dword [ecx + 0x18]
subss xmm2, xmm0
movss dword [esp + 0xf4], xmm1
movss dword [esp + 0xf0], xmm2
call fcn.1000d7dc
pop ecx
jmp 0x1000be44
cmp dword [esp + 0x3c], 0
jne 0x1000be27
cmp dword [esp + 0xe8], 0
je 0x1000be11
test al, al
jne 0x1000be11
cmp byte [esp + 0x27], al
jg 0x1000be27
test dword [esp + 0x14], 0x2000000
je 0x1000be44
test al, al
jne 0x1000be44
cmp edx, 0x3000000
je 0x1000be44
mov edx, ecx
lea ecx, [esp + 0xec]
call fcn.10011c34
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x12c]
push eax
call fcn.10001522
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x13c]
push eax
call fcn.10001558
lea eax, [esi + 0x3848]
push eax
lea edx, [esi + 0x3840]
lea ecx, [esp + 0x118]
call fcn.10001245
cmp byte [esp + 0x16], 0
movss xmm3, dword [esp + 0x148]
movss xmm2, dword [esp + 0x14c]
movss xmm1, dword [esp + 0x140]
movss xmm0, dword [esp + 0x144]
subss xmm3, dword [esp + 0x118]
subss xmm2, dword [esp + 0x11c]
addss xmm1, dword [esp + 0x118]
addss xmm0, dword [esp + 0x11c]
pop ecx
movss dword [esp + 0x124], xmm3
movss dword [esp + 0x128], xmm2
movss dword [esp + 0x11c], xmm1
movss dword [esp + 0x120], xmm0
jne 0x1000bf38
test edi, edi
jne 0x1000bf38
movss xmm0, dword [esp + 0x134]
xorps xmm1, xmm1
subss xmm0, dword [esp + 0x12c]
comiss xmm0, xmm1
jbe 0x1000bf38
movss xmm0, dword [esp + 0x138]
subss xmm0, dword [esp + 0x130]
comiss xmm0, xmm1
jbe 0x1000bf38
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x11c]
call fcn.1000a3af
mov ecx, dword [esp + 0x74]
cvttss2si eax, dword [ecx + 0x10]
movd xmm1, eax
cvttss2si eax, dword [ecx + 0x14]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [ecx + 0x10], xmm1
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x14], xmm0
mov ecx, dword [esp + 0x14]
test edi, edi
je 0x1000bf70
movss xmm0, dword [esi + 0x37c4]
jmp 0x1000bf90
mov eax, ecx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000bf88
movss xmm0, dword [esi + 0x37cc]
jmp 0x1000bf90
movss xmm0, dword [esi + 0x37a8]
mov eax, dword [esp + 0x74]
movss dword [eax + 0x48], xmm0
xor al, al
mov dword [esp + 0xe4], eax
cmp byte [esp + 0x30], al
je 0x1000c01d
test ecx, 0x1000
jne 0x1000c01d
cmp dword [esp + 0xe8], 0
je 0x1000bfc6
xor eax, eax
inc eax
mov byte [esp + 0xe4], al
jmp 0x1000bfdb
cmp dword [esp + 0x28], 0
push 1
movzx eax, al
pop ecx
cmove eax, ecx
mov dword [esp + 0xe4], eax
call fcn.100111a5
test eax, eax
je 0x1000c01d
mov ecx, dword [esp + 0x74]
mov edx, ecx
mov edi, dword [ecx + 0x308]
cmp edi, eax
je 0x1000c021
cmp edx, eax
je 0x1000c021
mov edx, dword [edx + 0x304]
test edx, edx
jne 0x1000bff4
mov byte [esp + 0xe4], dl
cmp ecx, edi
jne 0x1000c021
call fcn.1000b113
mov ecx, dword [esp + 0x74]
mov edx, eax
call fcn.1000d152
mov ecx, dword [esp + 0x74]
or dword [esp + 0xfc], 0xffffffff
lea edi, [esp + 0x16c]
movss xmm2, dword [esi + 0x3bb4]
xor eax, eax
stosd dword es:[edi], eax
movaps xmm1, xmm2
mulss xmm2, dword [0x10088488]
xor edx, edx
cmp byte [esi + 0x66], dl
mulss xmm1, dword [0x10088510]
stosd dword es:[edi], eax
setne dl
inc edx
mov dword [esp + 0xec], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp byte [ecx + 0xa9], 0
movss xmm0, dword [ecx + 0x48]
addss xmm0, dword [0x10088500]
addss xmm0, xmm2
maxss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [esp + 0xe8], eax
jne 0x1000c0c8
lea eax, [esp + 0x11c]
push eax
lea eax, [esp + 0x170]
push eax
push edx
lea eax, [esp + 0x108]
push eax
lea edx, [esp + 0x11c]
call fcn.10009913
mov ecx, dword [esp + 0x84]
add esp, 0x10
test al, al
je 0x1000c0c8
xor eax, eax
inc eax
mov byte [esp + 0x18], al
mov byte [esp + 0xf], al
mov al, byte [esp + 0xfc]
mov byte [ecx + 0xb1], al
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0xa9], 0
jne 0x1000c2b5
movss xmm0, dword [ecx + 0x20]
lea eax, [esp + 0x40]
movss xmm1, dword [ecx + 0x24]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [ecx + 0x5c]
addss xmm0, dword [ecx + 0x54]
add ecx, 0x1cc
push eax
subss xmm1, xmm0
movss dword [esp + 0x60], xmm1
call fcn.1000128e
cmp byte [esp + 0x10], 0
mov edx, dword [esp + 0x74]
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
lea eax, [esp + 0x48]
addss xmm2, dword [esp + 0x100]
addss xmm3, dword [esp + 0x48]
je 0x1000c14d
and dword [esp + 0x48], 0
and dword [esp + 0x4c], 0
jmp 0x1000c175
movss xmm0, dword [edx + 0x40]
movss xmm1, dword [edx + 0x44]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [edx + 0x28]
addss xmm1, dword [edx + 0x2c]
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm1
cmp byte [esp + 0xf], 0
movss xmm5, dword [eax]
movss xmm4, dword [eax + 4]
je 0x1000c18b
movss xmm2, dword [esp + 0x3c]
cmp byte [esp + 0x18], 0
je 0x1000c19a
movss xmm0, dword [esp + 0x5c]
jmp 0x1000c19d
movaps xmm0, xmm3
mov eax, dword [esp + 0x14]
test eax, 0x4000
jne 0x1000c1b9
comiss xmm4, xmm0
jbe 0x1000c1b1
test al, 8
je 0x1000c1b9
xor ecx, ecx
mov byte [esp + 0xf], cl
jmp 0x1000c1c2
xor ecx, ecx
inc ecx
mov byte [esp + 0xf], cl
xor ecx, ecx
mov al, byte [esp + 0xf]
mov byte [edx + 0xa5], al
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x74]
test eax, 0x8000
jne 0x1000c20e
cmp byte [edi + 0xa5], 0
je 0x1000c1ee
movss xmm1, dword [esi + 0x380c]
jmp 0x1000c1f1
xorps xmm1, xmm1
subss xmm2, xmm1
comiss xmm5, xmm2
jbe 0x1000c20a
and eax, 0x808
cmp eax, 0x800
mov eax, dword [esp + 0x14]
je 0x1000c20e
mov dl, cl
jmp 0x1000c211
xor edx, edx
inc edx
mov byte [edi + 0xa4], dl
mov edx, dword [esp + 0x74]
cmp byte [edx + 0xa4], 0
je 0x1000c25a
cmp byte [edx + 0xa5], 0
jne 0x1000c247
comiss xmm4, xmm0
jbe 0x1000c23b
test al, 8
jne 0x1000c23b
xor eax, eax
inc eax
jmp 0x1000c23d
mov al, cl
mov byte [edx + 0xa5], al
mov edx, dword [esp + 0x74]
cmp byte [edx + 0xa4], 0
je 0x1000c25a
movss xmm1, dword [esi + 0x380c]
jmp 0x1000c25d
xorps xmm1, xmm1
cmp byte [edx + 0xa5], 0
xorps xmm0, xmm0
je 0x1000c271
movss xmm0, dword [esi + 0x380c]
movss dword [edx + 0x9c], xmm0
mov eax, dword [esp + 0x74]
movss dword [eax + 0xa0], xmm1
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x9c]
addss xmm0, dword [eax + 0x58]
movss dword [eax + 0x58], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0xa0]
addss xmm0, dword [eax + 0x5c]
movss dword [eax + 0x5c], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
and eax, 0x5000000
mov dword [esp + 0x48], eax
cmp eax, 0x1000000
jne 0x1000c2df
cmp dword [esp + 0x28], 0x3000000
je 0x1000c2df
mov esi, dword [esp + 0x20]
add esi, 0x20c
jmp 0x1000c2e6
lea esi, [esp + 0x12c]
lea edi, [esp + 0x14c]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x15c]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.100021a3
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x78]
push eax
call fcn.10002226
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x15c]
lea eax, [esp + 0x14c]
push eax
lea edi, [edi + 0x1bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x78]
lea ecx, [ecx + 0x1bc]
call fcn.100012e8
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov edi, dword [esp + 0x2c]
inc ecx
movss xmm0, dword [eax + 0x50]
addss xmm0, dword [eax + 0x10]
movss dword [eax + 0x1cc], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x54]
addss xmm0, dword [eax + 0x14]
movss dword [eax + 0x1d0], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x10]
subss xmm0, dword [eax + 0x58]
movss dword [eax + 0x1d4], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x1c]
addss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x5c]
movss dword [eax + 0x1d8], xmm0
mov eax, dword [esp + 0x14]
and eax, 0x401
cmp eax, ecx
mov ecx, dword [esp + 0x74]
jne 0x1000c3b9
movss xmm3, dword [ecx + 0x4c]
jmp 0x1000c3c1
movss xmm3, dword [edi + 0x37e0]
movss xmm0, dword [ecx + 0x40]
movss xmm2, dword [0x100884b0]
mulss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x1cc]
addss xmm0, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [ecx + 0x4c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x1dc], xmm0
mov ecx, dword [esp + 0x74]
movss xmm0, dword [ecx + 0x1d0]
addss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x1e0], xmm0
mov ecx, dword [esp + 0x74]
movss xmm0, dword [ecx + 0x40]
movss xmm1, dword [ecx + 0x1d4]
mulss xmm0, xmm2
addss xmm1, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm0, dword [ecx + 0x4c]
subss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x1e4], xmm0
mov ecx, dword [esp + 0x74]
movss xmm0, dword [ecx + 0x1d8]
addss xmm0, xmm2
subss xmm0, dword [ecx + 0x4c]
cvttss2si eax, xmm0
movd xmm0, eax
lea eax, [esp + 0x14c]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ecx + 0x1e8], xmm0
mov ecx, dword [esp + 0x78]
lea ecx, [ecx + 0x1dc]
call fcn.10001328
mov ecx, dword [esp + 0x74]
xorps xmm2, xmm2
movss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm2
jbe 0x1000c4d0
test dword [esp + 0x14], 0x2000040
jne 0x1000c4d0
mulss xmm0, dword [0x100884c4]
jmp 0x1000c4e0
movss xmm0, dword [edi + 0x3bb4]
mulss xmm0, dword [0x1008860c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x23c], xmm0
lea ecx, [esp + 0x100]
mov eax, dword [esp + 0x74]
movss xmm1, dword [eax + 0x40]
movss xmm0, dword [eax + 0x1d4]
addss xmm1, xmm1
subss xmm0, dword [eax + 0x1cc]
addss xmm1, dword [eax + 0x28]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [eax + 0x7c], xmm0
mov eax, dword [esp + 0x74]
movss xmm1, dword [eax + 0x44]
movss xmm0, dword [eax + 0x1d8]
addss xmm1, xmm1
subss xmm0, dword [eax + 0x1d0]
addss xmm1, dword [eax + 0x2c]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [eax + 0x80], xmm0
mov edx, dword [esp + 0x74]
call fcn.10010889
movss xmm0, dword [0x100886f4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], edx
mov eax, dword [esp + 0x74]
movss dword [eax + 0x84], xmm0
mov eax, dword [esp + 0x74]
movss dword [eax + 0x88], xmm0
mov eax, dword [esp + 0x74]
and dword [eax + 0x64], 0
mov eax, dword [esp + 0x74]
and dword [eax + 0x60], 0
mov eax, dword [esp + 0x74]
mov esi, dword [eax + 0x260]
mov eax, dword [edi + 0x3bb0]
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + 8]
mov dword [esp + 0x100], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esi + 0x48]
mov dword [esp + 0x104], eax
lea eax, [esp + 0x100]
push eax
call fcn.1001c058
mov eax, dword [esp + 0x100]
mov ecx, esi
mov dword [esi + 0x70], eax
mov eax, dword [esp + 0x104]
mov dword [esi + 0x74], eax
call fcn.1003994d
push 0
lea edx, [esp + 0x158]
lea ecx, [esp + 0x150]
call fcn.10007d49
xor edx, edx
cmp dword [esp + 0x4c], 0x1000000
pop ecx
mov byte [esp + 0x10], dl
jne 0x1000c6c5
cmp dword [esp + 0x28], 0x3000000
je 0x1000c6c5
mov esi, dword [esp + 0x20]
push 2
pop eax
mov ecx, dword [esi + 0x17c]
cmp ecx, eax
jl 0x1000c650
mov eax, dword [esi + 0x184]
mov ecx, dword [eax + ecx*4 - 8]
jmp 0x1000c652
mov ecx, edx
test ecx, ecx
je 0x1000c684
lea eax, [esp + 0x64]
push eax
call fcn.100021a3
mov ecx, dword [esp + 0x74]
mov esi, eax
lea eax, [esp + 0x48]
push eax
call fcn.100021a3
push eax
mov ecx, esi
call fcn.100012b1
mov esi, dword [esp + 0x20]
xor edx, edx
mov byte [esp + 0xf], al
jmp 0x1000c688
mov byte [esp + 0xf], dl
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x260]
imul ecx, dword [eax], 0x30
mov eax, dword [eax + 8]
cmp dword [ecx + eax - 0x10], edx
jne 0x1000c6cb
mov eax, dword [esi + 0x260]
cmp dword [eax + 0x18], edx
jle 0x1000c6cb
cmp byte [esp + 0xf], 0
jne 0x1000c6cb
xor ecx, ecx
inc ecx
mov byte [esp + 0x10], cl
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x260], eax
mov ecx, dword [esp + 0x74]
jmp 0x1000c6cf
mov ecx, dword [esp + 0x18]
mov esi, dword [edi + 0x4900]
test esi, esi
jne 0x1000c6df
mov esi, dword [edi + 0x47a8]
cmp byte [esp + 0xe4], 0
jne 0x1000c701
test esi, esi
je 0x1000c6fb
mov eax, dword [ecx + 0x310]
cmp eax, dword [esi + 0x310]
je 0x1000c701
mov byte [esp + 0x40], dl
jmp 0x1000c708
xor eax, eax
inc eax
mov byte [esp + 0x40], al
movd xmm0, dword [esp + 0xe8]
lea eax, [esp + 0x16c]
cvtdq2ps xmm0, xmm0
push ecx
lea edx, [esp + 0x7c]
movss dword [esp], xmm0
push eax
push dword [esp + 0xf4]
xor eax, eax
inc eax
push eax
push dword [esp + 0x50]
call fcn.1000a6fe
add esp, 0x14
cmp byte [esp + 0x10], 0
je 0x1000c754
mov ecx, dword [esp + 0x74]
lea eax, [ecx + 0x268]
mov dword [ecx + 0x260], eax
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, ecx
inc edx
shr eax, 3
xorps xmm4, xmm4
not al
and al, dl
mov edx, dword [esp + 0x74]
mov dword [esp + 0xec], eax
movss xmm3, dword [edx + 0x38]
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jp 0x1000c7bc
movss xmm0, dword [edx + 0x40]
mov eax, ecx
movss xmm1, dword [edx + 0x18]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [edx + 0x58]
addss xmm0, dword [edx + 0x50]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x1000c7b5
movss xmm3, dword [edx + 0x28]
jmp 0x1000c7b8
xorps xmm3, xmm3
maxss xmm3, xmm1
movss xmm2, dword [edx + 0x3c]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1000c802
cmp byte [esp + 0xec], 0
movss xmm0, dword [edx + 0x44]
movss xmm1, dword [edx + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [edx + 0x5c]
addss xmm0, dword [edx + 0x54]
subss xmm1, xmm0
je 0x1000c7fb
movss xmm2, dword [edx + 0x2c]
jmp 0x1000c7fe
xorps xmm2, xmm2
maxss xmm2, xmm1
movss xmm1, dword [edx + 0x40]
maxss xmm1, dword [edx + 0x4c]
movss xmm0, dword [edx + 0x1cc]
subss xmm0, dword [edx + 0x74]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x1ec], xmm0
mov ecx, dword [esp + 0x74]
movss xmm1, dword [ecx + 0x44]
movss xmm0, dword [ecx + 0x1d0]
subss xmm0, dword [ecx + 0x78]
maxss xmm1, dword [ecx + 0x4c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x1f0], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x1ec]
addss xmm0, xmm3
movss dword [eax + 0x1f4], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x1f0]
addss xmm0, xmm2
movss dword [eax + 0x1f8], xmm0
mov eax, dword [esp + 0x74]
lea esi, [eax + 0x1ec]
lea edi, [eax + 0x1fc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [eax + 0x74]
addss xmm0, dword [eax + 0x40]
addss xmm0, dword [eax + 0x50]
movss dword [eax + 0x21c], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x78]
addss xmm0, dword [eax + 0x44]
addss xmm0, dword [eax + 0x54]
movss dword [eax + 0x220], xmm0
mov ecx, dword [esp + 0x74]
movss xmm1, dword [ecx + 0x38]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1000c918
movss xmm0, dword [ecx + 0x40]
movss xmm1, dword [ecx + 0x18]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x58]
addss xmm0, dword [ecx + 0x50]
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x21c]
addss xmm0, xmm1
movss dword [ecx + 0x224], xmm0
mov ecx, dword [esp + 0x74]
movss xmm1, dword [ecx + 0x3c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1000c95e
movss xmm0, dword [ecx + 0x44]
movss xmm1, dword [ecx + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x5c]
addss xmm0, dword [ecx + 0x54]
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x220]
addss xmm0, xmm1
movss dword [ecx + 0x228], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0x50]
addss xmm0, dword [eax + 0x40]
subss xmm0, dword [eax + 0x74]
movss dword [eax + 0x130], xmm0
mov eax, dword [esp + 0x74]
and dword [eax + 0x138], 0
mov eax, dword [esp + 0x74]
and dword [eax + 0x134], 0
mov eax, dword [esp + 0x74]
movss xmm3, dword [eax + 0x40]
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
movss xmm2, dword [eax + 0x44]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
addsd xmm3, xmm0
movss xmm0, dword [eax + 0x74]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [eax + 0x50]
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
movss xmm0, dword [eax + 0x134]
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
movss xmm0, dword [eax + 0x14]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
movss xmm0, dword [eax + 0x78]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [eax + 0x54]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm3
cvtpd2ps xmm1, xmm2
movss dword [eax + 0xfc], xmm0
mov eax, dword [esp + 0x74]
movss dword [eax + 0x100], xmm1
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + 0xfc]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [eax + 0x100]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm3
subsd xmm2, xmm0
movss dword [eax + 0x13c], xmm1
mov eax, dword [esp + 0x74]
cvtpd2ps xmm0, xmm2
movss dword [eax + 0x140], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0xfc]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0x100]
mov dword [ecx + 0xf0], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0xec]
mov dword [ecx + 0xf4], eax
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0xf8], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0xfc]
mov dword [ecx + 0x104], eax
mov eax, dword [ecx + 0x100]
mov dword [ecx + 0x108], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0xfc]
mov dword [ecx + 0x10c], eax
mov eax, dword [ecx + 0x100]
mov dword [ecx + 0x110], eax
mov eax, dword [esp + 0x74]
movss dword [eax + 0x11c], xmm4
mov eax, dword [esp + 0x74]
movss dword [eax + 0x120], xmm4
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0x11c]
mov dword [ecx + 0x114], eax
xor edx, edx
mov eax, dword [ecx + 0x120]
mov dword [ecx + 0x118], eax
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x2c]
push dword [esp + 0x30]
and dword [eax + 0x128], 0
mov eax, dword [esp + 0x78]
and dword [eax + 0x124], 0
mov eax, dword [esp + 0x78]
mov byte [eax + 0x12d], dl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x12c], dl
mov eax, dword [esp + 0x78]
mov dword [eax + 0x144], edx
mov ecx, dword [esp + 0x78]
mov ax, word [ecx + 0x14a]
mov word [ecx + 0x148], ax
xor ecx, ecx
mov eax, dword [esp + 0x78]
mov word [eax + 0x14a], cx
mov eax, dword [esp + 0x78]
mov byte [eax + 0x14c], dl
mov ecx, dword [esp + 0x78]
movss xmm0, dword [ecx + 0x80]
comiss xmm0, xmm4
seta al
mov byte [ecx + 0x14d], al
mov eax, dword [esp + 0x78]
mov byte [eax + 0x14e], dl
mov ecx, dword [esp + 0x78]
movss xmm1, dword [esi + 0x37e4]
lea ecx, [ecx + 0x158]
call fcn.1005f6db
mov eax, dword [esp + 0x74]
xor ecx, ecx
push ecx
mov dword [eax + 0x174], ecx
mov eax, dword [esp + 0x78]
mov dword [eax + 0x178], ecx
mov ecx, dword [esp + 0x78]
lea ecx, [ecx + 0x17c]
call fcn.1001bdb1
mov ecx, dword [esp + 0x74]
xor edx, edx
lea eax, [ecx + 0x240]
mov dword [ecx + 0x188], eax
xor ecx, ecx
mov eax, dword [esp + 0x74]
inc ecx
mov dword [eax + 0x18c], edx
mov eax, dword [esp + 0x74]
mov dword [eax + 0x194], ecx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1000cc09
mov ecx, dword [eax + 0x194]
mov eax, dword [esp + 0x74]
push edx
mov dword [eax + 0x198], ecx
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 0x23c]
mov dword [ecx + 0x19c], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 0x1a0], 0xbf800000
mov ecx, dword [esp + 0x78]
lea ecx, [ecx + 0x1a4]
call fcn.1001bdb1
mov ecx, dword [esp + 0x74]
push 0
add ecx, 0x1b0
call fcn.1001bdb1
mov eax, dword [esp + 0x74]
mov cl, byte [eax + 0xc0]
test cl, cl
jle 0x1000cc6c
dec cl
mov byte [eax + 0xc0], cl
mov eax, dword [esp + 0x74]
mov cl, byte [eax + 0xc1]
test cl, cl
jle 0x1000cc82
dec cl
mov byte [eax + 0xc1], cl
mov eax, dword [esp + 0x74]
cmp byte [esp + 0xe4], 0
je 0x1000cca2
mov ecx, eax
call fcn.1000d1fa
mov ecx, dword [esp + 0x74]
xor dl, dl
call fcn.10012aaa
mov eax, dword [esp + 0x74]
xor ecx, ecx
inc ecx
test byte [esp + 0x14], cl
jne 0x1000cd18
movss xmm1, dword [eax + 0x4c]
lea edx, [esp + 0xec]
push dword [esp + 0x58]
movaps xmm0, xmm1
mov ecx, eax
addss xmm0, dword [esp + 0x7c]
push dword [esp + 0x3c]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esp + 0x84]
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0x88]
subss xmm0, xmm1
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x100], xmm0
call fcn.1000ac93
mov eax, dword [esp + 0x7c]
pop ecx
pop ecx
xor ecx, ecx
lea edx, [esp + 0x80]
mov word [eax + 0x22e], cx
mov eax, dword [esp + 0x74]
push ecx
mov word [eax + 0x22c], cx
lea ecx, [esp + 0x7c]
call fcn.1000e55c
mov edi, dword [0x10090d48]
xor edx, edx
test al, al
mov eax, dword [esp + 0x78]
pop ecx
mov ecx, dword [esi + 0x4680]
setne dl
lea esi, [esp + 0x78]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x469c], eax
mov dword [edi + 0x46a0], ecx
mov dword [edi + 0x46a4], edx
add edi, 0x46a8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0x4684]
test eax, eax
je 0x1000cda4
cmp dword [ecx + 4], eax
je 0x1000cd94
cmp dword [ecx + 0x6c], eax
jne 0x1000cda4
call fcn.1001aeec
jmp 0x1000cda0
call fcn.10006761
mov ecx, dword [esp + 0x74]
xor eax, eax
lea edx, [ecx + 0x1e4]
inc eax
add ecx, 0x1dc
push eax
call fcn.10007d49
mov eax, dword [esp + 0x78]
pop ecx
xor ecx, ecx
mov byte [eax + 0xa8], cl
mov eax, dword [esp + 0x74]
inc word [eax + 0xb2]
mov eax, dword [esp + 0x34]
mov dword [edi + 0x46d8], ecx
cmp eax, dword [esp + 0x1c]
je 0x1000cf83
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x74]
test eax, 0x1000000
je 0x1000cede
mov dword [esp + 0xe8], edx
test al, 0x40
jne 0x1000ce87
cmp byte [edx + 0xc0], cl
jg 0x1000ce87
cmp byte [edx + 0xc1], cl
jg 0x1000ce87
test eax, 0x800000
je 0x1000ce43
cmp byte [edi + 0x47e8], cl
je 0x1000ce43
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1000ce43
mov eax, dword [eax + 0x314]
cmp eax, dword [edx + 0x314]
jne 0x1000ce43
xor eax, eax
inc eax
jmp 0x1000ce45
mov al, cl
cmp byte [edi + 0x5a50], cl
jne 0x1000ce87
test al, al
jne 0x1000ce87
movss xmm0, dword [edx + 0x1bc]
comiss xmm0, dword [edx + 0x1c4]
jae 0x1000ce73
movss xmm0, dword [edx + 0x1c0]
comiss xmm0, dword [edx + 0x1c8]
jb 0x1000ce87
xor eax, eax
inc eax
mov byte [edx + 0xc8], al
mov edx, dword [esp + 0x74]
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1000cede
mov dl, byte [eax + 0xa9]
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [esp + 0xe8]
jne 0x1000ceac
cmp byte [eax + 0xc8], cl
jle 0x1000cec1
mov byte [edx + 0xc8], 1
mov dl, byte [eax + 0xa9]
mov byte [esp + 0xf], dl
mov edx, dword [esp + 0x74]
cmp byte [esp + 0xf], cl
jne 0x1000cecf
cmp byte [eax + 0xc9], cl
jle 0x1000cede
xor eax, eax
inc eax
mov byte [edx + 0xc9], al
mov edx, dword [esp + 0x74]
jmp 0x1000cee1
xor eax, eax
inc eax
xorps xmm1, xmm1
comiss xmm1, dword [edi + 0x3798]
jb 0x1000cef7
mov byte [edx + 0xc8], al
mov edx, dword [esp + 0x74]
cmp byte [edx + 0xc8], cl
jg 0x1000cf17
cmp byte [edx + 0xc9], cl
jg 0x1000cf17
mov byte [esp + 0xf], cl
cmp byte [edx + 0xca], cl
jg 0x1000cf1b
mov al, cl
jmp 0x1000cf1b
mov byte [esp + 0xf], al
mov byte [edx + 0xad], al
mov edx, dword [esp + 0x74]
mov al, byte [edx + 0xcb]
test al, al
jle 0x1000cf46
dec al
mov byte [edx + 0xcb], al
mov eax, dword [esp + 0x74]
or dword [eax + 8], 0xc0200
mov edx, dword [esp + 0x74]
cmp byte [edx + 0xa9], cl
jne 0x1000cf5c
cmp byte [edx + 0xa6], cl
je 0x1000cf5c
cmp byte [esp + 0xf], cl
je 0x1000cf7d
cmp byte [edx + 0xc0], cl
jg 0x1000cf7d
cmp byte [edx + 0xc1], cl
jg 0x1000cf7d
cmp byte [edx + 0xc9], cl
movzx eax, cl
push 1
pop ecx
cmovle eax, ecx
mov cl, al
mov byte [edx + 0xab], cl
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x17c]
pop edi
pop esi
cmp byte [eax + 0xab], 0
sete al
xor ecx, esp
call fcn.1006dac1
mov esp, ebp
pop ebp
ret