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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x102a000c]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [0x102a0b70]
push edi
mov edi, ecx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x18]
mov ecx, esi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x104], edi
mov eax, dword [ecx + 0x17fc]
mov dword [ebp - 0x50], ecx
mov byte [eax + 0x8e], 1
mov ebx, dword [ecx + 0x17fc]
mov dword [ebp - 0x70], ebx
cmp byte [ebx + 0x90], 0
jne 0x10051a5a
mov eax, dword [ebp + 0x10]
mov edx, eax
shr edx, 0xe
mov ecx, eax
not dl
mov dword [ebp - 0x8c], eax
and edx, 0xffffff01
shr ecx, 0x14
mov dword [ebp - 0x58], edx
and ecx, 0xffffff01
mov edx, eax
mov dword [ebp - 0x80], ecx
shr eax, 0x10
shr edx, 0xf
not al
and edx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x60], eax
test cl, cl
je 0x10051778
call fcn.10049b80
mov esi, dword [0x102a0b70]
mov ecx, dword [ebx + 0x1a4]
xor edx, edx
mov eax, dword [ebx + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.1006ce40
add esp, 4
mov dword [ebp - 0x7c], eax
cmp dword [esi + 0x181c], eax
jne 0x100517a6
mov byte [esi + 0x1828], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x100517c5
nop dword [eax]
mov al, byte [ecx]
test al, al
je 0x100517c5
cmp al, 0x23
jne 0x100517bf
cmp byte [ecx + 1], al
je 0x100517c5
inc ecx
cmp ecx, 0xffffffff
jb 0x100517b0
movss xmm0, dword [esi + 0x172c]
mov eax, dword [ebp - 0x104]
movss xmm1, dword [0x10293f64]
mov edi, dword [esi + 0x1728]
movss dword [ebp - 0x68], xmm0
movss dword [ebp - 0xd8], xmm1
cmp eax, ecx
jne 0x100517ff
xorps xmm2, xmm2
movss dword [ebp - 0xfc], xmm2
jmp 0x10051868
movss xmm3, dword [0x10293f48]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
lea eax, [ebp - 0xa4]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.100873e0
movss xmm1, dword [ebp - 0xa4]
xorps xmm2, xmm2
comiss xmm1, xmm2
jbe 0x10051840
movss xmm0, dword [ebp - 0x68]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x10293de4]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x68], xmm0
cmp byte [ebp - 0x80], 0
je 0x10051883
movss xmm0, dword [esi + 0x172c]
mulss xmm0, dword [0x10293e6c]
movss dword [ebp - 0x68], xmm0
mov esi, dword [esi + 0x17fc]
movss xmm4, dword [0x10293df0]
movss xmm3, dword [esi + 0x144]
comiss xmm2, xmm3
jbe 0x100518fe
movss xmm2, dword [esi + 0xd8]
mov edi, dword [esi + 0x1a0]
movss xmm1, dword [esi + 0x4c]
subss xmm2, dword [esi + 0x14]
test edi, edi
je 0x100518ef
mov edx, dword [edi + 0xc]
movss xmm1, dword [edi + 0x18]
subss xmm1, dword [edi + 0x14]
movss xmm0, dword [ebp - 0x68]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [edi + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [edi + 0x14]
subss xmm1, dword [esi + 0x54]
subss xmm1, xmm2
addss xmm1, xmm3
movaps xmm3, xmm4
maxss xmm3, xmm1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0xa4]
mov edi, dword [ebp - 0x50]
push dword [eax + 4]
movss xmm1, dword [edi + 0x141c]
push dword [eax]
cvttss2si eax, xmm3
movaps xmm2, xmm1
addss xmm2, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm2, xmm0
call fcn.10069ee0
movss xmm4, dword [ebx + 0xd8]
xorps xmm3, xmm3
movss xmm0, dword [ebp - 0xa4]
movaps xmm6, xmm4
movss xmm5, dword [ebx + 0xdc]
addss xmm6, xmm0
movss dword [ebp - 0xc4], xmm0
movaps xmm2, xmm5
movss xmm0, dword [ebp - 0xa0]
add esp, 8
addss xmm2, xmm0
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, xmm3
movss dword [ebp - 0xb8], xmm4
movss dword [ebp - 0x108], xmm6
movss dword [ebp - 0x100], xmm5
movss dword [ebp - 0xb4], xmm4
movss dword [ebp - 0xb0], xmm5
movss dword [ebp - 0xac], xmm6
movss dword [ebp - 0xa8], xmm2
jbe 0x100519c8
movaps xmm1, xmm0
addss xmm1, dword [edi + 0x1430]
jmp 0x100519cb
xorps xmm1, xmm1
cmp byte [ebp - 0x80], 0
movaps xmm0, xmm6
addss xmm0, xmm1
movss dword [ebp - 0xf4], xmm4
movaps xmm1, xmm2
movss dword [ebp - 0xf0], xmm5
addss xmm1, xmm3
mov dword [ebp - 0x98], ebx
movss dword [ebp - 0xec], xmm0
movss dword [ebp - 0xe8], xmm1
je 0x10051aa6
mov esi, dword [ebp - 0x7c]
subss xmm2, xmm5
movaps xmm0, xmm6
lea edx, [ebp - 0xa4]
subss xmm0, xmm4
push ecx
mov ecx, esi
movss dword [ebp - 0xa0], xmm2
movss dword [ebp - 0xa4], xmm0
call fcn.100646f0
add esp, 4
test al, al
jne 0x10051a6d
call fcn.100647f0
mov ecx, 3
call fcn.1005ee90
mov ecx, 1
call fcn.1005f000
call fcn.100499e0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1001ed23
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x102a0b70]
movss xmm7, dword [ebp - 0xc4]
mov eax, dword [ecx + 0x17fc]
mov byte [eax + 0x8e], 1
mov ebx, dword [ecx + 0x17fc]
mov dword [ebp - 0x98], ebx
subss xmm7, dword [ebx + 0x84]
movss dword [ebp - 0xc4], xmm7
jmp 0x10051ae9
subss xmm1, xmm5
subss xmm0, xmm4
lea ecx, [ebp - 0xa4]
movss dword [ebp - 0xa0], xmm1
movss xmm1, dword [edi + 0x141c]
movss dword [ebp - 0xa4], xmm0
call fcn.1006a550
mov esi, dword [ebp - 0x7c]
lea ecx, [ebp - 0xf4]
mov edx, esi
call fcn.1006a3d0
test al, al
je 0x10051a5a
mov edx, esi
lea ecx, [ebp - 0xb4]
call fcn.1006a1c0
mov byte [ebp - 0x77], al
test al, al
je 0x10051b07
mov dword [edi + 0x1980], 1
cmp byte [ebp - 0xd4], 0
je 0x10051b9d
mov esi, dword [edi + 0x1728]
cmp dword [esi + 0x28], 0x2a
jle 0x10051b3c
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
je 0x10051b3c
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
jmp 0x10051b3f
mov edi, dword [esi + 0x34]
mov ebx, dword [ebp - 0x50]
mov eax, dword [esi]
lea edx, [ebx + 0x2828]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 0x1728]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [ebx + 0x1728]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [ebx + 0x1728]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [ebx + 0x1728]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov dword [edx + 0x34], edi
mov eax, dword [edi + 4]
mov dword [edx + 0x38], eax
call fcn.1005f440
mov esi, dword [ebp - 0x7c]
mov edi, ebx
test dword [ebp - 0x8c], 0x440
lea ebx, [edi + 0x1b54]
mov ecx, dword [ebp - 0x70]
mov edx, esi
sete al
mov dword [ebp - 0xbc], ebx
movzx eax, al
push eax
call fcn.1006a000
mov dl, al
add esp, 4
mov byte [ebp - 0x76], dl
test dl, dl
je 0x10051c2d
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 0x264]
cmp ecx, dword [eax + 0x26c]
jne 0x10051c2d
mov byte [ebp - 0x51], 1
mov byte [ebp - 0x61], 0
cmp byte [ebp - 0x77], 0
je 0x10051bfc
cmp byte [edi + 0x36c], 0
mov byte [ebp - 0x49], 1
jne 0x10051c00
mov byte [ebp - 0x49], 0
cmp byte [ebp - 0x80], 0
je 0x10051c3f
cmp dword [edi + 0x181c], 0
jne 0x10051c3f
cmp dword [ebx], esi
jne 0x10051c3f
mov ecx, dword [ebp - 0x98]
sub esp, 8
call fcn.1006a890
cmp dword [edi + 0x1820], eax
jne 0x10051c3f
mov cl, 1
jmp 0x10051c41
mov byte [ebp - 0x51], 0
test dl, dl
je 0x10051be5
mov byte [ebp - 0x61], 1
mov byte [ebp - 0x51], 0
jmp 0x10051be9
xor cl, cl
mov eax, dword [edi + 0x181c]
mov edx, dword [ebp - 0x7c]
mov byte [ebp - 0x75], 0
cmp eax, edx
je 0x10051c5f
test byte [ebp - 0x8c], 0x10
mov byte [ebp - 0x68], 1
jne 0x10051c63
mov byte [ebp - 0x68], 0
cmp byte [ebp - 0x76], 0
mov esi, dword [ebp + 8]
jne 0x10051c8b
cmp byte [ebp - 0x49], 0
jne 0x10051c8b
test cl, cl
jne 0x10051c8b
cmp byte [edi + 0x36c], cl
je 0x10051dc6
mov byte [ebp - 0x75], 1
jmp 0x10051dc6
cmp eax, edx
je 0x10051dab
mov eax, dword [ebx + 0x2c]
lea edi, [esi + 1]
lea ecx, [ebx + 4]
mov dword [ebp - 0x6c], eax
push edi
call fcn.10005ac0
push edi
lea ecx, [ebx + 0x10]
call fcn.10005c60
mov esi, dword [ebx + 0x10]
mov edi, dword [ebx + 0x18]
cmp esi, 1
jb 0x10051cce
push esi
push dword [ebp - 0x94]
push edi
call fcn.100285b0
add esp, 0xc
mov byte [edi + esi - 1], 0
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x74]
mov edx, dword [ebx + 4]
push eax
push ecx
mov ecx, dword [ebx + 0xc]
push esi
mov dword [ebp - 0x74], 0
call fcn.1006ca80
mov ecx, dword [ebp - 0x74]
add esp, 0xc
mov edx, dword [ebp - 0x7c]
sub ecx, esi
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0xccc], 0xbe99999a
cmp dword [ebx], edx
jne 0x10051d1c
cmp dword [ebp - 0x6c], eax
jne 0x10051d1c
mov ecx, ebx
call fcn.100048c0
mov ecx, dword [ebp - 0x80]
jmp 0x10051d7e
mov ecx, dword [ebp - 0x80]
mov al, cl
mov dword [ebx], edx
xor al, 1
mov dword [ebx + 0x34], 0
mov dword [ebx + 0xcc2], 0x630000
mov dword [ebx + 0xcc6], 0x3e70000
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x44], 0x10000
mov dword [ebx + 0x4c], 0
mov byte [ebx + 0x48], al
test cl, cl
jne 0x10051d7e
mov eax, dword [ebp - 0x68]
mov edx, 1
cmp byte [ebp - 0x51], cl
movzx eax, al
cmovne eax, edx
mov dword [ebp - 0x68], eax
test dword [ebp - 0x8c], 0x2000
je 0x10051d8e
mov byte [ebx + 0x44], 1
mov edi, dword [ebp - 0x50]
test cl, cl
jne 0x10051dab
cmp byte [ebp - 0x61], cl
jne 0x10051da7
cmp byte [ebp - 0x49], cl
je 0x10051dab
cmp byte [edi + 0xe1], cl
je 0x10051dab
mov byte [ebp - 0x68], 1
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x7c]
call fcn.1006a770
mov ecx, edx
call fcn.1005fa60
mov eax, dword [edi + 0x181c]
mov edx, dword [ebp - 0x7c]
movss xmm0, dword [0x10293db4]
mov byte [ebp - 0x76], 0
mov byte [ebp - 0x61], 0
cmp eax, edx
jne 0x10052058
cmp byte [ebp - 0x58], 0
jne 0x10051e38
cmp byte [edi + 0x1829], 0
jne 0x10051e38
mov eax, dword [ebp + 8]
lea ecx, [ebx + 4]
inc eax
push eax
call fcn.10005ac0
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x74]
push eax
push ecx
push dword [ebp - 0x94]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x74], 0
call fcn.1006ca80
mov dword [ebx + 0x2c], eax
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov ecx, ebx
sub eax, dword [ebp - 0x94]
mov dword [ebx + 0x28], eax
call fcn.100048c0
movss xmm0, dword [0x10293db4]
mov eax, dword [ebp + 8]
mov dword [ebx + 0x30], eax
cmp byte [edi + 0xd4], 0
mov dword [edi + 0x2af4], 1
sete al
cmp byte [ebp - 0x80], 0
mov byte [edi + 0x182a], al
movss xmm1, dword [edi + 0xcc]
subss xmm1, dword [ebp - 0xb8]
subss xmm1, dword [edi + 0x1418]
addss xmm1, dword [ebx + 0x34]
je 0x10051e9b
mov eax, dword [ebp - 0x98]
movss xmm2, dword [edi + 0xd0]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [edi + 0x141c]
jmp 0x10051ea7
movss xmm2, dword [edi + 0x172c]
mulss xmm2, xmm0
cmp byte [ebp - 0x68], 0
mov cl, byte [edi + 0xa8]
jne 0x10051f83
cmp byte [ebp - 0x77], 0
je 0x10051ecf
mov al, byte [edi + 0x371]
test cl, cl
jne 0x10051f05
test al, al
jne 0x10051f83
cmp byte [edi + 0x36c], 0
mov al, byte [ebx + 0xcd1]
je 0x10051f23
test al, al
jne 0x10051f23
mov ecx, ebx
call fcn.10055ef0
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x47], 0
mov dword [ebx + 0xccc], 0xbe99999a
jmp 0x10051f9e
test al, al
je 0x10051ecf
push 0x1000c
mov ecx, ebx
call fcn.10054770
push 0x3000d
mov ecx, ebx
call fcn.10054770
jmp 0x10051f9e
cmp byte [edi + 0xd4], 0
je 0x10051f9e
test al, al
jne 0x10051f9e
movss xmm0, dword [edi + 0x320]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10051f55
movss xmm0, dword [edi + 0x324]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x10051f9e
mov ecx, ebx
call fcn.10055ef0
mov ecx, dword [ebx + 0x3c]
cmp ecx, dword [ebx + 0x40]
jne 0x10051f6a
mov ecx, dword [ebx + 0x38]
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0xccc], 0xbe99999a
mov byte [ebx + 0xcd0], 1
jmp 0x10051f9e
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
mov byte [ebx + 0xcd1], 1
cmp byte [ebx + 0xcd1], 0
je 0x10051fb7
cmp byte [edi + 0xd4], 0
jne 0x10051fb7
mov byte [ebx + 0xcd1], 0
cmp word [edi + 0x2e6], 0
lea esi, [edi + 0x2e6]
je 0x10052058
cmp byte [edi + 0xe1], 0
je 0x10051fdd
cmp byte [edi + 0xe3], 0
je 0x1005203e
cmp byte [ebp - 0x58], 0
je 0x1005203e
xor edi, edi
movzx eax, word [esi]
test ax, ax
je 0x1005203b
push dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x74]
push dword [ebp - 0x88]
mov dword [ebp - 0x74], eax
call fcn.100544d0
add esp, 8
test al, al
je 0x10052032
push dword [ebp - 0x74]
lea edx, [ebx + 0x38]
mov ecx, ebx
call fcn.10055080
add esp, 4
mov byte [ebx + 0xcd0], 1
mov dword [ebx + 0xccc], 0xbe99999a
inc edi
add esi, 2
cmp edi, 0x11
jl 0x10051fe5
mov edi, dword [ebp - 0x50]
xorps xmm0, xmm0
movups xmmword [edi + 0x2e6], xmm0
movups xmmword [edi + 0x2f6], xmm0
mov word [edi + 0x306], 0
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 0x49], 0
cmp dword [edi + 0x181c], eax
jne 0x100521bb
cmp byte [edi + 0x1829], 0
jne 0x100521bb
cmp byte [ebp - 0x75], 0
jne 0x100521bb
mov cl, byte [edi + 0xe2]
xor esi, esi
test cl, cl
mov byte [ebp - 0xbd], cl
mov eax, 0x20000
cmovne esi, eax
mov al, byte [edi + 0xa8]
mov byte [ebp - 0x51], al
test al, al
je 0x100520b9
cmp byte [edi + 0xe4], 0
je 0x100520dc
cmp byte [edi + 0xe1], 0
jmp 0x100520c9
cmp byte [edi + 0xe1], 0
je 0x100520dc
cmp byte [edi + 0xe4], 0
jne 0x100520dc
cmp byte [edi + 0xe3], 0
jne 0x100520dc
mov byte [ebp - 0x77], 1
test cl, cl
je 0x100520e0
mov byte [ebp - 0x77], 0
test al, al
je 0x10052104
cmp byte [edi + 0xe4], 0
mov dh, byte [edi + 0xe3]
je 0x1005210a
cmp byte [edi + 0xe1], 0
jne 0x1005210a
test dh, dh
jne 0x1005210a
mov dl, 1
jmp 0x1005210c
mov dh, byte [edi + 0xe1]
xor dl, dl
mov edi, dword [0x102a0b70]
xorps xmm4, xmm4
mov dword [ebp - 0x5c], edi
mov eax, dword [edi + 0x2c]
test eax, eax
js 0x10052229
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052197
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052229
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052158
mov eax, 1
jmp 0x1005218f
comiss xmm2, xmm1
jae 0x1005218d
comiss xmm4, xmm3
jae 0x1005218d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1005218f
xor eax, eax
test eax, eax
jle 0x10052229
test dl, dl
je 0x100521a2
mov eax, 0x10004
jmp 0x100521b1
mov eax, 0x10000
mov ecx, 0x1000c
test dh, dh
cmovne eax, ecx
or eax, esi
push eax
mov ecx, ebx
call fcn.10054770
mov edi, dword [0x102a0b70]
mov dword [ebp - 0x5c], edi
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x49]
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x7c]
cmp dword [eax + 0x181c], esi
jne 0x1005374c
test cl, cl
je 0x1005352f
test dl, dl
je 0x1005220c
push dword [ebp + 8]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x94]
call fcn.1006d1b0
mov edi, dword [0x102a0b70]
add esp, 4
mov edx, dword [ebp - 0x58]
mov byte [ebp - 0x76], 1
mov dword [ebp - 0x5c], edi
cmp byte [ebp - 0x61], 0
je 0x1005374c
mov eax, dword [ebp - 0x8c]
test al, 0x20
je 0x1005374c
jmp 0x10053535
mov eax, dword [edi + 0x30]
test eax, eax
js 0x100522bb
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100522a0
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x100522bb
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052265
mov eax, 1
jmp 0x1005229c
comiss xmm2, xmm1
jae 0x1005229a
comiss xmm4, xmm3
jae 0x1005229a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1005229c
xor eax, eax
test eax, eax
jle 0x100522bb
test dl, dl
je 0x100522ae
mov eax, 0x10005
jmp 0x100521b1
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x100521ac
mov eax, dword [edi + 0x34]
test eax, eax
js 0x1005238f
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052336
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x1005238f
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100522fb
mov eax, 1
jmp 0x10052332
comiss xmm2, xmm1
jae 0x10052330
comiss xmm4, xmm3
jae 0x10052330
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052332
xor eax, eax
test eax, eax
jle 0x1005238f
cmp byte [ebp - 0x80], 0
je 0x1005238f
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0xe1], 0
je 0x10052380
mov edx, dword [ebp - 0x98]
movss xmm1, dword [edx + 0x6c]
movaps xmm0, xmm1
subss xmm0, dword [eax + 0x172c]
addss xmm1, dword [edx + 0xf4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edx + 0x6c], xmm0
movss dword [edx + 0xf4], xmm1
jmp 0x100521c7
movzx eax, dl
lea eax, [eax*4 + 0x10002]
jmp 0x100521b1
mov eax, dword [edi + 0x38]
test eax, eax
js 0x1005248f
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1005240e
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x1005248f
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100523cf
mov eax, 1
jmp 0x10052406
comiss xmm2, xmm1
jae 0x10052404
comiss xmm4, xmm3
jae 0x10052404
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052406
xor eax, eax
test eax, eax
jle 0x1005248f
cmp byte [ebp - 0x80], 0
je 0x1005248f
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0xe1], 0
je 0x10052480
mov eax, dword [edi + 0x17fc]
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [eax + 0x88]
movss xmm1, dword [eax + 0x38]
mov eax, ecx
movss xmm3, dword [edx + 0x6c]
movaps xmm2, xmm3
addss xmm2, dword [ecx + 0x172c]
addss xmm3, dword [edx + 0xf4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [edx + 0x6c], xmm2
movss dword [edx + 0xf4], xmm3
jmp 0x100521c7
movzx eax, dl
lea eax, [eax*4 + 0x10003]
jmp 0x100521b1
mov eax, dword [edi + 0x44]
test eax, eax
js 0x10052526
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052506
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052526
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100524cb
mov eax, 1
jmp 0x10052502
comiss xmm2, xmm1
jae 0x10052500
comiss xmm4, xmm3
jae 0x10052500
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052502
xor eax, eax
test eax, eax
jle 0x10052526
mov ecx, dword [ebp - 0x50]
mov eax, esi
or eax, 0x10006
or esi, 0x10004
cmp byte [ecx + 0xe1], 0
cmovne esi, eax
push esi
jmp 0x100521b4
mov eax, dword [edi + 0x48]
test eax, eax
js 0x100525bd
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1005259d
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x100525bd
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052562
mov eax, 1
jmp 0x10052599
comiss xmm2, xmm1
jae 0x10052597
comiss xmm4, xmm3
jae 0x10052597
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052599
xor eax, eax
test eax, eax
jle 0x100525bd
mov ecx, dword [ebp - 0x50]
mov eax, esi
or eax, 0x10007
or esi, 0x10005
cmp byte [ecx + 0xe1], 0
cmovne esi, eax
push esi
jmp 0x100521b4
mov eax, dword [edi + 0x4c]
test eax, eax
js 0x10052646
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052634
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052646
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100525f9
mov eax, 1
jmp 0x10052630
comiss xmm2, xmm1
jae 0x1005262e
comiss xmm4, xmm3
jae 0x1005262e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052630
xor eax, eax
test eax, eax
jle 0x10052646
cmp byte [ebp - 0x58], 0
je 0x10052646
or esi, 0x10008
push esi
jmp 0x100521b4
mov eax, dword [edi + 0x50]
test eax, eax
js 0x10052727
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100526c1
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052727
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052686
mov eax, 1
jmp 0x100526bd
comiss xmm2, xmm1
jae 0x100526bb
comiss xmm4, xmm3
jae 0x100526bb
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100526bd
xor eax, eax
test eax, eax
jle 0x10052727
cmp byte [ebp - 0x58], 0
je 0x10052727
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
jne 0x1005271b
test dh, dh
je 0x100526eb
push 0x3000c
mov ecx, ebx
call fcn.10054770
or esi, 0x10009
push esi
jmp 0x100521b4
cmp byte [ebp - 0x51], 0
je 0x1005271b
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0xe4], 0
je 0x1005271b
cmp byte [eax + 0xe3], 0
jne 0x1005271b
cmp byte [eax + 0xe1], 0
jne 0x1005271b
push 0x30004
mov ecx, ebx
call fcn.10054770
or esi, 0x10009
push esi
jmp 0x100521b4
mov eax, dword [edi + 0x54]
test eax, eax
js 0x1005280f
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100527a2
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x1005280f
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052767
mov eax, 1
jmp 0x1005279e
comiss xmm2, xmm1
jae 0x1005279c
comiss xmm4, xmm3
jae 0x1005279c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1005279e
xor eax, eax
test eax, eax
jle 0x1005280f
mov edx, dword [ebp - 0x8c]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x80], 0
je 0x100527c6
mov ecx, dword [ebp - 0x50]
mov cl, byte [ecx + 0xe1]
test al, al
je 0x100527d3
test cl, cl
jne 0x100527d7
mov byte [ebp - 0x75], 1
mov byte [ebp - 0x61], 1
jmp 0x100521c4
test cl, cl
jne 0x100527c6
cmp byte [ebp - 0x58], 0
je 0x100521c4
mov dword [ebp - 0x74], 0xa
push dword [ebp - 0x90]
lea ecx, [ebp - 0x74]
push dword [ebp - 0x88]
call fcn.100544d0
add esp, 8
test al, al
je 0x100521bb
push dword [ebp - 0x74]
jmp 0x100521b4
mov edx, dword [ebp - 0x8c]
test edx, 0x400
je 0x100528cc
mov eax, dword [edi + 0x28]
test eax, eax
js 0x100528cc
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1005289c
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x100528cc
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052861
mov eax, 1
jmp 0x10052898
comiss xmm2, xmm1
jae 0x10052896
comiss xmm4, xmm3
jae 0x10052896
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052898
xor eax, eax
test eax, eax
jle 0x100528cc
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0xe1], 0
jne 0x100528cc
cmp byte [ebp - 0xbd], 0
jne 0x100528cc
cmp byte [eax + 0xe3], 0
jne 0x100528cc
cmp byte [ebp - 0x58], 0
je 0x100528cc
mov dword [ebp - 0x74], 9
jmp 0x100527e8
mov eax, dword [edi + 0x58]
test eax, eax
js 0x1005294c
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1005293f
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x1005294c
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052904
mov eax, 1
jmp 0x1005293b
comiss xmm2, xmm1
jae 0x10052939
comiss xmm4, xmm3
jae 0x10052939
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1005293b
xor eax, eax
test eax, eax
jle 0x1005294c
mov eax, dword [ebp - 0x50]
mov cl, 1
mov byte [ebp - 0x75], cl
jmp 0x100521ca
cmp byte [ebp - 0x77], 0
je 0x100521c4
mov eax, dword [edi + 0x70]
test eax, eax
js 0x100529f4
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100529cd
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x100529f4
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052992
mov eax, 1
jmp 0x100529c9
comiss xmm2, xmm1
jae 0x100529c7
comiss xmm4, xmm3
jae 0x100529c7
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100529c9
xor eax, eax
test eax, eax
jle 0x100529f4
cmp byte [ebp - 0x58], 0
mov edx, dword [ebp - 0x60]
je 0x100529f7
test dl, dl
je 0x100529f7
push 0x1000a
mov ecx, ebx
call fcn.10054770
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
jmp 0x100521bb
mov edx, dword [ebp - 0x60]
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x10052a82
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052a6e
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052a82
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052a33
mov eax, 1
jmp 0x10052a6a
comiss xmm2, xmm1
jae 0x10052a68
comiss xmm4, xmm3
jae 0x10052a68
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052a6a
xor eax, eax
test eax, eax
jle 0x10052a82
cmp byte [ebp - 0x58], 0
je 0x10052a82
test dl, dl
je 0x10052a82
push 0x1000b
jmp 0x100529df
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x10052b19
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052af9
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052b19
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052abe
mov eax, 1
jmp 0x10052af5
comiss xmm2, xmm1
jae 0x10052af3
comiss xmm4, xmm3
jae 0x10052af3
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052af5
xor eax, eax
test eax, eax
jle 0x10052b19
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
mov byte [ebx + 0xcd0], 1
jmp 0x100521c4
cmp byte [ebp - 0xd4], 0
jne 0x10053080
mov edx, dword [edi + 0x68]
test edx, edx
js 0x10052b9f
movss xmm1, dword [edi + edx*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052b99
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052b9f
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052b5e
mov eax, 1
jmp 0x10052b95
comiss xmm2, xmm1
jae 0x10052b93
comiss xmm4, xmm3
jae 0x10052b93
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052b95
xor eax, eax
test eax, eax
jle 0x10052b9f
cmp byte [ebp - 0x58], 0
jne 0x10052c1e
mov eax, dword [edi + 0x60]
test eax, eax
js 0x10053080
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10052c1e
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10053080
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052bdf
mov eax, 1
jmp 0x10052c16
comiss xmm2, xmm1
jae 0x10052c14
comiss xmm4, xmm3
jae 0x10052c14
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10052c16
xor eax, eax
test eax, eax
jle 0x10053080
cmp byte [ebp - 0x80], 0
je 0x10052c30
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
je 0x10053080
test edx, edx
js 0x10052d00
movss xmm1, dword [edi + edx*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052c4e
mov al, 1
jmp 0x10052cb7
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x10052cb5
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10052c72
mov eax, 1
test eax, eax
setg al
jmp 0x10052cb7
comiss xmm2, xmm1
jae 0x10052cac
comiss xmm4, xmm3
jae 0x10052cac
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
test eax, eax
setg al
jmp 0x10052cb7
xor eax, eax
test eax, eax
setg al
jmp 0x10052cb7
xor al, al
mov byte [ebp - 0x51], al
test al, al
je 0x10052cdd
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
jne 0x10052cda
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
mov al, byte [ebp - 0x51]
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0xb4], 0
je 0x10052d4e
mov edi, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
mov byte [ebp - 0x51], al
cmp ecx, edi
je 0x10052d07
mov edx, edi
cmovl edi, ecx
cmovge edx, ecx
jmp 0x10052d0c
xor al, al
mov byte [ebp - 0x51], al
jmp 0x10052cdd
mov edx, dword [ebx + 0x2c]
xor edi, edi
mov dword [ebp - 0x74], edx
lea ecx, [ebx + 0x1c]
sub edx, edi
lea eax, [edx*4 + 1]
push eax
call fcn.10005c60
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebx + 0x1c]
lea eax, [ecx + eax*2]
push eax
lea eax, [ecx + edi*2]
mov ecx, dword [ebx + 0x24]
push eax
call fcn.1006c610
mov ecx, dword [ebx + 0x24]
add esp, 8
call fcn.10069da0
mov edi, dword [0x102a0b70]
mov dword [ebp - 0x5c], edi
cmp byte [ebp - 0x51], 0
je 0x100521c4
mov byte [ebx + 0xcd0], 1
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x3c]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x60], edx
cmp edx, ecx
je 0x100521c4
mov eax, dword [ebx + 0x2c]
cmp edx, eax
jle 0x10052d85
mov edx, eax
mov dword [ebx + 0x3c], eax
mov dword [ebp - 0x60], edx
cmp ecx, eax
jle 0x10052d94
mov ecx, eax
mov dword [ebx + 0x40], eax
mov dword [ebp - 0x84], ecx
cmp edx, ecx
jne 0x10052d9f
mov dword [ebx + 0x38], edx
mov esi, edx
jmp 0x10052da2
mov esi, dword [ebx + 0x38]
cmp esi, eax
jle 0x10052da9
mov dword [ebx + 0x38], eax
cmp edx, ecx
je 0x10053077
lea esi, [ebx + 0x50]
mov eax, 0x63
mov word [esi + 0xc74], ax
mov eax, 0x3e7
mov word [esi + 0xc78], ax
jge 0x10052f3b
sub ecx, edx
cmp word [esi + 0xc72], 0x63
mov dword [ebp - 0x84], ecx
jne 0x10052df1
mov ecx, esi
call fcn.10054fa0
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x3e7
jle 0x10052e0e
xor eax, eax
mov word [esi + 0xc72], ax
mov word [esi + 0xc76], ax
jmp 0x10052f17
movsx eax, word [esi + 0xc76]
add eax, ecx
cmp eax, 0x3e7
jle 0x10052e41
mov ebx, dword [ebp - 0x84]
mov ecx, esi
call fcn.10054fa0
movsx eax, word [esi + 0xc76]
add eax, ebx
cmp eax, 0x3e7
jg 0x10052e24
mov ebx, dword [ebp - 0xbc]
movzx ecx, word [esi + 0xc72]
movsx eax, cx
lea eax, [eax + eax*2]
lea eax, [esi + eax*4]
mov dword [ebp - 0x70], eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x84]
mov word [esi + 0xc72], ax
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x10052f17
mov edx, dword [ebp - 0x60]
movzx edi, cx
mov dword [ebp - 0x6c], edi
mov word [eax + 4], di
xor edi, edi
mov word [eax + 6], di
mov edi, dword [ebp - 0x5c]
mov dword [eax], edx
test ecx, ecx
jne 0x10052eb3
push ecx
or esi, 0xffffffff
mov ecx, ebx
mov word [eax + 8], si
call fcn.10056120
mov eax, dword [ebx + 0x3c]
add esp, 4
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x47], 0
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
jmp 0x100521c4
mov ebx, dword [ebp - 0x70]
mov ax, word [esi + 0xc76]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x6c]
add word [esi + 0xc76], ax
mov eax, ebx
mov ebx, dword [ebp - 0xbc]
movsx eax, word [eax + 8]
add eax, 0x252
lea eax, [esi + eax*2]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x10052f1a
xor esi, esi
test ecx, ecx
jle 0x10052f1a
mov edi, dword [ebp - 0x9c]
lea eax, [edx + edx]
mov edx, eax
nop word [eax + eax]
mov eax, dword [ebx + 0xc]
lea edx, [edx + 2]
mov ax, word [edx + eax - 2]
mov word [edi + esi*2], ax
inc esi
cmp esi, ecx
jl 0x10052f00
mov edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
push ecx
mov ecx, ebx
call fcn.10056120
mov eax, dword [ebx + 0x3c]
add esp, 4
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x47], 0
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
jmp 0x100521c4
sub edx, ecx
cmp word [esi + 0xc72], 0x63
mov dword [ebp - 0x60], edx
jne 0x10052f54
mov ecx, esi
call fcn.10054fa0
mov edx, dword [ebp - 0x60]
cmp edx, 0x3e7
jle 0x10052f71
xor eax, eax
mov word [esi + 0xc72], ax
mov word [esi + 0xc76], ax
jmp 0x10053057
movsx eax, word [esi + 0xc76]
add eax, edx
cmp eax, 0x3e7
jle 0x10052fa4
mov ebx, dword [ebp - 0x60]
mov ecx, esi
call fcn.10054fa0
movsx eax, word [esi + 0xc76]
add eax, ebx
cmp eax, 0x3e7
jg 0x10052f84
mov ebx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x60]
movzx ecx, word [esi + 0xc72]
movsx eax, cx
lea eax, [eax + eax*2]
lea eax, [esi + eax*4]
mov dword [ebp - 0x70], eax
lea eax, [ecx + 1]
mov word [esi + 0xc72], ax
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x10053057
mov ecx, dword [ebp - 0x84]
movzx edi, dx
mov dword [ebp - 0x6c], edi
mov word [eax + 4], di
xor edi, edi
mov word [eax + 6], di
mov edi, dword [ebp - 0x5c]
mov dword [eax], ecx
test edx, edx
jne 0x10052ff4
or esi, 0xffffffff
mov word [eax + 8], si
jmp 0x1005305d
mov ebx, dword [ebp - 0x70]
mov ax, word [esi + 0xc76]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x6c]
add word [esi + 0xc76], ax
mov eax, ebx
mov ebx, dword [ebp - 0xbc]
movsx eax, word [eax + 8]
add eax, 0x252
lea eax, [esi + eax*2]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x1005305d
xor esi, esi
test edx, edx
jle 0x1005305d
mov eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x6c]
lea ecx, [eax + eax]
nop dword [eax]
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + 2]
mov ax, word [ecx + eax - 2]
mov word [edi + esi*2], ax
inc esi
cmp esi, edx
jl 0x10053040
mov edi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x84]
push edx
mov edx, ecx
mov ecx, ebx
call fcn.10056120
mov eax, dword [ebx + 0x40]
add esp, 4
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x47], 0
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
jmp 0x100521c4
mov eax, dword [edi + 0x64]
test eax, eax
js 0x100521c4
movss xmm1, dword [edi + eax*4 + 0x3e4]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100530ff
movss xmm2, dword [edi + 0x74]
comiss xmm1, xmm2
jbe 0x100521c4
movss xmm3, dword [edi + 0x78]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100530c0
mov eax, 1
jmp 0x100530f7
comiss xmm2, xmm1
jae 0x100530f5
comiss xmm4, xmm3
jae 0x100530f5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100530f7
xor eax, eax
test eax, eax
jle 0x100521c4
mov edx, dword [ebp - 0x58]
test dl, dl
je 0x10053524
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x10053131
push dword [edi + 0xb8]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x100521bb
mov edi, dword [0x102a0b70]
jmp 0x10053136
mov esi, 0x100d8b12
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053140
inc dword [edi + 0x310]
sub ecx, edx
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [edi + 0xbc]
call eax
xor edi, edi
add esp, 4
cmp byte [esi], 0
mov ecx, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x74], edi
je 0x100531cd
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0x70]
call fcn.1006cca0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x100531c1
cmp eax, 0x10000
jae 0x100531bc
push dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x70]
push dword [ebp - 0x88]
call fcn.100544d0
add esp, 8
test al, al
je 0x100531bc
mov ax, word [ebp - 0x70]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10053173
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x74], edi
xor eax, eax
mov word [ecx + edi*2], ax
test edi, edi
jle 0x10053504
mov edx, dword [ebx + 0x40]
mov edi, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], edi
cmp edi, edx
je 0x1005321b
mov ecx, edi
cmp edi, eax
jle 0x100531f9
mov dword [ebx + 0x3c], eax
mov ecx, eax
mov esi, edx
cmp edx, eax
jle 0x10053204
mov dword [ebx + 0x40], eax
mov esi, eax
mov edx, esi
mov edi, ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], edi
cmp ecx, esi
jne 0x1005321b
mov dword [ebx + 0x38], ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], edi
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jle 0x10053227
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp edi, edx
je 0x10053264
mov esi, edi
cmp edi, eax
jle 0x10053236
mov dword [ebx + 0x3c], eax
mov esi, eax
mov edi, edx
mov dword [ebp - 0x70], edi
cmp edx, eax
jle 0x10053247
mov dword [ebx + 0x40], eax
mov edi, eax
mov dword [ebp - 0x70], eax
mov edx, edi
mov edi, esi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], edi
cmp esi, dword [ebp - 0x70]
jne 0x10053264
mov edx, dword [ebp - 0x70]
mov ecx, esi
mov dword [ebx + 0x38], esi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], edi
cmp ecx, eax
jle 0x1005326d
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp edi, edx
je 0x100534b5
lea esi, [ebx + 0x50]
mov eax, 0x63
mov word [esi + 0xc74], ax
mov eax, 0x3e7
mov word [esi + 0xc78], ax
jge 0x100533ac
sub edx, edi
cmp word [esi + 0xc72], 0x63
mov dword [ebp - 0x5c], edx
jne 0x100532af
mov ecx, esi
call fcn.10054fa0
mov edx, dword [ebp - 0x5c]
cmp edx, 0x3e7
jle 0x100532cc
xor eax, eax
mov word [esi + 0xc72], ax
mov word [esi + 0xc76], ax
jmp 0x10053397
movsx eax, word [esi + 0xc76]
add eax, edx
cmp eax, 0x3e7
jle 0x10053300
mov ebx, dword [ebp - 0x5c]
nop
mov ecx, esi
call fcn.10054fa0
movsx eax, word [esi + 0xc76]
add eax, ebx
cmp eax, 0x3e7
jg 0x100532e0
mov ebx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x5c]
movzx ecx, word [esi + 0xc72]
movsx eax, cx
lea eax, [eax + eax*2]
lea eax, [esi + eax*4]
mov dword [ebp - 0x6c], eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x6c]
mov word [esi + 0xc72], ax
test ecx, ecx
je 0x10053397
movzx eax, dx
mov dword [ebp - 0x6c], eax
mov word [ecx + 4], ax
xor eax, eax
mov dword [ecx], edi
mov word [ecx + 6], ax
test edx, edx
jne 0x10053343
or eax, 0xffffffff
mov word [ecx + 8], ax
jmp 0x10053397
mov ax, word [esi + 0xc76]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x6c]
add word [esi + 0xc76], ax
movsx eax, word [ecx + 8]
add eax, 0x252
lea eax, [esi + eax*2]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x10053397
xor ecx, ecx
test edx, edx
jle 0x10053397
lea esi, [edi + edi]
mov edi, eax
nop word [eax + eax]
mov eax, dword [ebx + 0xc]
lea esi, [esi + 2]
mov ax, word [esi + eax - 2]
mov word [edi + ecx*2], ax
inc ecx
cmp ecx, edx
jl 0x10053380
mov edi, dword [ebp - 0x68]
push edx
mov edx, edi
mov ecx, ebx
call fcn.10056120
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
jmp 0x100534a5
sub edi, edx
cmp word [esi + 0xc72], 0x63
jne 0x100533bf
mov ecx, esi
call fcn.10054fa0
cmp edi, 0x3e7
jle 0x100533dc
xor eax, eax
mov word [esi + 0xc72], ax
mov word [esi + 0xc76], ax
jmp 0x10053494
movsx eax, word [esi + 0xc76]
add eax, edi
cmp eax, 0x3e7
jle 0x10053407
nop dword [eax]
mov ecx, esi
call fcn.10054fa0
movsx eax, word [esi + 0xc76]
add eax, edi
cmp eax, 0x3e7
jg 0x100533f0
movzx ecx, word [esi + 0xc72]
movsx eax, cx
lea eax, [eax + eax*2]
lea eax, [esi + eax*4]
mov dword [ebp - 0x6c], eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x6c]
mov word [esi + 0xc72], ax
test ecx, ecx
je 0x10053494
mov edx, dword [ebp - 0x5c]
movzx eax, di
mov dword [ebp - 0x6c], eax
mov word [ecx + 4], ax
xor eax, eax
mov dword [ecx], edx
mov word [ecx + 6], ax
test edi, edi
jne 0x1005344d
or eax, 0xffffffff
mov word [ecx + 8], ax
jmp 0x10053497
mov ax, word [esi + 0xc76]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x6c]
add word [esi + 0xc76], ax
movsx eax, word [ecx + 8]
add eax, 0x252
lea eax, [esi + eax*2]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x10053497
xor ecx, ecx
test edi, edi
jle 0x10053497
lea esi, [edx + edx]
mov edx, eax
mov eax, dword [ebx + 0xc]
lea esi, [esi + 2]
mov ax, word [esi + eax - 2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, edi
jl 0x10053480
mov edx, dword [ebp - 0x5c]
push edi
mov ecx, ebx
call fcn.10056120
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x47], 0
add esp, 4
mov dword [ebx + 0x38], eax
mov ecx, eax
mov byte [ebx + 0x47], 0
mov esi, dword [ebp - 0x74]
mov edx, ecx
push esi
push dword [ebp - 0x60]
mov ecx, ebx
call fcn.10056070
add esp, 8
test al, al
je 0x100534e6
mov edx, dword [ebx + 0x38]
lea ecx, [ebx + 0x50]
push esi
push 0
call fcn.10054c80
add esp, 8
mov byte [ebx + 0x47], 0
add dword [ebx + 0x38], esi
jmp 0x100534fa
movzx eax, word [ebx + 0xcc2]
test ax, ax
je 0x100534fa
dec eax
mov word [ebx + 0xcc2], ax
mov ecx, dword [ebp - 0x60]
mov byte [ebx + 0xcd0], 1
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x10053513
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
jmp 0x100521bb
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x49]
jmp 0x100521cd
mov eax, dword [ebp - 0x8c]
test dl, dl
je 0x1005356a
mov eax, dword [ebx + 4]
lea ecx, [ebx + 0x1c]
shl eax, 2
push eax
call fcn.10005c60
mov edx, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x24]
push 0
push dword [ebx + 0xc]
call fcn.1006c610
mov edi, dword [0x102a0b70]
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], edi
test eax, 0x1c0
je 0x100536ec
mov esi, 0x13
test al, 0x40
je 0x10053598
mov dl, 1
xor ecx, ecx
call fcn.10065e80
test al, al
je 0x10053592
lea eax, [esi + 0x2d]
xor esi, esi
jmp 0x100535e4
mov eax, dword [ebp - 0x8c]
test al, al
jns 0x100535d4
mov dl, 1
mov ecx, 3
call fcn.10065e80
test al, al
je 0x100535b6
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x100535e4
mov ecx, 4
call fcn.10065e80
test al, al
je 0x100535ce
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x100535e4
mov eax, dword [ebp - 0x8c]
test eax, 0x100
je 0x100536ec
mov eax, 0x100
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x40], eax
mov al, byte [ebp - 0x58]
xor al, 1
mov dword [ebp - 0x38], esi
mov esi, dword [ebx + 0xc]
mov byte [ebp - 0x3c], al
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x38]
mov word [ebp - 0x3b], cx
mov byte [ebp - 0x39], cl
mov word [ebp - 0x27], cx
mov byte [ebp - 0x25], cl
lea edx, [esi + eax*2]
mov byte [ebp - 0x28], cl
mov ecx, esi
call fcn.1006c590
mov ecx, dword [ebx + 0x3c]
mov edi, eax
mov dword [ebp - 0x24], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1006c590
mov ecx, dword [ebx + 0x40]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x20], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1006c590
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x48]
push eax
call dword [ebp - 0x88]
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, dword [ebp - 0x34]
cmp ecx, edi
je 0x1005368b
lea edx, [ecx + esi]
mov ecx, esi
call fcn.1006c850
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x6c]
je 0x100536a0
lea edx, [eax + esi]
mov ecx, esi
call fcn.1006c850
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x9c]
je 0x100536b8
lea edx, [eax + esi]
mov ecx, esi
call fcn.1006c850
mov dword [ebx + 0x40], eax
cmp byte [ebp - 0x28], 0
je 0x100536e3
mov edx, dword [ebx + 4]
push 0
push ecx
mov ecx, dword [ebx + 0xc]
push esi
call fcn.1006ca80
mov dword [ebx + 0x2c], eax
add esp, 0xc
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0xccc], 0xbe99999a
mov edi, dword [0x102a0b70]
mov dword [ebp - 0x5c], edi
cmp byte [ebp - 0x58], 0
je 0x10053749
mov esi, dword [ebx + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0x94]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10053720
test dl, dl
je 0x1005371c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10053720
add eax, 2
add ecx, 2
test dl, dl
jne 0x10053700
xor eax, eax
jmp 0x10053725
sbb eax, eax
or eax, 1
test eax, eax
je 0x10053749
push dword [ebp + 8]
mov ecx, dword [ebp - 0x94]
mov edx, esi
call fcn.1006d1b0
mov edi, dword [0x102a0b70]
add esp, 4
mov byte [ebp - 0x76], 1
mov dword [ebp - 0x5c], edi
mov esi, dword [ebp - 0x7c]
cmp byte [ebp - 0x75], 0
mov eax, dword [ebp - 0x50]
je 0x10053765
cmp dword [eax + 0x181c], esi
jne 0x10053765
call fcn.1006a720
mov eax, dword [ebp - 0x50]
mov esi, dword [eax + 0x181c]
cmp esi, dword [ebp - 0x7c]
jne 0x1005377f
cmp byte [ebp - 0x58], 0
je 0x1005377f
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x80]
test dl, dl
jne 0x10053844
push dword [ebp - 0xa8]
movss xmm1, dword [0x10293df0]
mov ecx, 7
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
call fcn.1006c350
mov ecx, dword [ebp - 0x50]
mov dl, 1
movss xmm2, dword [ecx + 0x1420]
mov ecx, eax
call fcn.10066710
movss xmm1, dword [ebp - 0xb8]
add esp, 0x10
movss xmm2, dword [ebp - 0xc4]
movaps xmm0, xmm1
mov ecx, dword [ebp - 0x50]
addss xmm0, xmm2
movss xmm4, dword [ebp - 0x100]
movss xmm3, dword [ebp - 0xe0]
mov edi, dword [0x102a0b70]
addss xmm3, xmm4
mov esi, dword [ecx + 0x181c]
mov edx, dword [ebp - 0x80]
movss dword [ebp - 0x10], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ecx + 0x141c]
movss dword [ebp - 0x18], xmm1
addss xmm1, dword [ecx + 0x1418]
movss dword [ebp - 0x14], xmm4
movss dword [ebp - 0xc], xmm3
movss dword [ebp - 0xe8], xmm0
mov dword [ebp - 0x5c], edi
movss dword [ebp - 0xec], xmm1
jmp 0x100538a1
movss xmm0, dword [ebp - 0xb8]
movss xmm1, dword [ebp - 0x100]
movss xmm2, dword [ebp - 0xc4]
movss xmm3, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x98]
addss xmm3, xmm1
movss dword [ebp - 0x18], xmm0
addss xmm0, xmm2
movss dword [ebp - 0x14], xmm1
movss dword [ebp - 0xc], xmm3
movss dword [ebp - 0x10], xmm0
mov eax, dword [ecx + 0xd8]
mov ecx, dword [ecx + 0xdc]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xec]
movss dword [ebp - 0x60], xmm3
movss xmm0, dword [eax]
xorps xmm1, xmm1
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [eax + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x7c]
movss dword [ebp - 0xb8], xmm0
movss dword [ebp - 0xa0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0x74], xmm0
cmp dword [ebx], eax
jne 0x10053926
test dl, dl
je 0x10053926
mov esi, dword [ecx + 0x181c]
sub esp, 8
mov ecx, dword [ebp - 0x98]
call fcn.1006a890
cmp esi, eax
jne 0x1005391c
movss xmm3, dword [ebp - 0xc]
mov al, 1
movss dword [ebp - 0x60], xmm3
jmp 0x10053928
movss xmm0, dword [ebp - 0xc]
movss dword [ebp - 0x60], xmm0
xor al, al
cmp esi, dword [ebp - 0x7c]
je 0x100539f1
test al, al
jne 0x100539f1
mov esi, dword [ebp - 0x94]
xor ecx, ecx
cmp byte [ebp - 0x80], cl
je 0x10053998
mov bl, byte [esi]
lea ecx, [esi + 1]
xor edx, edx
test bl, bl
je 0x10053963
cmp bl, 0xa
lea eax, [edx + 1]
mov bl, byte [ecx]
cmovne eax, edx
inc ecx
mov edx, eax
test bl, bl
jne 0x10053951
mov al, byte [ecx - 1]
dec ecx
cmp al, 0xa
je 0x10053970
cmp al, 0xd
je 0x10053970
inc edx
mov ebx, dword [ebp - 0x50]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss xmm7, dword [ebx + 0x172c]
mulss xmm0, xmm7
movss dword [ebp - 0x74], xmm0
movaps xmm0, xmm2
movss dword [ebp - 0xf8], xmm0
jmp 0x100539a3
mov ebx, dword [ebp - 0x50]
movss xmm7, dword [ebx + 0x172c]
movss xmm1, dword [0x10293df0]
lea eax, [ebp - 0x18]
xor edx, edx
cmp byte [ebp - 0x80], dl
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
push ecx
push esi
xor ecx, ecx
call fcn.1006c350
push eax
lea eax, [ebp - 0xa4]
movaps xmm2, xmm7
push eax
mov eax, dword [ebp - 0x98]
push dword [ebx + 0x1728]
mov ecx, dword [eax + 0x254]
call fcn.100891b0
mov edi, dword [0x102a0b70]
jmp 0x1005433f
mov eax, dword [ebp - 0x50]
or esi, 0xffffffff
mov ecx, dword [ebx + 0xc]
xorps xmm7, xmm7
mov edx, dword [ebx + 0x3c]
mov dword [ebp - 0x7c], ecx
movss xmm0, dword [eax + 0xc]
mov eax, dword [ebx + 0x38]
addss xmm0, dword [ebx + 0xccc]
movss dword [ebp - 0x9c], xmm1
mov dword [ebp - 0x88], 0
lea eax, [ecx + eax*2]
mov dword [ebp - 0x84], 0xfffffc19
mov dword [ebp - 0x68], eax
mov ecx, 1
mov eax, dword [ebx + 0x40]
movss dword [ebx + 0xccc], xmm0
cmp edx, eax
je 0x10053a63
cmovl eax, edx
mov dword [ebp - 0x84], esi
mov edx, dword [ebp - 0x7c]
mov ecx, 2
lea eax, [edx + eax*2]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x7c]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x10053ae4
or ebx, 0xffffffff
mov esi, eax
xor edi, edi
cmp si, 0xa
jne 0x10053abb
inc edi
cmp ebx, 0xffffffff
jne 0x10053a9f
cmp edx, dword [ebp - 0x68]
jb 0x10053a9f
dec ecx
mov ebx, edi
test ecx, ecx
jle 0x10053ac9
cmp dword [ebp - 0x84], 0xffffffff
jne 0x10053abb
cmp edx, dword [ebp - 0x88]
jb 0x10053abb
dec ecx
mov dword [ebp - 0x84], edi
test ecx, ecx
jle 0x10053ac9
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x10053a87
mov dword [ebp - 0xc8], ebx
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x68]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x90], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x84], ecx
mov ecx, edx
cmp edx, esi
jbe 0x10053b2e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x10053b2e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10053b20
mov esi, dword [edi + 0x1728]
movaps xmm2, xmm1
movss xmm4, dword [edi + 0x172c]
movaps xmm5, xmm1
divss xmm4, dword [esi]
cmp ecx, edx
jae 0x10053b96
mov edi, dword [ebp - 0x68]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10053b66
maxss xmm2, xmm5
movaps xmm5, xmm1
jmp 0x10053b8f
cmp edx, 0xd
je 0x10053b8f
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x10053b7c
mov eax, dword [esi + 0x24]
movss xmm1, dword [eax + edx*4]
jmp 0x10053b81
movss xmm1, dword [esi + 0x38]
movaps xmm0, xmm4
mulss xmm0, xmm1
xorps xmm1, xmm1
addss xmm5, xmm0
cmp ecx, edi
jb 0x10053b50
mov edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x84], 0
maxss xmm5, xmm2
movd xmm6, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x50]
cvtdq2ps xmm6, xmm6
movss xmm3, dword [ecx + 0x172c]
mulss xmm6, xmm3
movss dword [ebp - 0x6c], xmm5
movss dword [ebp - 0x68], xmm6
jl 0x10053c6d
mov eax, dword [ebp - 0x88]
mov ecx, eax
mov edx, dword [ebp - 0x7c]
cmp eax, edx
jbe 0x10053bf4
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x10053bee
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10053be0
mov eax, dword [ebp - 0x88]
movaps xmm2, xmm1
movaps xmm5, xmm1
cmp ecx, eax
jae 0x10053c4a
mov edi, dword [ebp - 0x88]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10053c1a
maxss xmm2, xmm5
movaps xmm5, xmm1
jmp 0x10053c43
cmp edx, 0xd
je 0x10053c43
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x10053c30
mov eax, dword [esi + 0x24]
movss xmm1, dword [eax + edx*4]
jmp 0x10053c35
movss xmm1, dword [esi + 0x38]
movaps xmm0, xmm4
mulss xmm0, xmm1
xorps xmm1, xmm1
addss xmm5, xmm0
cmp ecx, edi
jb 0x10053c04
mov edi, dword [ebp - 0x5c]
movd xmm7, dword [ebp - 0x84]
maxss xmm5, xmm2
mov ecx, dword [ebp - 0x50]
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x9c], xmm5
movss xmm5, dword [ebp - 0x6c]
mulss xmm7, xmm3
mov edx, dword [ebp - 0x80]
test dl, dl
je 0x10053c9d
movd xmm0, dword [ebp - 0x90]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0xc4]
movss dword [ebp - 0x74], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0xf8], xmm0
jmp 0x10053ca5
movss xmm3, dword [ebp - 0xc4]
cmp byte [ebx + 0xcd0], 0
je 0x10053d73
test dword [ebp - 0x8c], 0x1000
jne 0x10053d02
movss xmm2, dword [ebx + 0x34]
movaps xmm0, xmm3
comiss xmm2, xmm5
mulss xmm0, dword [0x10293da4]
movaps xmm1, xmm5
jbe 0x10053ce3
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10053cf0
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x10053d09
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x34], xmm0
jmp 0x10053d09
mov dword [ebx + 0x34], 0
test dl, dl
je 0x10053d73
mov eax, dword [ebp - 0x98]
movaps xmm1, xmm6
subss xmm1, dword [ecx + 0x172c]
movss xmm2, dword [eax + 0x6c]
comiss xmm2, xmm1
jbe 0x10053d31
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10053d40
movaps xmm0, xmm6
subss xmm0, dword [ebp - 0xe0]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x6c], xmm0
addss xmm2, dword [eax + 0xdc]
movss dword [eax + 0xdc], xmm2
movss xmm0, dword [ebp - 0xc]
movss dword [ebp - 0xb8], xmm2
movss dword [ebp - 0xa0], xmm2
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x40]
mov esi, dword [ebx + 0x3c]
mov byte [ebx + 0xcd0], 0
movss dword [ebp - 0x88], xmm0
cmp esi, ecx
je 0x1005401a
mov edx, dword [ebp - 0x7c]
mov eax, ecx
cmovl eax, esi
cmovge ecx, esi
cmp byte [ebp - 0x80], 0
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x7c]
lea esi, [eax + ecx*2]
je 0x10053dbc
xorps xmm0, xmm0
movss dword [ebp - 0xd8], xmm0
jmp 0x10053dc4
movss xmm0, dword [0x10293e3c]
movss xmm1, dword [0x10293df0]
mov ecx, 0x28
movss dword [ebp - 0xc8], xmm0
call fcn.1006c350
mov ecx, dword [ebp - 0xd0]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x88]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x90], edx
movss xmm0, dword [ecx]
movaps xmm6, xmm0
addss xmm7, dword [ebp - 0xb8]
addss xmm6, dword [ebp - 0x9c]
subss xmm7, xmm2
subss xmm6, xmm1
movss dword [ebp - 0x9c], xmm7
cmp edx, esi
jae 0x1005402a
mov ebx, dword [ebp - 0x50]
mov edi, ecx
movss xmm3, dword [ebp - 0x60]
movss xmm1, dword [ebx + 0x172c]
mov ebx, eax
mov eax, dword [ebp - 0x50]
movaps xmm0, xmm3
addss xmm0, xmm1
comiss xmm7, xmm0
ja 0x10054009
movss xmm4, dword [ebp - 0x14]
comiss xmm4, xmm7
jbe 0x10053e81
cmp edx, esi
jae 0x10053fe1
movzx eax, word [edx]
add edx, 2
mov dword [ebp - 0x90], edx
cmp eax, 0xa
je 0x10053fde
cmp edx, esi
jb 0x10053e63
jmp 0x10053fde
push 1
push ecx
lea eax, [ebp - 0x90]
push eax
push esi
lea ecx, [ebp - 0xe4]
call fcn.10056540
movss xmm0, dword [ebp - 0xe4]
xorps xmm3, xmm3
add esp, 0x10
comiss xmm3, xmm0
jb 0x10053ee6
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x1728]
cmp dword [eax + 0x1c], 0x20
jle 0x10053ec6
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x10053ecb
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10293db4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe4], xmm0
mov edx, dword [ebp - 0x50]
movaps xmm2, xmm6
addss xmm2, xmm0
movaps xmm1, xmm7
movss xmm0, dword [ebp - 0xd8]
addss xmm6, xmm3
addss xmm1, dword [ebp - 0xc8]
subss xmm0, dword [edx + 0x172c]
movss xmm3, dword [ebp - 0x18]
movss dword [ebp - 0xac], xmm2
comiss xmm3, xmm6
addss xmm0, xmm7
movss dword [ebp - 0xb4], xmm6
movss dword [ebp - 0xa8], xmm1
movss dword [ebp - 0xb0], xmm0
jbe 0x10053f48
movaps xmm6, xmm3
movss dword [ebp - 0xb4], xmm6
movss xmm4, dword [ebp - 0x14]
comiss xmm4, xmm0
jbe 0x10053f5d
movaps xmm0, xmm4
movss dword [ebp - 0xb0], xmm0
movss xmm3, dword [ebp - 0x10]
comiss xmm2, xmm3
jbe 0x10053f72
movaps xmm2, xmm3
movss dword [ebp - 0xac], xmm2
movss xmm3, dword [ebp - 0xc]
comiss xmm1, xmm3
jbe 0x10053f87
movaps xmm1, xmm3
movss dword [ebp - 0xa8], xmm1
comiss xmm1, xmm4
jbe 0x10053fd8
comiss xmm3, xmm0
jbe 0x10053fd8
comiss xmm2, dword [ebp - 0x18]
jbe 0x10053fd8
movss xmm0, dword [ebp - 0x10]
comiss xmm0, xmm6
jbe 0x10053fd8
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xac]
push ebx
push eax
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x254]
call fcn.100897d0
movss xmm3, dword [ebp - 0xc]
movss xmm7, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x50]
movss xmm1, dword [eax + 0x172c]
movss xmm6, dword [edi]
addss xmm7, xmm1
subss xmm6, dword [ebp - 0x88]
movss dword [ebp - 0x9c], xmm7
cmp edx, esi
jb 0x10053e41
mov edi, dword [0x102a0b70]
mov ebx, dword [ebp - 0xbc]
movss dword [ebp - 0x60], xmm3
movss xmm0, dword [ebp - 0x70]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x88]
mov eax, dword [ebp - 0x98]
subss xmm0, xmm1
movss xmm1, dword [0x10293df0]
xor ecx, ecx
mov eax, dword [eax + 0x254]
movss dword [ebp - 0xcc], xmm0
movss xmm0, dword [ebp - 0xb8]
subss xmm0, xmm2
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x50]
movss xmm7, dword [eax + 0x172c]
movss dword [ebp - 0xc8], xmm0
call fcn.1006c350
mov esi, dword [ebx + 0x28]
lea edx, [ebp - 0x18]
mov ebx, dword [ebp - 0x94]
xor ecx, ecx
add esi, ebx
mov dword [ebp - 0x9c], eax
cmp byte [ebp - 0x80], cl
cmovne edx, ecx
test eax, 0xff000000
je 0x100541af
test esi, esi
jne 0x100540b2
mov ecx, ebx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100540a6
sub ecx, esi
lea esi, [ecx + ebx]
cmp ebx, esi
je 0x100541af
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0xd8]
mov edi, dword [eax + 0x1728]
test edi, edi
jne 0x100540d3
mov eax, dword [ebx + 0x28]
mov edi, dword [eax + 8]
ucomiss xmm7, dword [0x10293d48]
lahf
test ah, 0x44
jp 0x100540e8
mov eax, dword [ebx + 0x28]
movss xmm7, dword [eax + 0xc]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0xb4], xmm0
test edx, edx
je 0x10054162
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, xmm1
jae 0x1005411a
movss dword [ebp - 0xb4], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xb0]
comiss xmm0, xmm1
jae 0x10054134
movss dword [ebp - 0xb0], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xac]
ja 0x1005414a
movss dword [ebp - 0xac], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xa8]
ja 0x10054160
movss dword [ebp - 0xa8], xmm0
test edx, edx
setne al
movaps xmm2, xmm7
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xb4]
push esi
mov esi, dword [ebp - 0x94]
mov ecx, edi
push esi
push eax
push dword [ebp - 0x9c]
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push ebx
call fcn.1007a030
movss xmm0, dword [ebp - 0xc]
mov edi, dword [0x102a0b70]
movss dword [ebp - 0x60], xmm0
jmp 0x100541b5
mov esi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x50]
cmp byte [ebx + 0xa9], 0
je 0x10054210
movss xmm0, dword [ebx + 0x2820]
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x10054210
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xdc], xmm0
fld qword [ebp - 0xdc]
fld qword [0x10293e30]
call fcn.100c20d0
movss xmm0, dword [0x10293dd4]
fstp qword [ebp - 0xdc]
movsd xmm1, qword [ebp - 0xdc]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10054210
xor cl, cl
jmp 0x10054212
mov cl, 1
movss xmm3, dword [ebp - 0x68]
mov eax, dword [ebp - 0xd0]
movss xmm5, dword [0x10293df0]
addss xmm3, dword [ebp - 0xb8]
movss xmm4, dword [eax]
addss xmm4, dword [ebp - 0x6c]
subss xmm3, dword [0x10293d48]
subss xmm4, dword [ebp - 0x88]
movss dword [ebp - 0x68], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [ebx + 0x172c]
movss dword [ebp - 0x70], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0xb4], xmm4
addss xmm2, xmm5
subss xmm1, dword [0x10293e0c]
addss xmm0, dword [0x10293db4]
movss dword [ebp - 0xac], xmm2
movss dword [ebp - 0xa8], xmm1
movss dword [ebp - 0xb0], xmm0
test cl, cl
je 0x1005431d
comiss xmm1, dword [ebp - 0x14]
jbe 0x1005431d
movss xmm3, dword [ebp - 0x60]
comiss xmm3, xmm0
jbe 0x10054318
comiss xmm2, dword [ebp - 0x18]
jbe 0x10054318
movss xmm0, dword [ebp - 0x10]
comiss xmm0, xmm4
jbe 0x10054318
sub esp, 8
movss dword [ebp - 0xe8], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0xec], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.1006c350
add esp, 4
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x254]
call fcn.10089a00
mov edi, dword [0x102a0b70]
movss xmm4, dword [ebp - 0x70]
movss xmm5, dword [0x10293df0]
movss xmm3, dword [ebp - 0x68]
cmp byte [ebp - 0x58], 0
je 0x1005433f
subss xmm3, dword [ebx + 0x172c]
subss xmm4, xmm5
movss dword [ebx + 0x28c8], xmm3
movss dword [ebx + 0x28c4], xmm4
cmp byte [ebp - 0x80], 0
je 0x10054412
mov eax, dword [edi + 0x17fc]
movss xmm2, dword [ebx + 0x172c]
mov byte [eax + 0x8e], 1
mov eax, dword [edi + 0x17fc]
cmp byte [eax + 0x90], 0
jne 0x100543f4
movss xmm4, dword [ebp - 0xf8]
lea ecx, [ebp - 0xec]
movss xmm3, dword [ebp - 0x74]
xorps xmm5, xmm5
movss xmm1, dword [eax + 0xd8]
addss xmm4, xmm5
movss xmm0, dword [eax + 0xdc]
addss xmm3, xmm2
movss dword [ebp - 0xb4], xmm1
movss dword [ebp - 0xb0], xmm0
addss xmm4, xmm1
addss xmm3, xmm0
movss dword [ebp - 0xac], xmm4
subss xmm4, xmm1
movss dword [ebp - 0xa8], xmm3
xorps xmm1, xmm1
subss xmm3, xmm0
movss dword [ebp - 0xec], xmm4
movss dword [ebp - 0xe8], xmm3
call fcn.1006a550
xor edx, edx
lea ecx, [ebp - 0xb4]
call fcn.1006a3d0
call fcn.100647f0
mov ecx, 3
call fcn.1005ee90
mov ecx, 1
call fcn.1005f000
call fcn.100499e0
mov eax, dword [ebp - 0xd4]
test al, al
je 0x10054427
call fcn.1005f380
mov eax, dword [ebp - 0xd4]
cmp byte [ebx + 0x28f0], 0
je 0x10054446
test al, al
jne 0x10054446
push 0
mov edx, esi
lea ecx, [ebp - 0xa4]
call fcn.10066e10
add esp, 4
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, dword [0x10293d48]
jbe 0x100544a5
movss xmm0, dword [ebp - 0x108]
xor edx, edx
addss xmm0, dword [ebx + 0x1430]
mov ecx, dword [ebp - 0x104]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebx + 0x141c]
movss dword [ebp - 0xa0], xmm0
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push 1
call fcn.10066ce0
add esp, 0xc
test byte [ebp - 0x8c], 0x20
movzx ecx, byte [ebp - 0x61]
movzx eax, byte [ebp - 0x76]
cmovne eax, ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001ed23
mov esp, ebp
pop ebp
ret