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

Disassembly:
sub esp, 0x198
mov eax, dword [0x100b9b80]
xor eax, esp
mov dword [esp + 0x194], eax
mov ecx, dword [esp + 0x19c]
mov eax, dword [esp + 0x1a0]
push ebx
push ebp
mov ebp, dword [0x100b9cac]
push esi
push edi
push 0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1b8]
push 0
push ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x20], eax
call fcn.10016a30
mov edx, dword [ebp + 0x3fd8]
mov edi, eax
mov ecx, dword [ebp + 0x3fd0]
push edi
lea esi, [edx + ecx*8]
push esi
push edx
call fcn.10016ad0
add esp, 0x18
cmp eax, esi
je 0x100092cd
cmp dword [eax], edi
jne 0x100092cd
mov ebx, dword [eax + 4]
test ebx, ebx
mov dword [esp + 0x44], ebx
sete al
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x18], al
mov eax, ebx
test ebx, ebx
jne 0x100092f6
jmp 0x100092df
mov al, 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], eax
mov byte [esp + 0x18], al
mov edi, dword [esp + 0x14]
push edi
push dword [esp + 0x4c]
call fcn.1000e320
mov ebx, eax
add esp, 8
mov dword [esp + 0x44], ebx
mov ecx, dword [ebp + 0x3fe8]
cmp ecx, dword [eax + 8]
jne 0x10009302
int3
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 0x30200
cmp eax, 0x30200
jne 0x1000931b
or ecx, 6
mov dword [esp + 0x14], ecx
cmp dword [ebp + 0x3fc4], 0
mov esi, dword [ebp + 0x3f58]
mov edi, dword [ebx + 0x24c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], edi
jne 0x10009345
cmp byte [ebp + 0x3f65], 0
je 0x10009345
mov al, 1
jmp 0x10009347
xor al, al
mov byte [ebx + 0xc3], al
lea eax, [esi - 1]
cmp dword [ebx + 0x24c], eax
setl al
mov byte [esp + 0x3c], al
test ecx, 0x4000000
je 0x1000939b
mov eax, dword [ebp + 0x4a94]
mov edx, dword [ebp + 0x4a90]
lea esi, [eax + eax*4]
mov eax, dword [ebx + 0x84]
cmp ebx, dword [edx + esi*8 + 4]
setne cl
cmp eax, dword [edx + esi*8]
mov esi, dword [esp + 0x40]
setne al
or cl, al
mov al, byte [esp + 0x3c]
or al, cl
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x3c], al
mov byte [ebx + 0xc1], al
test al, al
je 0x100093ba
or byte [ebx + 0xe0], 8
or byte [ebx + 0xe1], 8
or byte [ebx + 0xe2], 8
cmp edi, esi
je 0x10009425
push ecx
push dword [esp + 0x1c]
push ebx
call fcn.1002b940
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [ebx + 0xc], edx
test dword [ebp + 0x49d0], 0x100
je 0x100093e7
mov eax, dword [ebp + 0x4a08]
jmp 0x100093e9
xor eax, eax
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x24c], esi
movsd xmm0, qword [ebp + 0x3f50]
cvtpd2ps xmm0, xmm0
movss dword [ebx + 0x250], xmm0
mov word [ebx + 0xcc], ax
mov ax, word [ebp + 0x3fdc]
mov word [ebx + 0xce], ax
inc dword [ebp + 0x3fdc]
jmp 0x1000942c
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x14], edx
mov eax, dword [ebp + 0x3fc4]
test eax, eax
jne 0x1000943a
xor ecx, ecx
jmp 0x10009447
imul ecx, eax, 0x68
mov eax, dword [ebp + 0x3fcc]
mov ecx, dword [eax + ecx - 0x68]
mov dword [esp + 0x18], ecx
cmp edi, esi
je 0x1000945e
mov eax, edx
and eax, 0x5000000
neg eax
sbb eax, eax
and eax, ecx
jmp 0x10009464
mov eax, dword [ebx + 0x320]
cmp dword [ebx + 0xf4], 0
lea esi, [ebx + 0xf4]
mov dword [esp + 0x34], eax
jne 0x10009493
cmp dword [esi + 4], 0
jne 0x10009486
push 8
mov ecx, esi
call fcn.1002d9f0
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [ebx + 8]
mov dword [ecx + edx*4], eax
inc dword [esi]
lea ecx, [esp + 0x108]
mov dword [ebp + 0x3fec], ebx
call fcn.10006b10
test dword [esp + 0x14], 0x2000000
xorps xmm0, xmm0
mov eax, dword [ebp + 0x3fec]
movups xmmword [esp + 0x158], xmm0
mov word [esp + 0x168], 0
movups xmm0, xmmword [ebp + 0x4980]
movzx eax, word [eax + 0xf4]
mov word [esp + 0x158], ax
movzx eax, word [ebp + 0x4a40]
mov word [esp + 0x15a], ax
movzx eax, word [ebp + 0x4a4c]
movups xmmword [esp + 0x108], xmm0
mov word [esp + 0x15c], ax
movups xmm0, xmmword [ebp + 0x4990]
movzx eax, word [ebp + 0x4a58]
mov word [esp + 0x15e], ax
movzx eax, word [ebp + 0x4a64]
movups xmmword [esp + 0x118], xmm0
mov word [esp + 0x160], ax
movups xmm0, xmmword [ebp + 0x49a0]
movzx eax, word [ebp + 0x4a7c]
mov word [esp + 0x162], ax
movzx eax, word [ebp + 0x4a70]
movups xmmword [esp + 0x128], xmm0
mov word [esp + 0x164], ax
movups xmm0, xmmword [ebp + 0x49b0]
movzx eax, word [ebp + 0x4a94]
mov word [esp + 0x166], ax
movzx eax, word [ebp + 0x5e3c]
movups xmmword [esp + 0x138], xmm0
mov dword [esp + 0x104], ebx
movups xmm0, xmmword [ebp + 0x49c0]
mov word [esp + 0x168], ax
movups xmmword [esp + 0x148], xmm0
je 0x100095b7
test dword [ebp + 0x4940], 0x400
mov byte [esp + 0x16a], 1
jne 0x100095bf
mov byte [esp + 0x16a], 0
mov esi, dword [ebp + 0x3fc4]
lea edx, [ebp + 0x3fc4]
mov ecx, dword [edx + 4]
cmp esi, ecx
jne 0x10009600
inc esi
test ecx, ecx
je 0x100095e8
mov eax, ecx
cdq
sub eax, edx
lea edx, [ebp + 0x3fc4]
sar eax, 1
add eax, ecx
jmp 0x100095ed
mov eax, 8
cmp eax, esi
mov ecx, edx
cmovg esi, eax
push esi
call fcn.1002de00
lea edx, [ebp + 0x3fc4]
imul eax, dword [edx], 0x68
lea esi, [esp + 0x104]
mov edi, dword [edx + 8]
mov ecx, 0x1a
add edi, eax
rep movsd dword es:[edi], dword [esi]
inc dword [edx]
mov ecx, dword [esp + 0x14]
test ecx, 0x10000000
je 0x1000962a
inc dword [ebp + 0x5dac]
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x40]
je 0x100096f0
mov edx, dword [esp + 0x34]
mov dword [ebx + 0x320], edx
mov dword [ebx + 0x334], ebx
mov dword [ebx + 0x330], ebx
mov dword [ebx + 0x32c], ebx
mov dword [ebx + 0x328], ebx
test edx, edx
je 0x100096a8
mov eax, ecx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x10009678
mov eax, dword [edx + 0x328]
mov dword [ebx + 0x328], eax
test ecx, 0x4000000
je 0x1000968c
mov eax, dword [edx + 0x32c]
mov dword [ebx + 0x32c], eax
test ecx, 0x8000000
jne 0x100096a8
test ecx, 0x5000000
je 0x100096a8
mov eax, dword [edx + 0x330]
mov dword [ebx + 0x330], eax
test dword [ebx + 0x10], 0x100
je 0x100096d3
mov edx, ebx
lea esi, [edx + 0x334]
nop dword [eax]
mov eax, dword [edx + 0x320]
mov edx, eax
mov dword [esi], eax
test dword [edx + 0x10], 0x100
jne 0x100096c0
mov edx, dword [esp + 0x18]
mov eax, ecx
and eax, 0x1000000
mov dword [ebx + 0x324], edx
neg eax
sbb eax, eax
and eax, edx
mov dword [ebx + 0x338], eax
test dword [ebx + 0x10], 0x100
je 0x10009705
mov edx, dword [ebp + 0x493c]
mov dword [esp + 0x20], edx
jmp 0x1000970c
mov eax, dword [ebx + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [0x100b9cac]
mov edi, dword [ecx + 0x4a64]
lea esi, [ecx + 0x4a64]
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 0x3fec]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
cmp edi, ecx
jne 0x10009758
inc edi
test ecx, ecx
je 0x10009746
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1000974b
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.1002daf0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x38]
inc dword [esi]
mov edi, dword [esp + 0x14]
mov dword [eax + 0x493c], edx
mov eax, dword [ebp + 0x493c]
mov dword [ebx + 0x378], eax
test edi, 0x4000000
je 0x100097c7
mov eax, dword [ebp + 0x4a94]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x4a90]
mov dword [eax + ecx*8 + 4], ebx
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x18]
push esi
lea ecx, [ebp + 0x4a94]
mov eax, dword [eax + 0x158]
mov dword [esi + 0xc], eax
call fcn.1002d740
mov eax, dword [esi]
mov dword [ebx + 0x84], eax
xor dl, dl
mov byte [esp + 0x12], 0
test byte [ebp + 0x49d0], 1
mov byte [esp + 0x11], dl
mov byte [esp + 0x13], dl
je 0x10009883
movsx eax, byte [ebx + 0xe0]
mov ecx, dword [ebp + 0x49d4]
test ecx, eax
setne byte [esp + 0x12]
test ecx, eax
je 0x10009872
movss xmm1, dword [ebp + 0x49ec]
movss xmm0, dword [ebp + 0x49e8]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x1009b404]
jbe 0x10009872
mov eax, dword [ebp + 0x49e0]
mov ecx, dword [ebp + 0x49e4]
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0xe8], ecx
mov eax, dword [ebp + 0x49e8]
mov ecx, dword [ebp + 0x49ec]
mov dword [ebx + 0xec], eax
mov dword [ebx + 0xf0], ecx
movzx ecx, byte [ebx + 0xe0]
mov eax, dword [ebx + 0xe0]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [ebx + 0xe0], ecx
jmp 0x10009883
push ecx
lea eax, [ebp + 0x49e0]
push eax
push ebx
call fcn.100248c0
add esp, 0xc
test byte [ebp + 0x49d0], 2
xorps xmm1, xmm1
je 0x10009926
mov cl, byte [ebx + 0xe1]
movsx eax, cl
and eax, dword [ebp + 0x49d8]
je 0x100098b8
movss xmm0, dword [ebp + 0x49f0]
comiss xmm0, xmm1
jbe 0x100098b8
mov byte [esp + 0x11], 1
jmp 0x100098c2
xor dl, dl
mov byte [esp + 0x11], dl
test eax, eax
je 0x100098d6
movss xmm0, dword [ebp + 0x49f4]
comiss xmm0, xmm1
jbe 0x100098dc
mov byte [esp + 0x13], 1
jmp 0x100098e1
xor dl, dl
mov byte [esp + 0x11], dl
mov byte [esp + 0x13], 0
test byte [ebx + 0x10], 4
je 0x100098f5
test cl, 4
jne 0x100098f5
mov eax, dword [ebx + 0x28]
mov dword [ebp + 0x49f0], eax
test byte [ebx + 0x10], 8
je 0x1000990d
test byte [ebx + 0xe1], 4
jne 0x1000990d
mov eax, dword [ebx + 0x2c]
mov dword [ebp + 0x49f4], eax
push dword [ebp + 0x49d8]
lea eax, [ebp + 0x49f0]
push eax
push ebx
call fcn.10024a40
add esp, 0xc
xorps xmm1, xmm1
test byte [ebp + 0x49d0], 0x80
je 0x1000996d
movss xmm0, dword [ebp + 0x4a00]
comiss xmm0, xmm1
jb 0x1000994e
movss dword [ebx + 0x98], xmm0
mov dword [ebx + 0xa0], 0
movss xmm0, dword [ebp + 0x4a04]
comiss xmm0, xmm1
jb 0x1000996d
movss dword [ebx + 0x9c], xmm0
mov dword [ebx + 0xa4], 0
test byte [ebp + 0x49d0], 4
je 0x1000998a
mov eax, dword [ebp + 0x49f8]
mov ecx, dword [ebp + 0x49fc]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], ecx
jmp 0x100099a2
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x40]
je 0x100099a2
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
test byte [ebp + 0x49d0], 8
je 0x100099ef
mov ecx, dword [ebp + 0x49dc]
mov dl, byte [ebp + 0x4a0c]
test ecx, ecx
je 0x100099c6
movsx eax, byte [ebx + 0xe2]
test ecx, eax
je 0x100099ef
movzx ecx, byte [ebx + 0xe2]
mov eax, dword [ebx + 0xe0]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [ebx + 0xbd], dl
mov dword [ebx + 0xe0], ecx
test byte [ebp + 0x49d0], 0x20
je 0x10009a03
push 0
push ebx
call fcn.10013e20
add esp, 8
cmp byte [ebx + 0xc1], 0
je 0x10009a21
and byte [ebx + 0xe0], 0xf7
and byte [ebx + 0xe1], 0xf7
and byte [ebx + 0xe2], 0xf7
mov ecx, dword [0x100b9cac]
mov byte [ebx + 0xc0], 0
test dword [ecx + 0x49d0], 0x200
je 0x10009aa2
mov edx, dword [ecx + 0x4a34]
test dl, 1
je 0x10009aa2
cmp byte [ebx + 0xc1], 0
jne 0x10009aa2
cmp byte [ebx + 0xc2], 0
jne 0x10009aa2
test dl, 2
je 0x10009a74
mov esi, dword [ecx + 0x3ff0]
test esi, esi
je 0x10009a74
mov eax, dword [ebx + 0x328]
cmp eax, dword [esi + 0x328]
je 0x10009aa2
test dl, 4
je 0x10009a91
mov ecx, dword [ecx + 0x4ab8]
test ecx, ecx
je 0x10009a91
mov eax, dword [ebx + 0x328]
cmp eax, dword [ecx + 0x328]
je 0x10009aa2
mov dword [ebx + 0x278], 0
mov byte [ebx + 0xc0], 1
cmp byte [esp + 0x16a], 0
je 0x10009b27
cmp dword [ebx + 0x328], ebx
jne 0x10009b27
mov esi, dword [0x100b9cac]
lea ecx, [esi + 0x4a70]
mov eax, dword [esi + 0x5e38]
and dword [esi + 0x4940], 0xfffffbff
mov dword [esi + 0x38b0], eax
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x10009b0c
inc edx
mov dword [esp + 0x24], edx
test eax, eax
je 0x10009af6
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10009afb
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.1002d9f0
lea ecx, [esi + 0x4a70]
mov edx, dword [ecx]
mov ecx, dword [ecx + 8]
mov eax, dword [esi + 0x4940]
mov dword [ecx + edx*4], eax
inc dword [esi + 0x4a70]
inc word [esi + 0x5e3c]
mov eax, dword [esp + 0x4c]
mov dword [ebp + 0x3fec], 0
cmp eax, dword [esp + 0x40]
je 0x1000b3b9
cmp byte [ebx + 0xc0], 0
jne 0x1000b3c2
mov al, byte [ebx + 0xdd]
and edi, 0x3000000
cmp dword [esp + 0x6c], 0
mov byte [ebx + 0xba], 1
mov byte [esp + 0x33], al
setne al
mov byte [ebx + 0xc5], al
mov dword [ebx + 0x224], 0xff7fffff
mov dword [ebx + 0x228], 0xff7fffff
mov dword [ebx + 0x22c], 0x7f7fffff
mov dword [ebx + 0x230], 0x7f7fffff
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x44]
mov esi, dword [edi + 0xf8]
cmp esi, 1
jge 0x10009bd8
test esi, esi
je 0x10009bbd
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10009bc2
mov ecx, 8
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xf4]
push eax
call fcn.1002d9f0
mov dword [edi + 0xf4], 1
mov ecx, dword [edi + 0x278]
call fcn.1003bed0
mov dword [edi + 0x1a4], 0xffffffff
cmp byte [edi + 0x384], 0
je 0x10009cb9
mov byte [edi + 0x384], 0
mov ecx, dword [edi + 0x278]
push dword [edi + 0x37c]
add ecx, 0xc
call fcn.1002d980
mov esi, dword [edi + 0x278]
mov eax, dword [edi + 0x380]
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x1c]
jle 0x10009ca5
push dword [0x100b9cb0]
lea ebx, [eax + eax*4]
shl ebx, 2
push ebx
call dword [0x100b535c]
mov ecx, eax
add esp, 8
mov eax, dword [0x100b9cac]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x10009c74
push ebx
push ecx
push dword [eax + 0x3f58]
lea ecx, [eax + 0x6000]
push ecx
call fcn.1000e640
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, dword [esi + 0x20]
test edx, edx
je 0x10009c97
mov eax, dword [esi + 0x18]
lea eax, [eax + eax*4]
shl eax, 2
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
push dword [esi + 0x20]
call fcn.1001a150
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x1c], eax
mov dword [edi + 0x380], 0
mov dword [edi + 0x37c], 0
cmp dword [ebp + 0x4c8c], 0
mov ebx, dword [esp + 0x1c]
je 0x10009d8e
test dword [edi + 0xc], 0x20000
jne 0x10009d8e
test ebx, ebx
je 0x10009d8e
mov ebx, dword [edi + 4]
mov ecx, ebx
mov esi, dword [esp + 0x48]
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10009d10
test dl, dl
je 0x10009d0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10009d10
add eax, 2
add ecx, 2
test dl, dl
jne 0x10009cf0
xor eax, eax
jmp 0x10009d15
sbb eax, eax
or eax, 1
test eax, eax
je 0x10009d8a
mov edx, dword [edi + 0x78]
mov ecx, esi
mov dword [esp + 0x18], edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009d25
sub ecx, esi
lea esi, [ecx + 1]
cmp edx, esi
jae 0x10009d72
push ebx
call fcn.1001a150
push dword [0x100b9cb0]
push esi
call dword [0x100b535c]
mov ecx, dword [0x100b9cac]
add esp, 0xc
mov ebx, eax
test ecx, ecx
je 0x10009d6e
push esi
push ebx
push dword [ecx + 0x3f58]
add ecx, 0x6000
push ecx
call fcn.1000e640
add esp, 0x10
mov dword [esp + 0x18], esi
push esi
push dword [esp + 0x4c]
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [edi + 0x78], eax
mov ebx, dword [esp + 0x1c]
lea eax, [edi + 0x38]
push eax
lea eax, [edi + 0x30]
push eax
push edi
call fcn.1000d2a0
mov al, byte [edi + 0xdc]
add esp, 0xc
test al, al
jle 0x10009db1
dec al
mov byte [edi + 0xdc], al
mov al, byte [edi + 0xdd]
test al, al
jle 0x10009dc3
dec al
mov byte [edi + 0xdd], al
mov al, byte [edi + 0xde]
test al, al
jle 0x10009dd5
dec al
mov byte [edi + 0xde], al
mov dl, byte [esp + 0x11]
test ebx, ebx
jne 0x10009dee
test dl, dl
je 0x10009de7
cmp byte [esp + 0x13], bl
jne 0x10009dee
mov byte [edi + 0xdd], 1
cmp byte [esp + 0x3c], 0
mov ebx, dword [esp + 0x14]
je 0x10009e53
test ebx, 0x6000000
je 0x10009e53
mov byte [edi + 0xdd], 1
test bl, 0x40
je 0x10009e53
test dl, dl
jne 0x10009e1f
mov dword [edi + 0x28], 0
mov dword [edi + 0x20], 0
mov dh, byte [esp + 0x13]
test dh, dh
jne 0x10009e35
mov dword [edi + 0x2c], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
jmp 0x10009e57
mov dh, byte [esp + 0x13]
mov eax, dword [0x100b9cac]
mov eax, dword [eax + 0x4ab4]
mov eax, dword [eax]
mov dword [edi + 0x14], eax
mov ecx, dword [0x100b9cac]
mov dword [esp + 0x24], eax
mov dword [ecx + 0x3fec], edi
mov eax, dword [edi + 0x1a4]
cmp eax, 0xffffffff
je 0x10009e8d
shl eax, 9
add eax, dword [ecx + 0x4d84]
jmp 0x10009e8f
xor eax, eax
mov dword [ecx + 0x4d64], eax
mov dword [ecx + 0x3d44], 0x3f800000
mov eax, dword [edi]
movss xmm0, dword [eax + 0x3d3c]
mov eax, dword [edi + 0x320]
mulss xmm0, dword [edi + 0x270]
test eax, eax
je 0x10009ec3
mulss xmm0, dword [eax + 0x270]
mov eax, dword [ecx + 0x3d34]
movss dword [ecx + 0x3d54], xmm0
movss dword [ecx + 0x3d38], xmm0
divss xmm0, dword [eax + 0x10]
movss dword [ecx + 0x3d40], xmm0
mov eax, dword [0x100b9cac]
cmp dword [eax + 0x4d64], 0
mov ecx, dword [eax + 0x3fec]
jne 0x10009f07
cmp dword [ecx + 0x1a0], 0
jne 0x10009f07
mov al, 1
jmp 0x10009f09
xor al, al
mov byte [ecx + 0x160], al
test ebx, 0x1000000
je 0x10009f22
mov eax, dword [ebp + 0x38e0]
mov dword [edi + 0x54], eax
jmp 0x10009f49
test ebx, 0x6000000
je 0x10009f3c
test ebx, 0x8000000
jne 0x10009f3c
movss xmm0, dword [ebp + 0x38e8]
jmp 0x10009f44
movss xmm0, dword [ebp + 0x38c4]
movss dword [edi + 0x54], xmm0
mov eax, dword [ebp + 0x38b8]
xorps xmm1, xmm1
mov ecx, dword [ebp + 0x38bc]
mov dword [edi + 0x48], eax
mov eax, ebx
and eax, 0x5000000
mov dword [edi + 0x4c], ecx
cmp eax, 0x1000000
jne 0x10009fa1
test byte [edi + 0x10], 2
jne 0x10009fa1
movss xmm0, dword [edi + 0x54]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10009fa1
test ebx, 0x400
je 0x10009f92
movss xmm0, dword [ebp + 0x38bc]
jmp 0x10009f95
xorps xmm0, xmm0
mov dword [edi + 0x48], 0
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [edi + 0x48]
maxss xmm0, dword [ebp + 0x38fc]
maxss xmm0, dword [ebp + 0x4a2c]
movss dword [edi + 0x164], xmm0
mov eax, dword [ebp + 0x4a30]
mov dword [edi + 0x168], eax
test bl, 1
je 0x10009fd4
xorps xmm0, xmm0
jmp 0x10009fe8
movss xmm0, dword [ebp + 0x38f0]
addss xmm0, xmm0
addss xmm0, dword [ebp + 0x3d38]
movss dword [edi + 0x58], xmm0
test ebx, 0x400
je 0x1000a017
movss xmm0, dword [ebp + 0x38f0]
movss xmm2, dword [ebp + 0x3d38]
addss xmm0, xmm0
addss xmm2, dword [edi + 0x168]
addss xmm2, xmm0
jmp 0x1000a01a
xorps xmm2, xmm2
mov eax, dword [esp + 0x2c]
movss dword [edi + 0x5c], xmm2
mov byte [esp + 0x28], al
test dl, dl
je 0x1000a03f
movss xmm0, dword [edi + 0x40]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000a03f
mov al, 1
mov dword [esp + 0x2c], eax
test dh, dh
je 0x1000a056
movss xmm0, dword [edi + 0x44]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000a056
mov byte [esp + 0x28], 1
test bl, 0x21
jne 0x1000a130
movss xmm0, dword [edi + 0x18]
movaps xmm2, xmm0
movss xmm1, dword [edi + 0x58]
addss xmm2, dword [edi + 0x28]
addss xmm1, dword [edi + 0x1c]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [edi + 0x1c]
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x9c], xmm2
movss dword [esp + 0xa0], xmm1
cmp dword [ebp + 0x3ff0], edi
jne 0x1000a0f6
cmp dword [ebp + 0x402c], 0
jne 0x1000a0f6
cmp dword [ebp + 0x4030], 0
jne 0x1000a0f6
push 1
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.10018a50
add esp, 0xc
test al, al
je 0x1000a0f6
cmp word [ebp + 0x2af2], 2
jne 0x1000a0f6
mov eax, dword [0x100b9cac]
cmp dword [eax + 0x4760], 0xffffffff
jne 0x1000a0f6
mov byte [edi + 0xbe], 1
cmp byte [edi + 0xbe], 0
je 0x1000a137
mov cl, byte [edi + 0xbd]
test cl, cl
push edi
sete al
test cl, cl
mov byte [edi + 0xbd], al
mov ecx, 1
mov eax, dword [esp + 0x2c]
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x2c], eax
call fcn.1001a090
add esp, 4
jmp 0x1000a137
mov byte [edi + 0xbd], 0
mov byte [edi + 0xbe], 0
lea eax, [edi + 0x38]
movss xmm0, dword [edi + 0xb0]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [edi + 0xb4]
mov dword [edi + 0x60], 0
mov dword [edi + 0x68], 0
movss dword [esp + 0x88], xmm0
movss xmm0, dword [edi + 0x5c]
addss xmm0, dword [edi + 0x58]
push eax
lea eax, [esp + 0x54]
push edi
push eax
movss dword [edi + 0x64], xmm0
mov dword [edi + 0x6c], 0
mov dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 0
call fcn.1000d070
add esp, 0xc
test bl, 0x40
je 0x1000a1f3
cmp byte [edi + 0xbd], 0
jne 0x1000a1f3
cmp byte [esp + 0x11], 0
jne 0x1000a1d3
movss xmm0, dword [esp + 0x50]
mov eax, 1
movss dword [edi + 0x28], xmm0
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x13], 0
jne 0x1000a280
movss xmm0, dword [esp + 0x54]
movss dword [edi + 0x2c], xmm0
mov byte [esp + 0x28], 1
jmp 0x1000a280
mov al, byte [edi + 0xd2]
test al, al
jg 0x1000a206
cmp byte [edi + 0xd3], 0
jle 0x1000a280
cmp byte [esp + 0x11], 0
jne 0x1000a238
test al, al
jle 0x1000a238
cmp byte [edi + 0xd4], 0
je 0x1000a227
movss xmm0, dword [edi + 0x28]
maxss xmm0, dword [esp + 0x50]
jmp 0x1000a22d
movss xmm0, dword [esp + 0x50]
mov al, 1
movss dword [edi + 0x28], xmm0
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x13], 0
jne 0x1000a26e
cmp byte [edi + 0xd3], 0
jle 0x1000a26e
cmp byte [edi + 0xd4], 0
je 0x1000a25e
movss xmm0, dword [edi + 0x2c]
maxss xmm0, dword [esp + 0x54]
jmp 0x1000a264
movss xmm0, dword [esp + 0x54]
movss dword [edi + 0x2c], xmm0
mov byte [esp + 0x28], 1
cmp byte [edi + 0xbd], 0
jne 0x1000a280
push edi
call fcn.1001a090
add esp, 4
lea esi, [edi + 0x28]
push esi
lea eax, [esp + 0x190]
push edi
push eax
call fcn.1000d4e0
add esp, 0xc
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
movss dword [esi], xmm1
movss dword [esi + 4], xmm2
cmp byte [edi + 0xbd], 0
je 0x1000a2d5
test ebx, 0x1000000
jne 0x1000a2d5
movss xmm1, dword [edi + 0x18]
movss xmm2, dword [edi + 0x58]
addss xmm1, dword [esi]
addss xmm2, dword [edi + 0x1c]
subss xmm1, dword [edi + 0x18]
subss xmm2, dword [edi + 0x1c]
cmp byte [esp + 0x3c], 0
movss dword [edi + 0x20], xmm1
movss dword [edi + 0x24], xmm2
je 0x1000a322
mov eax, ebx
mov dword [edi + 0xd8], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000a322
cmp byte [esp + 0x12], 0
jne 0x1000a322
mov eax, dword [ebp + 0x4a94]
mov ecx, dword [ebp + 0x4a9c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*8 - 0x10]
mov ecx, dword [ecx + edx*8 - 0xc]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
test ebx, 0x1000000
je 0x1000a37a
mov esi, dword [esp + 0x34]
mov ax, word [esi + 0x190]
lea ecx, [esi + 0x190]
mov word [edi + 0xcc], ax
lea eax, [esp + 0x44]
push eax
call fcn.1002d4b0
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x20]
test ebx, 0x4000000
jne 0x1000a382
test al, al
jne 0x1000a382
cmp ecx, 0x3000000
je 0x1000a382
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x104]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov al, byte [esp + 0x12]
movss xmm1, dword [edi + 0xe4]
ucomiss xmm1, dword [0x1009b4f4]
lahf
test ah, 0x44
jnp 0x1000a3f1
cmp byte [edi + 0xdd], 0
jne 0x1000a3f1
movss xmm0, dword [edi + 0x20]
lea eax, [esp + 0x8c]
mulss xmm0, dword [edi + 0xec]
push 0
push eax
push edi
subss xmm1, xmm0
movss xmm0, dword [edi + 0xe8]
movss dword [esp + 0x98], xmm1
movss xmm1, dword [edi + 0x24]
mulss xmm1, dword [edi + 0xf0]
subss xmm0, xmm1
movss dword [esp + 0x9c], xmm0
call fcn.100248c0
add esp, 0xc
jmp 0x1000a44d
test ebx, 0x10000000
je 0x1000a402
lea eax, [esp + 0x16c]
jmp 0x1000a438
test ebx, 0x4000000
je 0x1000a41d
test al, al
jne 0x1000a41d
cmp byte [esp + 0x33], al
jle 0x1000a41d
lea eax, [esp + 0x174]
jmp 0x1000a438
test ebx, 0x2000000
je 0x1000a44d
test al, al
jne 0x1000a44d
cmp ecx, 0x3000000
je 0x1000a44d
lea eax, [esp + 0x17c]
push edi
push eax
call fcn.10013290
add esp, 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
cmp byte [esp + 0x12], 0
mov eax, dword [esp + 0x24]
movss xmm3, dword [ebp + 0x3984]
movss xmm2, dword [ebp + 0x3980]
maxss xmm3, dword [ebp + 0x398c]
movss xmm7, dword [eax + 0x18]
movss xmm6, dword [eax + 0x1c]
maxss xmm2, dword [ebp + 0x3988]
addss xmm7, dword [eax + 0x20]
addss xmm6, dword [eax + 0x24]
movss xmm0, dword [eax + 8]
movss xmm1, dword [eax + 0xc]
movaps xmm5, xmm0
addss xmm5, dword [eax + 0x10]
movaps xmm4, xmm1
movss dword [esp + 0xb4], xmm0
addss xmm4, dword [eax + 0x14]
subss xmm7, xmm2
movss dword [esp + 0xb8], xmm1
addss xmm2, dword [eax + 0x18]
subss xmm6, xmm3
movss dword [esp + 0xbc], xmm5
addss xmm3, dword [eax + 0x1c]
movss dword [esp + 0xc0], xmm4
movss dword [esp + 0xac], xmm7
movss dword [esp + 0xa4], xmm2
movss dword [esp + 0xb0], xmm6
movss dword [esp + 0xa8], xmm3
jne 0x1000a56d
test ebx, 0x1000000
jne 0x1000a56d
subss xmm5, xmm0
xorps xmm0, xmm0
comiss xmm5, xmm0
jbe 0x1000a56d
subss xmm4, xmm1
comiss xmm4, xmm0
jbe 0x1000a56d
mov eax, dword [0x100b9cac]
movss xmm0, dword [edi + 0x24]
cmp byte [eax + 0x4c], 0
je 0x1000a538
test byte [edi + 0xc], 1
jne 0x1000a538
movss xmm0, dword [edi + 0x58]
subss xmm2, dword [edi + 0x20]
subss xmm3, xmm0
movss xmm0, dword [edi + 0x1c]
comiss xmm3, xmm0
ja 0x1000a552
movaps xmm3, xmm6
minss xmm3, xmm0
movss xmm0, dword [edi + 0x18]
comiss xmm2, xmm0
ja 0x1000a563
movaps xmm2, xmm7
minss xmm2, xmm0
movss dword [edi + 0x18], xmm2
movss dword [edi + 0x1c], xmm3
cvttss2si eax, dword [edi + 0x18]
movd xmm1, eax
cvttss2si eax, dword [edi + 0x1c]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [edi + 0x18], xmm1
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1c], xmm0
test ebx, 0x1000000
je 0x1000a5a1
movss xmm2, dword [ebp + 0x38dc]
jmp 0x1000a5c1
mov eax, ebx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000a5b9
movss xmm2, dword [ebp + 0x38e4]
jmp 0x1000a5c1
movss xmm2, dword [ebp + 0x38c0]
xor cl, cl
movss dword [edi + 0x50], xmm2
mov dword [esp + 0x18], ecx
cmp byte [esp + 0x3c], cl
je 0x1000a5fe
test ebx, 0x1000
jne 0x1000a5fe
test ebx, 0x4000000
je 0x1000a5e9
mov byte [esp + 0x18], 1
jmp 0x1000a5fe
test ebx, 0x3000000
movzx ecx, cl
mov eax, 1
cmove ecx, eax
mov dword [esp + 0x18], ecx
mov eax, ebx
mov dword [esp + 0x68], 0xffffffff
and eax, 0x5000000
mov dword [esp + 0x38], 0xffffffff
xorps xmm0, xmm0
movups xmmword [esp + 0x194], xmm0
cmp eax, 0x1000000
jne 0x1000a62b
xor eax, eax
jmp 0x1000a634
xor eax, eax
cmp byte [ebp + 0x4b], al
setne al
inc eax
cmp byte [edi + 0xbd], 0
movss xmm1, dword [ebp + 0x3d38]
addss xmm2, dword [0x1009b468]
movaps xmm0, xmm1
mov dword [esp + 0x24], eax
mulss xmm1, dword [0x1009b424]
mulss xmm0, dword [0x1009b46c]
addss xmm1, xmm2
maxss xmm0, xmm1
cvttss2si esi, xmm0
jne 0x1000a6be
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x198]
push ecx
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x64]
push eax
push edi
call fcn.1002ba90
mov edx, dword [esp + 0x48]
add esp, 0x1c
test eax, eax
je 0x1000a6c2
test al, 1
movzx edx, dl
mov ecx, 1
cmovne edx, ecx
test al, 2
mov eax, dword [esp + 0x28]
movzx eax, al
cmovne eax, ecx
mov cl, al
jmp 0x1000a6c6
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x68]
mov byte [edi + 0xc6], al
mov al, byte [esp + 0x38]
mov byte [edi + 0xc7], al
cmp byte [edi + 0xbd], 0
jne 0x1000a859
cmp dword [esp + 0x1c], 0
movss xmm0, dword [edi + 0x6c]
addss xmm0, dword [edi + 0x64]
movss xmm4, dword [edi + 0x1ec]
movss xmm5, dword [edi + 0x1f0]
subss xmm4, dword [edi + 0x1e4]
subss xmm5, dword [edi + 0x1e8]
movss xmm1, dword [edi + 0x2c]
movss xmm6, dword [edi + 0x28]
subss xmm1, xmm0
xorps xmm0, xmm0
addss xmm4, dword [esp + 0x84]
addss xmm5, dword [esp + 0x88]
jne 0x1000a743
xorps xmm3, xmm3
xorps xmm2, xmm2
jmp 0x1000a75f
movss xmm3, dword [edi + 0x48]
movss xmm2, dword [edi + 0x4c]
addss xmm3, xmm3
addss xmm2, xmm2
addss xmm3, dword [edi + 0x30]
addss xmm2, dword [edi + 0x34]
test dl, dl
jne 0x1000a766
movaps xmm6, xmm4
test cl, cl
jne 0x1000a76d
movaps xmm1, xmm5
test ebx, 0x4000
jne 0x1000a783
comiss xmm2, xmm1
jbe 0x1000a77f
test bl, 8
je 0x1000a783
xor al, al
jmp 0x1000a785
mov al, 1
mov byte [edi + 0xb9], al
test ebx, 0x8000
jne 0x1000a7c4
test al, al
je 0x1000a7a1
movss xmm4, dword [ebp + 0x3924]
jmp 0x1000a7a4
xorps xmm4, xmm4
subss xmm6, xmm4
comiss xmm3, xmm6
jbe 0x1000a7bb
mov eax, ebx
and eax, 0x808
cmp eax, 0x800
je 0x1000a7c4
mov byte [edi + 0xb8], 0
jmp 0x1000a7fe
mov ecx, dword [esp + 0x1c]
mov byte [edi + 0xb8], 1
cmp byte [edi + 0xb9], 0
mov dword [esp + 0x1c], ecx
jne 0x1000a7fe
subss xmm1, dword [ebp + 0x3924]
comiss xmm2, xmm1
jbe 0x1000a7f2
test bl, 8
jne 0x1000a7f2
mov al, 1
jmp 0x1000a7f4
xor al, al
mov byte [edi + 0xb9], al
mov dword [esp + 0x1c], ecx
cmp byte [edi + 0xb8], 0
je 0x1000a811
movss xmm1, dword [ebp + 0x3924]
jmp 0x1000a814
xorps xmm1, xmm1
cmp byte [edi + 0xb9], 0
je 0x1000a825
movss xmm0, dword [ebp + 0x3924]
movss dword [edi + 0xb0], xmm0
movss dword [edi + 0xb4], xmm1
movss xmm0, dword [edi + 0xb0]
addss xmm0, dword [edi + 0x68]
movss dword [edi + 0x68], xmm0
movss xmm0, dword [edi + 0xb4]
addss xmm0, dword [edi + 0x6c]
movss dword [edi + 0x6c], xmm0
mov eax, ebx
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1000a87c
cmp dword [esp + 0x20], 0x3000000
je 0x1000a87c
mov eax, dword [esp + 0x34]
add eax, 0x224
jmp 0x1000a883
lea eax, [esp + 0xb4]
movups xmm0, xmmword [eax]
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 0x401
movups xmmword [esp + 0x58], xmm0
movss xmm5, dword [edi + 0x18]
movss xmm6, dword [edi + 0x1c]
movaps xmm2, xmm5
movss xmm3, dword [edi + 0x20]
movaps xmm1, xmm6
movss xmm4, dword [edi + 0x24]
addss xmm3, xmm5
addss xmm4, xmm6
addss xmm1, dword [edi + 0x58]
addss xmm2, dword [edi + 0x28]
movss dword [esp + 0x74], xmm5
movss xmm0, dword [edi + 0x1c]
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x80], xmm1
movss dword [esp + 0x7c], xmm2
movss dword [edi + 0x1d4], xmm5
movss dword [edi + 0x1d8], xmm6
movss dword [edi + 0x1dc], xmm3
movss dword [edi + 0x1e0], xmm4
mov ebx, dword [esp + 0x44]
movss xmm1, dword [ebx + 0x1d4]
movss xmm0, dword [ebx + 0x1d8]
maxss xmm0, dword [esp + 0x5c]
maxss xmm1, dword [esp + 0x58]
movss dword [ebx + 0x1d8], xmm0
movss dword [ebx + 0x1d4], xmm1
movss xmm0, dword [ebx + 0x1e0]
movss xmm1, dword [ebx + 0x1dc]
minss xmm0, dword [esp + 0x64]
minss xmm1, dword [esp + 0x60]
movss dword [ebx + 0x1e0], xmm0
movss dword [ebx + 0x1dc], xmm1
movss xmm0, dword [ebx + 0x60]
addss xmm0, dword [ebx + 0x18]
movss dword [ebx + 0x1e4], xmm0
movss xmm0, dword [ebx + 0x64]
addss xmm0, dword [ebx + 0x1c]
movss dword [ebx + 0x1e8], xmm0
movss xmm0, dword [ebx + 0x20]
addss xmm0, dword [ebx + 0x18]
subss xmm0, dword [ebx + 0x68]
movss dword [ebx + 0x1ec], xmm0
movss xmm0, dword [ebx + 0x24]
addss xmm0, dword [ebx + 0x1c]
subss xmm0, dword [ebx + 0x6c]
movss dword [ebx + 0x1f0], xmm0
cmp eax, 1
jne 0x1000a9bc
movss xmm4, dword [ebx + 0x54]
jmp 0x1000a9c4
movss xmm4, dword [ebp + 0x38f8]
movss xmm1, dword [ebx + 0x1e4]
xorps xmm2, xmm2
movss xmm3, dword [0x1009b440]
addss xmm1, xmm3
addss xmm1, dword [ebx + 0x54]
comiss xmm1, xmm2
cvttss2si edx, xmm1
jae 0x1000a9fa
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000a9fa
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1f4], xmm0
movss xmm1, dword [ebx + 0x1e8]
addss xmm1, xmm3
addss xmm1, xmm4
comiss xmm1, xmm2
cvttss2si edx, xmm1
jae 0x1000aa33
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000aa33
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1f8], xmm0
movss xmm1, dword [ebx + 0x1ec]
addss xmm1, xmm3
subss xmm1, dword [ebx + 0x54]
comiss xmm1, xmm2
cvttss2si edx, xmm1
jae 0x1000aa6d
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000aa6d
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1fc], xmm0
movss xmm1, dword [ebx + 0x1f0]
addss xmm1, xmm3
subss xmm1, dword [ebx + 0x54]
comiss xmm1, xmm2
cvttss2si edx, xmm1
jae 0x1000aaa7
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000aaa7
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x200], xmm0
movss xmm0, dword [ebx + 0x1f8]
movss xmm1, dword [esp + 0x5c]
comiss xmm1, xmm0
ja 0x1000aad3
movss xmm1, dword [esp + 0x64]
minss xmm1, xmm0
movss xmm3, dword [ebx + 0x1f4]
movss xmm0, dword [esp + 0x58]
comiss xmm0, xmm3
ja 0x1000aaf0
movss xmm0, dword [esp + 0x60]
minss xmm0, xmm3
movss dword [ebx + 0x1f4], xmm0
movss dword [ebx + 0x1f8], xmm1
movss xmm0, dword [ebx + 0x200]
movss xmm1, dword [esp + 0x5c]
comiss xmm1, xmm0
ja 0x1000ab1d
movss xmm1, dword [esp + 0x64]
minss xmm1, xmm0
movss xmm3, dword [ebx + 0x1fc]
movss xmm0, dword [esp + 0x58]
comiss xmm0, xmm3
ja 0x1000ab3a
movss xmm0, dword [esp + 0x60]
minss xmm0, xmm3
movss dword [ebx + 0x1fc], xmm0
movss dword [ebx + 0x200], xmm1
movss xmm0, dword [ebx + 0x20]
comiss xmm0, xmm2
jbe 0x1000ab66
test ecx, 0x2000040
jne 0x1000ab66
mulss xmm0, dword [0x1009b448]
jmp 0x1000ab76
movss xmm0, dword [ebp + 0x3d38]
mulss xmm0, dword [0x1009b4c4]
cvttss2si eax, xmm0
push ebx
movd xmm0, eax
lea eax, [esp + 0x188]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebx + 0x254], xmm0
movss xmm1, dword [ebx + 0x48]
movss xmm0, dword [ebx + 0x1ec]
addss xmm1, xmm1
subss xmm0, dword [ebx + 0x1e4]
addss xmm1, dword [ebx + 0x30]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [ebx + 0x90], xmm0
movss xmm1, dword [ebx + 0x4c]
movss xmm0, dword [ebx + 0x1f0]
addss xmm1, xmm1
subss xmm0, dword [ebx + 0x1e8]
addss xmm1, dword [ebx + 0x34]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [ebx + 0x94], xmm0
call fcn.1000cdd0
add esp, 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebx + 0x88], ecx
mov dword [ebx + 0x8c], eax
mov dword [ebx + 0x98], 0x7f7fffff
mov dword [ebx + 0x9c], 0x7f7fffff
mov ecx, dword [ebx + 0x278]
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x70], 0
mov eax, dword [ebp + 0x3d34]
mov eax, dword [eax + 0x30]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.10038c80
push 0
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.1001fb40
mov edi, dword [esp + 0x20]
add esp, 0xc
and edi, 0x5000000
mov byte [esp + 0x11], 0
cmp edi, 0x1000000
jne 0x1000ad6f
cmp dword [esp + 0x20], 0x3000000
je 0x1000ad6f
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0x190]
cmp ecx, 2
jl 0x1000ad35
mov eax, dword [edi + 0x198]
mov eax, dword [eax + ecx*4 - 8]
test eax, eax
je 0x1000ad35
movss xmm1, dword [ebx + 0x18]
lea ecx, [esp + 0xd4]
movss xmm0, dword [ebx + 0x1c]
movss dword [esp + 0xc4], xmm1
addss xmm1, dword [ebx + 0x20]
movss dword [esp + 0xc8], xmm0
addss xmm0, dword [ebx + 0x24]
movss dword [esp + 0xcc], xmm1
movss xmm1, dword [eax + 0x18]
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [eax + 0x1c]
movss dword [esp + 0xd4], xmm1
addss xmm1, dword [eax + 0x20]
movss dword [esp + 0xd8], xmm0
addss xmm0, dword [eax + 0x24]
lea eax, [esp + 0xc4]
push eax
movss dword [esp + 0xe0], xmm1
movss dword [esp + 0xe4], xmm0
call fcn.1001f5d0
mov byte [esp + 0x12], al
jmp 0x1000ad3a
mov byte [esp + 0x12], 0
mov edx, dword [ebx + 0x278]
mov eax, dword [edx]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 8]
add ecx, ecx
cmp dword [eax + ecx*8 - 0x10], 0
jne 0x1000ad6f
mov eax, dword [edi + 0x278]
cmp dword [eax + 0x18], 0
je 0x1000ad6f
cmp byte [esp + 0x12], 0
jne 0x1000ad6f
mov byte [esp + 0x11], 1
mov dword [ebx + 0x278], eax
mov ecx, dword [ebp + 0x4c84]
test ecx, ecx
jne 0x1000ad7f
mov ecx, dword [ebp + 0x4ab8]
cmp byte [esp + 0x18], 0
jne 0x1000ad9f
test ecx, ecx
je 0x1000ad98
mov eax, dword [ebx + 0x330]
cmp eax, dword [ecx + 0x330]
je 0x1000ad9f
mov byte [esp + 0x38], 0
jmp 0x1000ada4
mov byte [esp + 0x38], 1
movd xmm0, esi
lea eax, [esp + 0x194]
push ecx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x80]
push 1
push dword [esp + 0x48]
push eax
push ebx
call fcn.10021c90
add esp, 0x1c
cmp byte [esp + 0x11], 0
je 0x1000ade7
lea eax, [ebx + 0x280]
mov dword [ebx + 0x278], eax
mov ecx, dword [esp + 0x14]
xorps xmm4, xmm4
movss xmm3, dword [ebx + 0x40]
mov edx, ecx
shr edx, 3
not dl
and dl, 1
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jp 0x1000ae42
mov eax, ecx
and eax, 0x808
cmp eax, 0x800
jne 0x1000ae1b
movss xmm3, dword [ebx + 0x30]
jmp 0x1000ae1e
xorps xmm3, xmm3
movss xmm0, dword [ebx + 0x48]
movss xmm1, dword [ebx + 0x20]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x68]
addss xmm0, dword [ebx + 0x60]
subss xmm1, xmm0
maxss xmm3, xmm1
movss xmm2, dword [ebx + 0x44]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1000ae82
test dl, dl
je 0x1000ae5b
movss xmm2, dword [ebx + 0x34]
jmp 0x1000ae5e
xorps xmm2, xmm2
movss xmm0, dword [ebx + 0x4c]
movss xmm1, dword [ebx + 0x24]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x6c]
addss xmm0, dword [ebx + 0x64]
subss xmm1, xmm0
maxss xmm2, xmm1
movss xmm1, dword [ebx + 0x48]
maxss xmm1, dword [ebx + 0x54]
movss xmm0, dword [ebx + 0x1e4]
subss xmm0, dword [ebx + 0x88]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x204], xmm0
movss xmm1, dword [ebx + 0x4c]
movss xmm0, dword [ebx + 0x1e8]
subss xmm0, dword [ebx + 0x8c]
maxss xmm1, dword [ebx + 0x54]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x208], xmm0
addss xmm3, dword [ebx + 0x204]
movss dword [ebx + 0x20c], xmm3
addss xmm2, dword [ebx + 0x208]
movss dword [ebx + 0x210], xmm2
movups xmm0, xmmword [ebx + 0x204]
movups xmmword [ebx + 0x214], xmm0
movss xmm0, dword [ebx + 0x18]
subss xmm0, dword [ebx + 0x88]
addss xmm0, dword [ebx + 0x48]
addss xmm0, dword [ebx + 0x60]
movss dword [ebx + 0x234], xmm0
movss xmm0, dword [ebx + 0x1c]
subss xmm0, dword [ebx + 0x8c]
addss xmm0, dword [ebx + 0x4c]
addss xmm0, dword [ebx + 0x64]
movss dword [ebx + 0x238], xmm0
movss xmm1, dword [ebx + 0x40]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1000af7e
movss xmm0, dword [ebx + 0x48]
movss xmm1, dword [ebx + 0x20]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x68]
addss xmm0, dword [ebx + 0x60]
subss xmm1, xmm0
addss xmm1, dword [ebx + 0x234]
movss dword [ebx + 0x23c], xmm1
movss xmm1, dword [ebx + 0x44]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1000afbc
movss xmm0, dword [ebx + 0x4c]
movss xmm1, dword [ebx + 0x24]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x6c]
addss xmm0, dword [ebx + 0x64]
subss xmm1, xmm0
addss xmm1, dword [ebx + 0x238]
push dword [esp + 0x3c]
movss dword [ebx + 0x240], xmm1
movss xmm0, dword [ebx + 0x60]
addss xmm0, dword [ebx + 0x48]
subss xmm0, dword [ebx + 0x88]
movss dword [ebx + 0x144], xmm0
mov dword [ebx + 0x14c], 0
mov dword [ebx + 0x148], 0
movss xmm3, dword [ebx + 0x48]
movss xmm0, dword [ebx + 0x18]
movss xmm2, dword [ebx + 0x4c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
addsd xmm3, xmm0
movss xmm0, dword [ebx + 0x88]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [ebx + 0x60]
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
movss xmm0, dword [ebx + 0x1c]
cvtps2pd xmm0, xmm0
addsd xmm3, qword [0x1009b3f8]
addsd xmm2, xmm0
movss xmm0, dword [ebx + 0x8c]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [ebx + 0x64]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm3
cvtpd2ps xmm1, xmm2
movss dword [ebx + 0x110], xmm0
movss dword [ebx + 0x114], xmm1
movss xmm0, dword [ebx + 0x110]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [ebx + 0x114]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm3
subsd xmm2, xmm0
movss dword [ebx + 0x150], xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebx + 0x154], xmm0
movss xmm0, dword [ebx + 0x110]
movss xmm1, dword [ebx + 0x114]
movss dword [ebx + 0x100], xmm0
movss dword [ebx + 0x104], xmm1
movss dword [ebx + 0x108], xmm0
movss dword [ebx + 0x10c], xmm1
mov eax, dword [ebx + 0x110]
mov ecx, dword [ebx + 0x114]
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x11c], ecx
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx + 0x110]
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], ecx
mov dword [ebx + 0x130], 0
mov dword [ebx + 0x134], 0
mov dword [ebx + 0x128], 0
mov dword [ebx + 0x12c], 0
mov dword [ebx + 0x13c], 0
mov dword [ebx + 0x138], 0
mov word [ebx + 0x140], 0
mov dword [ebx + 0x158], 0
mov ax, word [ebx + 0x15e]
mov word [ebx + 0x15c], ax
mov dword [ebx + 0x15e], 0x10000
movss xmm0, dword [ebx + 0x94]
comiss xmm0, xmm4
push ecx
lea ecx, [ebx + 0x16c]
seta al
mov byte [ebx + 0x162], al
mov byte [ebx + 0x163], 0
movss xmm0, dword [ebp + 0x38fc]
movss dword [esp], xmm0
call fcn.10086c80
mov dword [ebx + 0x188], 0
mov dword [ebx + 0x18c], 0
mov ecx, dword [ebx + 0x194]
test ecx, ecx
jns 0x1000b1e7
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, [ebx + 0x190]
call fcn.1002d9f0
mov esi, dword [esp + 0x34]
lea eax, [ebx + 0x258]
mov dword [ebx + 0x190], 0
mov dword [ebx + 0x19c], eax
mov dword [ebx + 0x1a0], 0
mov dword [ebx + 0x1a8], 1
test esi, esi
je 0x1000b221
mov eax, dword [esi + 0x1a8]
jmp 0x1000b226
mov eax, 1
mov dword [ebx + 0x1ac], eax
mov eax, dword [ebx + 0x254]
mov dword [ebx + 0x1b4], eax
mov dword [ebx + 0x1b8], 0xbf800000
mov ecx, dword [ebx + 0x1c0]
test ecx, ecx
jns 0x1000b268
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, [ebx + 0x1bc]
call fcn.1002d9f0
mov dword [ebx + 0x1bc], 0
mov ecx, dword [ebx + 0x1cc]
test ecx, ecx
jns 0x1000b298
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, [ebx + 0x1c8]
call fcn.1002d9f0
test dword [esp + 0x14], 0x8000000
mov dword [ebx + 0x1c8], 0
je 0x1000b2c5
mov eax, dword [0x100b9cac]
add eax, 0x3d10
push eax
call fcn.1000deb0
add esp, 4
mov dword [ebx + 0x1b0], eax
mov al, byte [ebx + 0xd2]
test al, al
jle 0x1000b2d7
dec al
mov byte [ebx + 0xd2], al
mov al, byte [ebx + 0xd3]
test al, al
jle 0x1000b2e9
dec al
mov byte [ebx + 0xd3], al
cmp byte [esp + 0x18], 0
je 0x1000b30e
push 2
push ebx
call fcn.10013e20
add esp, 8
cmp ebx, dword [ebp + 0x4ab8]
jne 0x1000b30e
push 0
push ebx
call fcn.1001a620
add esp, 8
test byte [esp + 0x14], 1
jne 0x1000b37d
movss xmm0, dword [ebx + 0x54]
lea eax, [esp + 0xe4]
addss xmm0, dword [esp + 0x74]
push dword [esp + 0x6c]
push dword [esp + 0x4c]
movss dword [esp + 0xec], xmm0
movss xmm0, dword [esp + 0x80]
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [esp + 0x84]
subss xmm0, dword [ebx + 0x54]
push eax
push ebx
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [esp + 0x90]
movss dword [esp + 0x100], xmm0
call fcn.100225e0
add esp, 0x10
xor eax, eax
mov dword [ebx + 0x244], eax
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.10023cd0
mov eax, dword [ebp + 0x4944]
add esp, 8
test eax, eax
je 0x1000b4c2
cmp dword [ebx + 8], eax
je 0x1000b3af
cmp dword [ebx + 0x7c], eax
jne 0x1000b4c2
call fcn.1000ee80
jmp 0x1000b4c2
cmp byte [ebx + 0xc0], 0
je 0x1000b3c9
mov byte [ebx + 0xba], 1
mov ecx, dword [0x100b9cac]
mov dword [ecx + 0x3fec], ebx
mov eax, dword [ebx + 0x1a4]
cmp eax, 0xffffffff
je 0x1000b3eb
shl eax, 9
add eax, dword [ecx + 0x4d84]
jmp 0x1000b3ed
xor eax, eax
mov dword [ecx + 0x4d64], eax
mov dword [ecx + 0x3d44], 0x3f800000
mov eax, dword [ebx]
movss xmm0, dword [eax + 0x3d3c]
mov eax, dword [ebx + 0x320]
mulss xmm0, dword [ebx + 0x270]
test eax, eax
je 0x1000b421
mulss xmm0, dword [eax + 0x270]
mov eax, dword [ecx + 0x3d34]
movss dword [ecx + 0x3d54], xmm0
movss dword [ecx + 0x3d38], xmm0
divss xmm0, dword [eax + 0x10]
movss dword [ecx + 0x3d40], xmm0
mov eax, dword [0x100b9cac]
cmp dword [eax + 0x4d64], 0
mov ecx, dword [eax + 0x3fec]
jne 0x1000b465
cmp dword [ecx + 0x1a0], 0
jne 0x1000b465
mov al, 1
jmp 0x1000b467
xor al, al
mov byte [ecx + 0x160], al
lea eax, [esp + 0xf4]
movss xmm0, dword [ebx + 0x18]
movss xmm1, dword [ebx + 0x58]
movaps xmm2, xmm0
addss xmm2, dword [ebx + 0x28]
addss xmm1, dword [ebx + 0x1c]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [ebx + 0x1c]
push eax
push ebx
movss dword [esp + 0x100], xmm0
movss dword [esp + 0x104], xmm2
movss dword [esp + 0x108], xmm1
call fcn.10023cd0
mov esi, dword [esp + 0x3c]
add esp, 8
cmp byte [ebx + 0xc0], 0
jne 0x1000b4e3
push 1
lea eax, [ebx + 0x1fc]
push eax
lea eax, [ebx + 0x1f4]
push eax
call fcn.1001fb40
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov byte [ebx + 0xbc], 0
inc word [ebx + 0xc8]
mov dword [ebp + 0x49d0], 0
cmp eax, dword [esp + 0x40]
je 0x1000b680
cmp byte [ebx + 0xc0], 0
jne 0x1000b679
mov eax, dword [esp + 0x14]
and eax, 0x11000000
cmp eax, 0x1000000
jne 0x1000b5e1
test dword [ebx + 0x10], 0x100
je 0x1000b558
cmp byte [ebp + 0x4b04], 0
je 0x1000b558
mov eax, dword [ebp + 0x4ab8]
test eax, eax
je 0x1000b558
mov eax, dword [eax + 0x334]
cmp eax, dword [ebx + 0x334]
jne 0x1000b558
mov al, 1
jmp 0x1000b55a
xor al, al
cmp byte [ebp + 0x5f48], 0
jne 0x1000b5ab
test al, al
jne 0x1000b5ab
movss xmm0, dword [ebx + 0x1d4]
comiss xmm0, dword [ebx + 0x1dc]
jae 0x1000b589
movss xmm0, dword [ebx + 0x1d8]
comiss xmm0, dword [ebx + 0x1e0]
jb 0x1000b5ab
cmp byte [ebx + 0xd2], 0
jg 0x1000b5a4
cmp byte [ebx + 0xd3], 0
jg 0x1000b5a4
mov byte [ebx + 0xdc], 1
jmp 0x1000b5ab
mov byte [ebx + 0xdd], 1
test esi, esi
je 0x1000b5e1
cmp byte [esi + 0xbd], 0
jne 0x1000b5c1
cmp byte [esi + 0xdc], 0
jle 0x1000b5c8
mov byte [ebx + 0xdc], 1
cmp byte [esi + 0xbd], 0
jne 0x1000b5da
cmp byte [esi + 0xdd], 0
jle 0x1000b5e1
mov byte [ebx + 0xdd], 1
xorps xmm0, xmm0
comiss xmm0, dword [ebp + 0x38b0]
jb 0x1000b5f4
mov byte [ebx + 0xdc], 1
cmp byte [ebx + 0xdc], 0
jg 0x1000b614
cmp byte [ebx + 0xdd], 0
jg 0x1000b614
xor cl, cl
cmp byte [ebx + 0xde], cl
jg 0x1000b616
xor al, al
jmp 0x1000b618
mov cl, 1
mov al, 1
mov byte [ebx + 0xc2], al
mov al, byte [ebx + 0xdf]
test al, al
jle 0x1000b637
dec al
mov byte [ebx + 0xdf], al
or dword [ebx + 0xc], 0x30200
xor al, al
cmp byte [ebx + 0xbd], al
jne 0x1000b64d
cmp byte [ebx + 0xba], al
je 0x1000b64d
test cl, cl
je 0x1000b671
cmp byte [ebx + 0xd2], 0
jg 0x1000b671
cmp byte [ebx + 0xd3], 0
jg 0x1000b671
cmp byte [ebx + 0xdd], 0
mov ecx, 1
movzx eax, al
cmovle eax, ecx
mov byte [ebx + 0xbf], al
jmp 0x1000b680
mov byte [ebx + 0xbf], 1
cmp byte [ebx + 0xc3], 0
jne 0x1000b6d3
cmp byte [ebp + 0x69], 0
je 0x1000b696
cmp dword [esp + 0x1c], 0
je 0x1000b6ab
cmp byte [ebp + 0x6a], 0
je 0x1000b6d3
movsx eax, byte [ebp + 0x5fa8]
cmp eax, dword [ebp + 0x3fc4]
jne 0x1000b6d3
mov al, byte [ebx + 0xd2]
test al, al
jle 0x1000b6bd
inc al
mov byte [ebx + 0xd2], al
mov al, byte [ebx + 0xd3]
test al, al
jle 0x1000b6cf
inc al
mov byte [ebx + 0xd3], al
xor al, al
jmp 0x1000b6dd
cmp byte [ebx + 0xbf], 0
sete al
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10092be1
add esp, 0x198
ret