Function at 0x10049bc0
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x11c0
call 0x10073a2f
mov eax, dword [edx + 0x18]
mov edi, dword [ebp + 8]
mov dword [esp + 0x160], 6
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x140], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x178], eax
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov eax, dword [edi]
movzx ecx, word [eax + 0x120]
cmp ecx, 0x8664
jne 0x1005ad3f
movzx ecx, word [eax + 0x106]
and ecx, 0xfffffffe
cmp cx, 2
jne 0x10049d72
mov ecx, dword [eax + 0xd8]
xor edx, edx
sub ecx, 1
cmovb ecx, edx
movzx edx, word [eax + 0x122]
and edx, 0xfffffffe
cmp dx, 2
jne 0x10049c9a
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x1004afb1
mov esi, dword [eax + 0x128]
cmp byte [esi + 0x2f], 0
jne 0x10049c9a
cmp byte [esi + 0x2e], 0
jne 0x10049c9a
cmp byte [esi + 0x2d], 0
jne 0x10049c9a
cmp byte [esi + 0x2c], 0
je 0x1004a3cf
mov edx, dword [eax + 0x12c]
test edx, edx
je 0x10049d72
mov ecx, dword [eax + 0x128]
shl edx, 3
lea edx, [edx + edx*4]
add ecx, 8
jmp 0x10049ccc
add ecx, 0x28
add edx, 0xffffffd8
je 0x10049d72
mov esi, dword [ecx + 0x18]
not esi
test esi, 0xa0000000
jne 0x10049cc0
mov esi, dword [eax + 0xcc]
sub esi, dword [ecx + 4]
jb 0x10049cc0
cmp esi, dword [ecx]
jae 0x10049cc0
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a9895
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xda41f9ad
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10049d70
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [edi]
movzx ecx, word [eax + 0x122]
add ecx, 0xfffffffe
cmp cx, 2
ja 0x10049dae
movzx ecx, word [eax + 0x106]
and ecx, 0xfffffffe
cmp cx, 2
jne 0x10049dae
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10049dae
cmp dword [eax + 0xcc], 0
je 0x1004a148
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10049dea
cmp dword [eax + 0x18], 0
je 0x10049dea
cmp dword [eax + 0x12c], 3
jb 0x10049dea
mov edx, dword [eax + 0x128]
cmp byte [edx + 0x2f], 0
jne 0x10049dea
cmp byte [edx + 0x2e], 0
jne 0x10049dea
cmp byte [edx + 0x2d], 0
je 0x1004a290
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1004a829
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10070200
add esp, 4
xor edi, edi
lea esi, [0x16ab742]
lea edx, [0x16ab743]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10049e45
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x10049e66
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10049e20
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10049ee3
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x4e
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10049efa
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10049f10
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], ecx
jmp 0x10049f74
movdqa xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x20]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10049f6b
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
mov edx, 0x16aa085
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
jmp 0x1004a829
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
lea ecx, [esp + 0x190]
mov dword [esp + 0x80], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x1190], 0
mov dword [esp + 0x8c], 0
xor ebx, ebx
mov dword [esp + 0x108], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x30]
lea eax, [edx + edx*8]
add edx, ecx
lea eax, [eax + eax*2]
add edx, eax
nop
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
je 0x1004a5ed
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10049fd0
mov esi, dword [ecx - 8]
cmp esi, 3
jbe 0x10049fd0
mov dword [esp + 0xb0], ecx
movzx ecx, byte [eax]
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], ebx
xor esi, esi
mov ebx, 0
mov edx, ecx
add dl, 0x81
cmp dl, 0xa1
jb 0x1004a045
mov bl, 2
cmp cl, 0x5f
je 0x1004a045
mov edx, ecx
mov bl, 3
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a045
mov edx, ecx
mov bl, 4
add dl, 0xbf
cmp dl, 0x1a
jb 0x1004a045
add cl, 0x9f
cmp cl, 0x1a
setb bl
shl bl, 2
or bl, 1
mov ecx, dword [esp + 0x60]
inc eax
lea edi, [ecx - 1]
jmp 0x1004a061
xor ecx, ecx
inc eax
xor edx, edx
cmp bl, cl
mov ebx, ecx
setne dl
add esi, edx
dec edi
je 0x1004a09e
movzx edx, byte [eax]
mov dh, dl
add dh, 0x81
cmp dh, 0xa1
jb 0x1004a050
mov cl, 2
cmp dl, 0x5f
je 0x1004a052
mov dh, dl
mov cl, 3
add dh, 0xd0
cmp dh, 0xa
jb 0x1004a052
mov dh, dl
mov cl, 4
add dh, 0xbf
cmp dh, 0x1a
jb 0x1004a052
add dl, 0x9f
cmp dl, 0x1a
setb cl
shl cl, 2
or cl, 1
jmp 0x1004a052
push 0
push dword [esp + 0x64]
push esi
push 0
call 0x10073a54
add esp, 0x10
test edx, edx
jne 0x1004bc61
mov ebx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x80]
mov ecx, ebx
inc ecx
je 0x1004a3a9
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
jbe 0x1004a10a
mov ebx, ecx
call fcn.1001fc80
mov edx, ebx
test eax, eax
je 0x1004a0fb
cmp eax, edx
jbe 0x1004a0fb
mov ecx, esi
mov edx, eax
call fcn.1002d690
mov edx, ebx
cmp al, 8
je 0x1004a10a
mov ecx, esi
call fcn.1002d690
cmp al, 8
jne 0x1004a5e6
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xd0]
mov dword [eax + ebx*4], ecx
mov ecx, dword [esp + 0xb0]
inc ebx
mov dword [esp + 0x88], ebx
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
jne 0x10049fde
jmp 0x1004a5ed
cmp dword [eax + 0x18], 0
je 0x10049dae
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x10049dae
mov edx, dword [eax + 0x12c]
cmp edx, 1
jbe 0x1004b9cc
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x128]
mov edi, dword [ebp + 0xc]
add ecx, dword [eax + 0x34]
mov edx, dword [edi]
adc esi, 0
add ecx, dword [eax + 0x30]
mov eax, ecx
adc esi, 0
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x190]
add eax, 0xfffffff8
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
xor esi, esi
lea ebx, [0x16a9889]
lea edx, [0x16a988a]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a1f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [ebx + 1]
cmove edx, ebx
je 0x1004a216
shld edi, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x1004a1d0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004a3b5
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004a473
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004a486
cmp byte [edx + 0x2c], 0
je 0x10049dea
movzx eax, byte [edx + 0x2c]
mov ecx, 0x7865742e
xor ecx, dword [edx + 0x28]
xor eax, 0x74
or eax, ecx
jne 0x10049dea
mov dword [esp + 0x70], edx
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10070200
add esp, 4
xor esi, esi
lea ebx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a303
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [ebx + 1]
cmove edx, ebx
je 0x1004a324
shld edi, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x1004a2de
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004abc8
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x23
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004ad6d
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004ad83
mov dword [esp + 0x118], ebx
jmp 0x1004a605
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1004a491
cmp byte [esi + 0x2b], 0
je 0x10049c9a
cmp dword [esi + 0x28], 0x30585055
jne 0x10049c9a
test dword [esi + 0x30], ecx
jne 0x10049c9a
cmp dword [esi + 0x38], 0
jne 0x10049c9a
cmp dword [esi + 0x48], 0xe0000080
jne 0x10049c9a
cmp edx, 3
jb 0x1004bd03
cmp byte [esi + 0x57], 0
jne 0x10049c9a
cmp byte [esi + 0x56], 0
jne 0x10049c9a
cmp byte [esi + 0x55], 0
jne 0x10049c9a
cmp byte [esi + 0x54], 0
jne 0x10049c9a
cmp byte [esi + 0x53], 0
je 0x10049c9a
cmp dword [esi + 0x50], 0x31585055
jne 0x10049c9a
test dword [esi + 0x58], ecx
jne 0x10049c9a
cmp dword [esi + 0x60], 0
je 0x10049c9a
cmp dword [esi + 0x70], 0xe0000040
jne 0x10049c9a
jmp 0x10049d72
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x23
movd ecx, xmm0
test ecx, ecx
je 0x1004a4df
movd ecx, xmm0
test ecx, ecx
je 0x10049dae
movq qword [esp + 0x190], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x198], esi
mov edx, 0x16aa07c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 3
call fcn.10060a50
add esp, 8
jmp 0x10049dae
or esi, eax
je 0x10049dae
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x70]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
add eax, 8
adc esi, 0
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
xor esi, esi
lea edx, [0x16a9889]
lea ebx, [0x16a988a]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004a54d
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004a56c
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004a528
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004abb1
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004abdf
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004abf2
mov ebx, dword [esp + 0x88]
cmp ebx, 2
mov dword [esp + 0x118], ebx
jae 0x1004a605
mov eax, dword [esp + 0x8c]
jmp 0x1004a799
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x80]
mov ecx, 0x20
cmp ebx, edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0x60], eax
mov eax, 0x20
cmovb edx, ebx
test edx, edx
je 0x1004a637
bsr ecx, edx
xor ecx, 0x1f
sub eax, ecx
mov ecx, dword [esp + 0x60]
mov esi, esp
push eax
push 0
push esi
mov esi, ecx
call fcn.100680f0
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xf8], eax
mov eax, ebx
and eax, 0xfffffffe
cmp ebx, 4
mov eax, dword [esi + eax*2]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + ebx*4 - 4]
mov dword [esp + 0x40], eax
jae 0x1004a67e
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x1004a6df
mov eax, ebx
lea ecx, [esi + 8]
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm0, xmm0
and eax, 0xfffffffc
mov edx, eax
nop word cs:[eax + eax]
nop
movq xmm3, qword [ecx - 8]
movq xmm4, qword [ecx]
add ecx, 0x10
add edx, 0xfffffffc
punpckldq xmm3, xmm1
punpckldq xmm4, xmm1
paddq xmm2, xmm3
paddq xmm0, xmm4
jne 0x1004a6a0
paddq xmm0, xmm2
cmp ebx, eax
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movd edx, xmm0
je 0x1004a6fb
mov ebx, dword [esp + 0x70]
sub ebx, eax
lea eax, [esi + eax*4]
nop dword [eax + eax]
add ecx, dword [eax]
adc edx, 0
add eax, 4
dec ebx
jne 0x1004a6f0
push 0
push dword [esp + 0x74]
push edx
push ecx
call 0x10073a54
add esp, 0x10
test edx, edx
jne 0x1004bc80
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x16ab74a
mov esi, dword [eax + 0x28]
lea eax, [esp + 0x118]
mov ecx, esi
push eax
push 0xa
call fcn.10061030
add esp, 8
lea eax, [esp + 0xf8]
mov ecx, esi
mov edx, 0x16ab754
push eax
push 8
call fcn.10061030
add esp, 8
lea eax, [esp + 0xa0]
mov ecx, esi
mov edx, 0x16ab75c
push eax
push 0xb
call fcn.10061030
add esp, 8
mov eax, esp
mov ecx, esi
mov edx, 0x16ab767
push eax
push 0xc
call fcn.10061030
add esp, 8
lea eax, [esp + 0x40]
mov ecx, esi
mov edx, 0x16ab773
push eax
push 8
call fcn.10061030
add esp, 8
mov eax, dword [esp + 0xb0]
mov edx, 4
mov ecx, 4
push eax
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004a823
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 0x1000]
mov edi, dword [ecx + 0x1004]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
test ebx, ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edi
je 0x1004bb46
cmp ebx, eax
jne 0x1004bb46
cmp edi, edx
jne 0x1004bb46
cmp ecx, esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xa0], ecx
jne 0x1004bc06
mov edi, dword [ebp + 8]
mov dword [ecx + 0x1000], 0
mov eax, dword [esp + 0x20]
dec dword [eax]
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.1006e410
add esp, 4
xor edi, edi
lea esi, [0x16a39d5]
lea edx, [0x16a39d6]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a885
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x1004a8a6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004a860
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004a920
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0xd
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004a946
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004a95c
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x1004a9d5
jmp 0x1004be07
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x70]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1004a9bd
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], edx
mov edx, 0x16aa08c
mov ecx, dword [ecx + 0x28]
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10060a50
add esp, 8
jmp 0x1004be13
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x1004be07
mov ebx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, ebx
mov dword [esp + 0x20], eax
jmp 0x1004a9fa
mov ebx, esi
sub esi, ecx
jbe 0x1004be07
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004a9f0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004aa3a
inc esi
mov ecx, esi
mov esi, ebx
sub esi, ecx
ja 0x1004a9fa
jmp 0x1004be07
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004be07
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004aa6a
mov ecx, edx
sub edx, ebx
jbe 0x1004be07
shr edx, 1
xor eax, eax
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], 0x2b937060
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004aa60
movzx eax, al
cmp eax, 0xff
jne 0x1004aaa4
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004aa6a
jmp 0x1004be07
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004aab8
mov ecx, esi
sub esi, ebx
jbe 0x1004be07
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004aaae
movzx edx, dl
cmp edx, 0xff
jne 0x1004aaf8
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004aab8
jmp 0x1004be07
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004be07
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004ab1f
mov ecx, edx
sub edx, ebx
jbe 0x1004be07
shr edx, 1
xor eax, eax
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], 0xc709d571
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004ab15
movzx eax, al
cmp eax, 0xff
jne 0x1004ab59
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004ab1f
jmp 0x1004be07
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004ab6d
mov ecx, esi
sub esi, ebx
jbe 0x1004be07
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004ab63
movzx edx, dl
cmp edx, 0xff
jne 0x1004ad08
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004ab6d
jmp 0x1004be07
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1004abfd
mov eax, dword [esp + 0x198]
mov edi, dword [esp + 0x194]
mov dword [esp + 0x20], eax
jmp 0x1004adea
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x26
movd ecx, xmm0
test ecx, ecx
jne 0x1004a499
or esi, eax
je 0x10049dae
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 0
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a0c0
add esp, 0x14
xor esi, esi
lea edx, [0x16a9889]
lea ebx, [0x16a988a]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ac6f
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004ac8e
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004ac4a
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004ae04
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004ae96
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004aea9
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004be07
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004ad2f
mov ecx, edx
sub edx, ebx
jbe 0x1004be07
shr edx, 1
xor eax, eax
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], 0x52cd0d58
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004ad25
movzx eax, al
cmp eax, 0xff
jne 0x1004af59
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004ad2f
jmp 0x1004be07
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x20]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x1004ade1
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x16aa07f
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10060a50
add esp, 8
jmp 0x10049dea
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
cmp dword [edi + 0x18], 0xa
ja 0x1004adf6
cmp dword [edi + 0x14], 0
je 0x1004ae1e
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
dec dword [eax]
jmp 0x10049dea
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1004aeb4
mov ecx, 0x16ac5f4
mov edx, 0x11
call 0x100733d0
mov edx, dword [edi + 0x34]
mov ebx, dword [edi + 0x30]
lea ecx, [edx + edx*8]
mov dword [esp + 0x60], edx
lea edi, [ecx + ecx*2]
lea ecx, [edi + edx]
lea edx, [ebx + ecx]
mov dword [esp + 0xb0], edx
mov edx, ebx
test ecx, ecx
je 0x1004adf6
mov esi, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [esi], 0
je 0x1004ae4c
cmp dword [esi + 4], eax
jne 0x1004ae4c
mov ecx, 0x16ac605
mov edx, 0x13
call 0x100733d0
add edi, dword [esp + 0x60]
mov ecx, ebx
test edi, edi
je 0x1004afc5
mov edx, ecx
add edi, 0xffffffe4
add ecx, 0x1c
cmp dword [edx], 0
je 0x1004ae77
cmp dword [edx + 4], eax
jne 0x1004ae77
jmp 0x1004adf6
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x29
movd ecx, xmm0
test ecx, ecx
jne 0x1004a499
or esi, eax
jne 0x10049dae
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a9891
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x15c9146b
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10049dae
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10049dae
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004af6d
mov ecx, esi
sub esi, ebx
jbe 0x1004be07
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004af63
movzx edx, dl
cmp edx, 0xff
jne 0x1004b07d
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004af6d
jmp 0x1004be07
mov ecx, 1
push 0x16ab5e0
call fcn.10007630
add esp, 4
ud2
cmp dword [esp + 0x60], 0
je 0x1004adf6
cmp dword [ebx + 0xc], 0
jne 0x1004adf6
cmp dword [esp + 0x60], 1
mov dword [esp + 0x120], ebx
jne 0x1004b136
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16ac618
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0xb1d111b0
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push edi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004adf6
mov ecx, dword [0x16ad000]
push edx
push eax
push edi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004adf6
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004be07
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b0a4
mov ecx, edx
sub edx, ebx
jbe 0x1004be07
shr edx, 1
xor eax, eax
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], 0x1a9b3246
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004b09a
movzx eax, al
cmp eax, 0xff
jne 0x1004b0de
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b0a4
jmp 0x1004be07
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b0f2
mov ecx, esi
sub esi, ebx
jbe 0x1004be07
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004b0e8
movzx edx, dl
cmp edx, 0xff
jne 0x1004b9e0
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b0f2
jmp 0x1004be07
mov eax, dword [ebp + 8]
add dword [esp + 0x120], 0x1c
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 0xc]
mov edx, eax
sub eax, dword [ecx + 0x34]
jb 0x1004adf6
mov ecx, dword [esp + 0x70]
cmp eax, dword [ecx + 0x30]
jae 0x1004adf6
add edx, dword [esp + 0x130]
mov edi, dword [esp + 0x180]
adc edi, 0
mov eax, edx
mov esi, edx
mov ecx, edi
xor eax, 0xffffffe0
add esi, 0x1f
mov ebx, edi
not ecx
adc ebx, 0
or ecx, eax
mov eax, 0
mov ecx, 1
cmove edx, ecx
cmove ebx, eax
cmove esi, eax
cmove edi, eax
cmp esi, edx
mov eax, ebx
mov dword [esp + 0xe0], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x9c], ebx
sbb eax, edi
jb 0x100606c2
add dword [esp + 0x120], 0x1c
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov esi, 0
sub eax, ebx
sbb ecx, edi
add eax, 1
adc ecx, 0
setb dl
neg ecx
mov ecx, esp
sbb esi, esi
or esi, eax
test dl, dl
mov edx, dword [ebp + 0xc]
mov eax, 0xffffffff
cmovne esi, eax
push esi
push edi
push ebx
call fcn.10068f80
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
jne 0x1004b7e6
cmp dword [esp + 0xd0], 0
je 0x1004b820
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x1004b276
cmp byte [eax + edx + 1], 0x3c
lea esi, [edx + 1]
mov edx, esi
jne 0x1004b260
jmp 0x1004b2cd
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0xe0]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x9c]
or ecx, eax
je 0x1004b8fa
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
add eax, dword [esp + 0xd0]
adc edi, 0
cmp dword [esp + 0x60], eax
mov dword [esp + 0xe0], eax
sbb ecx, edi
jae 0x1004b1df
jmp 0x100606c2
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
add eax, esi
adc edi, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x16ac5c3]
lea esi, [0x16ac5c2]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004b34f
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov ebx, eax
movzx edi, dh
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x1004b370
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x1004b32a
cmp dword [esp + 0xcc], 0
jne 0x1004ba45
movdqu xmm0, xmmword [esp + 0x194]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004adf6
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd edx, xmm1
movd edi, xmm0
mov eax, edi
mov ecx, edx
mov esi, edx
mov ebx, edi
xor ecx, 0xffffffe0
add esi, 0x1f
not eax
adc ebx, 0
or ecx, eax
mov eax, 0
mov ecx, 1
cmove edx, ecx
cmove ebx, eax
cmove esi, eax
cmove edi, eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x60], esi
cmp esi, edx
mov dword [esp + 0x9c], ebx
mov eax, ebx
sbb eax, edi
jb 0x100606c2
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov esi, 0
sub eax, ebx
sbb ecx, edi
add eax, 1
adc ecx, 0
setb dl
neg ecx
mov ecx, esp
sbb esi, esi
or esi, eax
test dl, dl
mov edx, dword [ebp + 0xc]
mov eax, 0xffffffff
cmovne esi, eax
push esi
push edi
push ebx
call fcn.10068f80
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
jne 0x1004b842
cmp dword [esp + 0xd0], 0
je 0x1004b87c
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x1004b48e
cmp byte [eax + edx + 1], 0x88
lea esi, [edx + 1]
mov edx, esi
jne 0x1004b478
jmp 0x1004b4e5
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0xe0]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x9c]
or ecx, eax
je 0x1004b940
mov eax, dword [esp + 0xe0]
add eax, dword [esp + 0xd0]
adc edi, 0
mov dword [esp + 0xe0], eax
cmp dword [esp + 0x60], eax
mov eax, dword [esp + 0x9c]
sbb eax, edi
jae 0x1004b3f7
jmp 0x100606c2
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
add eax, esi
adc edi, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x16ac5c3]
lea esi, [0x16ac5c2]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004b567
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov ebx, eax
movzx edi, dh
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x1004b588
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x1004b542
cmp dword [esp + 0xcc], 0
jne 0x1004ba4a
movdqu xmm0, xmmword [esp + 0x194]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004adf6
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd edx, xmm1
movd edi, xmm0
mov eax, edi
mov ecx, edx
mov esi, edx
mov ebx, edi
xor ecx, 0xffffffe0
add esi, 0x1f
not eax
adc ebx, 0
or ecx, eax
mov eax, 0
mov ecx, 1
cmove edx, ecx
cmove ebx, eax
cmove esi, eax
cmove edi, eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x60], esi
cmp esi, edx
mov dword [esp + 0x9c], ebx
mov eax, ebx
sbb eax, edi
jb 0x100606c2
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov esi, 0
sub eax, ebx
sbb ecx, edi
add eax, 1
adc ecx, 0
setb dl
neg ecx
mov ecx, esp
sbb esi, esi
or esi, eax
test dl, dl
mov edx, dword [ebp + 0xc]
mov eax, 0xffffffff
cmovne esi, eax
push esi
push edi
push ebx
call fcn.10068f80
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
jne 0x1004b89e
cmp dword [esp + 0xd0], 0
je 0x1004b8d8
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x1004b6a6
cmp byte [eax + edx + 1], 0x1c
lea esi, [edx + 1]
mov edx, esi
jne 0x1004b690
jmp 0x1004b6fd
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0xe0]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x9c]
or ecx, eax
je 0x1004b986
mov eax, dword [esp + 0xe0]
add eax, dword [esp + 0xd0]
adc edi, 0
mov dword [esp + 0xe0], eax
cmp dword [esp + 0x60], eax
mov eax, dword [esp + 0x9c]
sbb eax, edi
jae 0x1004b60f
jmp 0x100606c2
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
add eax, esi
adc edi, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x16ac5c3]
lea esi, [0x16ac5c2]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004b77f
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov ebx, eax
movzx edi, dh
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x1004b7a0
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x1004b75a
cmp dword [esp + 0xcc], 0
jne 0x1004ba4f
movdqu xmm0, xmmword [esp + 0x194]
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
or eax, dword [esp + 0x194]
jne 0x1004adf6
mov eax, dword [esp + 0xb0]
cmp dword [esp + 0x120], eax
jne 0x1004b157
jmp 0x1004afec
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ecx
jmp 0x1004b30f
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 1
jmp 0x1004b2f6
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ecx
jmp 0x1004b527
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 1
jmp 0x1004b50e
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ecx
jmp 0x1004b73f
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 1
jmp 0x1004b726
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe0], eax
jmp 0x1004b30f
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe0], eax
jmp 0x1004b527
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe0], eax
jmp 0x1004b73f
mov ecx, 1
push 0x16a3be8
call fcn.10007630
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004be07
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004ba07
mov ecx, edx
sub edx, ebx
jbe 0x1004be07
shr edx, 1
xor eax, eax
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], 0x40c62caa
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004b9fd
movzx eax, al
cmp eax, 0xff
jne 0x1004baf2
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004ba07
jmp 0x1004be07
xor edi, 0x3e
jmp 0x1004ba52
xor edi, 0x43
jmp 0x1004ba52
xor edi, 0x48
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0x190]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xe0]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], eax
mov eax, dword [0x16ad000]
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004baab
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004bac2
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xe0]
mov dword [eax], ecx
mov dword [eax + 4], edx
movdqa xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x20]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movd ecx, xmm0
mov edi, dword [ebp + 8]
movq xmm0, qword [esp + 0x44]
dec dword [edx]
test ecx, ecx
jne 0x1004ada7
jmp 0x10049dea
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004bb06
mov ecx, esi
sub esi, ebx
jbe 0x1004be07
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004bafc
movzx edx, dl
cmp edx, 0xff
jne 0x1004bba1
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004bb06
jmp 0x1004be07
lea eax, [esp + 0xf8]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
mov dword [esp], 0x16a9ac0
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x169d650
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x16a9ad8
mov dword [esp + 0x4c], 0x169d650
mov dword [esp + 0xc], 2
call fcn.100075c0
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004be07
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004bbc8
mov ecx, edx
sub edx, ebx
jbe 0x1004be07
shr edx, 1
xor eax, eax
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], 0xd222f5a1
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x1004bbbe
movzx eax, al
cmp eax, 0xff
jne 0x1004bca1
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004bbc8
jmp 0x1004be07
lea eax, [esp + 0xf8]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
mov dword [esp], 0x16a9a80
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x166ca90
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x16a9a98
mov dword [esp + 0x4c], 0x166ca90
mov dword [esp + 0xc], 2
call fcn.100075c0
ud2
mov eax, esp
mov ecx, 0x16ac93c
mov edx, 0x2b
mov byte [esp], 1
push 0x16ac0c4
push 0x16ab8b4
jmp 0x100606b7
mov ecx, 0x16ac93c
mov edx, 0x2b
mov byte [esp], 1
push 0x16ac0c4
push 0x16ab8b4
lea eax, [esp + 8]
jmp 0x100606b7
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0xff
jmp 0x1004bcc0
mov ecx, dword [esp + 0x60]
sub dword [esp + 0x60], esi
jbe 0x1004be07
mov eax, dword [esp + 0x60]
xor ebx, ebx
shr eax, 1
add eax, esi
mov dword [esp + 0x60], eax
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x1004bcb2
movzx esi, bl
cmp esi, 0xff
jne 0x1004bd1c
mov esi, dword [esp + 0x60]
mov dword [esp + 0x60], ecx
inc esi
sub dword [esp + 0x60], esi
ja 0x1004bcc0
jmp 0x1004be07
mov ecx, 2
mov edx, 2
push 0x16ab5f0
call fcn.10007630
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x1004be07
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov esi, ecx
mov eax, dword [edx + eax]
jmp 0x1004bd43
mov esi, ecx
sub ecx, ebx
jbe 0x1004be07
shr ecx, 1
xor edx, edx
add ecx, ebx
mov edi, ecx
shl edi, 4
cmp dword [eax + edi + 0xc], 0xe9b7ea0f
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1004bd39
movzx edx, dl
cmp edx, 0xff
jne 0x1004bd7f
inc ecx
mov ebx, ecx
mov ecx, esi
sub ecx, ebx
ja 0x1004bd43
jmp 0x1004be07
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a39dd
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe5d4cb4f
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004be07
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
mov edx, esi
lea ecx, [esp + 0x190]
push edi
call fcn.1006e410
add esp, 4
xor esi, esi
lea edx, [0x16ab6d5]
lea ebx, [0x16ab6d6]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004be65
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004be84
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004be40
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004bf01
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x15
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004bf27
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004bf3d
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0xb0], eax
mov edi, dword [ebx + 0x10]
cmp edi, 1
jne 0x1004bfc8
jmp 0x1004c4a7
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0xb0]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1004bfb3
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], edx
mov edx, 0x16aa092
mov ecx, dword [ecx + 0x28]
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
je 0x1004c4c8
jmp 0x1004e49d
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov edi, dword [ebx + 0x10]
cmp edi, 1
je 0x1004c4a7
mov ecx, 0x16ab6dd
mov edx, 8
call 0x100733d0
test edi, edi
mov dword [esp + 0x20], eax
je 0x1004c4a7
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x60], edi
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov esi, dword [esp + 0x70]
jmp 0x1004c00c
mov dword [esp + 0x60], edi
sub edi, ecx
jbe 0x1004c4a7
shr edi, 1
mov eax, dword [esp + 0x20]
xor edx, edx
add edi, ecx
mov ebx, edi
shl ebx, 4
cmp dword [esi + ebx + 0xc], eax
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x1004c000
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004c04a
inc edi
mov ecx, edi
mov edi, dword [esp + 0x60]
sub edi, ecx
ja 0x1004c00c
jmp 0x1004c4a7
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ebx + 4]
cmp eax, 9
mov dword [esp + 0xd0], eax
ja 0x1004c4a7
mov ecx, 0x16ab6e5
mov edx, 0xc
call 0x100733d0
cmp dword [esp + 0xd0], 0
mov dword [esp + 0x60], eax
je 0x1004c4a7
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0xd0]
add eax, ebx
mov edx, edi
mov dword [esp + 0x70], edi
xor ebx, ebx
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x20]
jmp 0x1004c0b0
mov dword [esp + 0x70], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x60]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c0a4
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c0ee
inc edx
mov ebx, edx
mov edx, dword [esp + 0x70]
sub edx, ebx
ja 0x1004c0b0
jmp 0x1004c4a7
mov ecx, 0x16ab6f1
mov edx, 8
call 0x100733d0
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c122
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c116
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c160
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c122
jmp 0x1004c4a7
mov ecx, 0x16ab6f9
mov edx, 0xd
call 0x100733d0
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c194
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c188
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c1d2
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c194
jmp 0x1004c4a7
mov ecx, 0x16ab706
mov edx, 0xc
call 0x100733d0
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c206
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c1fa
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c244
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c206
jmp 0x1004c4a7
mov ecx, 0x16ab712
mov edx, 0xc
call 0x100733d0
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c278
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c26c
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c2b6
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c278
jmp 0x1004c4a7
mov ecx, 0x16ab71e
mov edx, 0xe
call 0x100733d0
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c2ea
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c2de
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c328
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c2ea
jmp 0x1004c4a7
mov ecx, 0x16ab72c
mov edx, 5
call 0x100733d0
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c35c
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004c4a7
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c350
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c39a
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c35c
jmp 0x1004c4a7
mov ecx, 0x16ab731
mov edx, 0xc
call 0x100733d0
mov edx, dword [esp + 0xd0]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x20]
jmp 0x1004c3d3
mov dword [esp + 0x60], edi
sub edi, ecx
mov dword [esp + 0xd0], edi
jbe 0x1004c4a7
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x70]
xor ebx, ebx
shr esi, 1
add esi, ecx
mov edi, esi
shl esi, 4
cmp dword [edx + esi + 0xc], eax
mov eax, 0xff
setne bl
cmovb ebx, eax
cmp bl, 1
je 0x1004c3c0
movzx esi, bl
cmp esi, 0xff
jne 0x1004c41f
mov ecx, edi
mov edi, dword [esp + 0x60]
inc ecx
sub edi, ecx
mov dword [esp + 0xd0], edi
ja 0x1004c3d3
jmp 0x1004c4a7
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16ab73d
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x8f1ee398
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push edi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004c4a7
mov ecx, dword [0x16ad000]
push edx
push eax
push edi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 8]
dec dword [eax]
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x1004e49d
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004e49d
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1004e49d
mov esi, dword [eax + 0xcc]
test esi, esi
je 0x1004e49d
mov ebx, dword [eax + 0xc]
add esi, dword [eax + 8]
mov edx, dword [ebp + 0xc]
lea edi, [esp + 0x190]
mov ecx, edi
adc ebx, 0
push 0xa
push 0x16ac5ca
mov dword [esp + 0x78], ebx
push ebx
push esi
call fcn.1006a7e0
add esp, 0x10
lea ecx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c54e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004c55d
inc eax
test ecx, ecx
jne 0x1004c530
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004c5cc
movsd xmm0, qword [esp + 0x194]
mov ebx, esi
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004c5d6
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004c5eb
movzx eax, byte [esp + 0x194]
jmp 0x1004c5ff
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov eax, ecx
mov dword [ecx + 4], esi
cmp dword [esp], 0
mov esi, ebx
je 0x1004c5fb
mov edi, dword [ebp + 0xc]
jmp 0x1004c8e8
mov eax, dword [esp + 4]
test al, al
je 0x1004c7c4
mov ebx, dword [esp + 0x70]
mov eax, esi
xor edx, edx
movd xmm0, esi
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], esi
xor eax, 0xffffffc0
mov ecx, ebx
movd xmm1, ebx
not ecx
punpckldq xmm0, xmm1
or ecx, eax
pshufd xmm1, xmm0, 0x44
sete dl
paddq xmm1, xmmword [0x16a3580]
movd xmm0, edx
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x16a3590]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
cmovae edi, eax
mov eax, dword [edi + 0x11]
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa3], ecx
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x100606c2
movq xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa3]
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0x190]
mov edx, esi
movq qword [esp + 0x198], xmm1
movq qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x40]
push edi
push 6
push 0x16ac5d4
call fcn.10071fa0
add esp, 0xc
lea ecx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c76e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004c77d
inc eax
test ecx, ecx
jne 0x1004c750
cmp dword [esp + 0x40], 0
je 0x1004c7d0
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0x16ad000]
mov dword [esp], edi
mov dword [esp + 4], ebx
push 4
push 8
push 0x16ac968
push esi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004c8d5
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1004c8e1
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
jmp 0x1004c90e
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1004d0b3
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x190]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [esp + 0x60]
call fcn.100725a0
add esp, 0x10
xor edi, edi
lea ebx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c837
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [ebx + 1]
cmove edx, ebx
je 0x1004c858
shld esi, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004c812
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004d0c0
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x1004d1f1
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004d206
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x1004c90a
mov ecx, eax
mov ebx, eax
call fcn.10006530
mov eax, dword [0x16ad000]
push 4
push 8
push ebx
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov edx, edi
mov word [esp + 0x110], 0x24
lea ecx, [esp + 0x190]
push 3
push 0x16ac5e6
mov dword [esp + 0x68], eax
push eax
mov dword [esp + 0x2c], esi
push esi
call fcn.1006a7e0
add esp, 0x10
xor edi, edi
lea esi, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c975
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x1004c996
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004c950
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004ca05
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov edi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004ca19
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1004ca2c
movzx ecx, byte [esp + 0x194]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x20]
jmp 0x1004cae5
movdqa xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x20]
test esi, esi
je 0x1004cae2
xor edi, 0xa7
mov dword [esp + 0x70], esi
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], edi
mov eax, ecx
mov dword [esp + 0xb0], ecx
shr ecx, 8
lea edi, [0x16ac5c2]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
shr eax, 0x10
mov dword [esp + 0x9c], ecx
lea ecx, [0x16ac5c3]
mov dword [esp + 0xe0], eax
xor eax, eax
nop dword [eax]
movzx ebx, byte [edi]
mov edi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004cab5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, eax
movzx esi, cl
lea ecx, [edi + 1]
shl ebx, 4
or esi, ebx
test edx, edx
cmove ecx, edi
je 0x1004cad6
shld dword [esp + 0x20], eax, 4
inc edx
test edi, edi
mov eax, esi
jne 0x1004ca90
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
jmp 0x1004cf05
mov edi, dword [ebp + 8]
test cl, cl
je 0x1004e45b
mov ebx, dword [esp + 0x60]
mov edx, eax
mov edi, eax
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
xor edx, 0xffffffc0
add eax, 0x3f
mov esi, ebx
mov ecx, ebx
not esi
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, edi
cmove eax, esi
cmove ebx, esi
cmove ecx, esi
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
mov byte [esp + 0x10], 0
sbb ecx, ebx
lea ecx, [esp + 0x190]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfb], eax
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x100606c2
movsd xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
lea edx, [esp + 0x190]
movq qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x16ac5e9
call fcn.10071fa0
add esp, 0xc
lea esi, [0x16ac5c2]
lea ecx, [0x16ac5c3]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax]
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004cc25
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, edi
movzx edx, cl
lea ecx, [esi + 1]
shl ebx, 4
or edx, ebx
test eax, eax
cmove ecx, esi
je 0x1004cc46
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004cc00
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], edx
je 0x1004ccb4
xor dword [esp + 0x60], 0xad
mov esi, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
mov edi, dword [esp + 0x50]
mov eax, dword [0x16ad000]
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004ce3d
mov ecx, esp
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004ce50
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x1004e45b
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
mov ebx, edi
mov eax, esi
mov ecx, edi
mov edx, esi
xor ebx, 0xffffffe0
add ecx, 0x1f
not eax
adc edx, 0
or eax, ebx
mov ebx, 0
mov eax, 1
cmovne eax, edi
cmove edx, ebx
cmove ecx, ebx
cmove esi, ebx
cmp ecx, eax
mov ebx, edx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, esp
lea ecx, [esp + 0x190]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0
sbb ebx, esi
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x100606c2
movsd xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
lea edx, [esp + 0x190]
movq qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x16ac5ec
call fcn.10071fa0
add esp, 0xc
lea esi, [0x16ac5c2]
lea ecx, [0x16ac5c3]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004ce00
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, edi
movzx edx, cl
lea ecx, [esi + 1]
shl ebx, 4
or edx, ebx
test eax, eax
cmove ecx, esi
je 0x1004ce21
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004cddb
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], edx
je 0x1004d0da
xor dword [esp + 0x60], 0xb8
jmp 0x1004cc59
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0xa0], xmm0
movss dword [esp + 0x70], xmm0
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb0], edx
mov ecx, eax
shld ecx, edx, 0x18
mov dword [esp + 0x9c], ecx
mov ecx, edx
shrd edx, eax, 0x10
mov dword [esp + 0xe0], edx
xor eax, eax
lea ecx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004ced5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, eax
movzx esi, bh
shl edi, 4
or esi, edi
lea edi, [ecx + 1]
test edx, edx
cmove edi, ecx
je 0x1004cef6
shld dword [esp + 0x20], eax, 4
inc edx
test ecx, ecx
mov eax, esi
jne 0x1004ceb0
mov edx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
test edx, edx
je 0x1004d014
mov eax, dword [esp + 0x9c]
movzx ecx, byte [esp + 0xb0]
mov ebx, dword [esp + 0x60]
movd xmm1, edx
mov dword [esp + 0x70], edx
shl eax, 8
mov dword [esp], ebx
movzx eax, ax
or ecx, eax
mov eax, dword [esp + 0xe0]
shl eax, 0x10
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0xd0]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], eax
mov eax, dword [0x16ad000]
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004cf81
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1004cf94
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x70]
movaps xmm0, xmmword [esp + 0x20]
test edx, edx
movlps qword [esp + 0x118], xmm0
je 0x1004d014
movzx ecx, word [esp + 0x11d]
xor esi, 0xe8
mov word [esp + 0x195], cx
movzx ecx, byte [esp + 0x11f]
mov byte [esp + 0x197], cl
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x190], edx
mov edx, 0x16aa098
mov byte [esp + 0x194], cl
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10060a50
add esp, 8
jmp 0x1004e49d
cmp byte [esp + 0xb0], 0
je 0x1004e49d
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16ac61c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xafee5d80
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004e49d
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004e49d
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
jmp 0x1004c90e
mov ebx, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x1004d21a
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x1004e45b
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
mov dword [esp + 0x24], esi
push esi
mov dword [esp + 0x68], edi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
xor edi, edi
lea esi, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d153
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x1004d174
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004d12e
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004d4f4
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x1004d5f6
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1004d609
movdqa xmm0, xmmword [esp + 0x60]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov eax, ecx
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x20]
cmp dword [esp], 0
jne 0x1004c8e8
xor ebx, 0x84
lea ecx, [esp + 0x190]
mov edx, edi
push 3
push 0x16ac5da
mov dword [esp + 0x68], eax
push eax
mov dword [esp + 0xbc], ebx
push ebx
call fcn.1006a7e0
add esp, 0x10
lea ecx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d26e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004d27d
inc eax
test ecx, ecx
jne 0x1004d250
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004d2ed
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d2fe
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004d314
movzx eax, byte [esp + 0x194]
mov ecx, dword [esp + 0xb0]
jmp 0x1004d32e
movdqa xmm0, xmmword [esp + 0xd0]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
cmp dword [esp], 0
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xb0]
jne 0x1004c8e8
movzx eax, byte [esp + 4]
test al, al
je 0x1004c90a
mov edx, ecx
movd xmm0, ecx
mov ecx, dword [esp + 0x60]
xor eax, eax
mov byte [esp + 0x1a0], 2
xor edx, 0xffffff50
movd xmm1, ecx
not ecx
or ecx, edx
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x16a35a0]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x16a3590]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov ecx, esp
lea eax, [esp + 0x190]
cmovb ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa3], ecx
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x100606c2
movq xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa3]
lea edi, [esp + 0x190]
lea esi, [esp + 0x40]
mov edx, edi
movq qword [esp + 0x198], xmm1
movq qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
mov ecx, esi
push dword [ebp + 0xc]
push 9
push 0x16ac5dd
call fcn.10071fa0
add esp, 0xc
lea ecx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d49e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004d4ad
inc eax
test ecx, ecx
jne 0x1004d480
cmp dword [esp + 0x40], 0
je 0x1004d504
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0x16ad000]
mov dword [esp], esi
mov dword [esp + 4], ebx
push 4
push 8
push 0x16ac968
push edi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
jne 0x1004c7b6
mov eax, dword [esp + 0x194]
mov dword [eax], esi
jmp 0x1004c8de
movzx ecx, byte [esp + 0x194]
mov edi, dword [ebp + 0xc]
jmp 0x1004d62e
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1004da0a
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov eax, edi
mov dword [esp + 0x60], ebx
add eax, 4
adc ebx, 0
push 9
push 0x16ac5dd
push ebx
push eax
call fcn.1006a7e0
add esp, 0x10
lea ecx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d570
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004d57f
inc eax
test ecx, ecx
jne 0x1004d552
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004d990
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push esi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d99a
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004d9b2
movdqa xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, dword [esp]
mov ecx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x70], eax
je 0x1004d62e
xor ebx, 0xbd
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], ebx
jmp 0x1004ca54
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
xor eax, eax
mov byte [esp + 0x111], cl
mov byte [esp + 0x1a0], 2
movd xmm0, esi
movd xmm1, edx
xor esi, 0xffffffdb
not edx
or edx, esi
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x16a35b0]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x16a3590]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
lea ecx, [esp + 0x190]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10b], eax
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x40]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [esp + 0x51], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x80]
push edi
push 2
push eax
call fcn.10071fa0
add esp, 0xc
xor edi, edi
lea edx, [0x16ac5c2]
lea ebx, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004d795
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004d7b4
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004d770
cmp dword [esp + 0x80], 0
je 0x1004d82c
mov esi, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x84]
mov edi, dword [esp + 0x90]
mov eax, dword [0x16ad000]
xor ecx, 0xc2
mov dword [esp + 0x60], ecx
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004d95e
mov ecx, esp
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004d971
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004e45b
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0xe0], eax
add eax, 0xfffffffc
mov dword [esp + 0x20], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor edi, edi
lea esi, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d8b8
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x1004d8d9
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004d893
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1004da1a
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004da2b
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004da45
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0xf8], xmm0
movss dword [esp + 0x70], xmm0
mov edx, dword [esp + 0xfc]
jmp 0x1004ce6a
movzx eax, byte [esp + 0x194]
jmp 0x1004d9c1
movdqa xmm0, xmmword [esp + 0xb0]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov eax, ecx
mov dword [ecx + 4], ebx
cmp dword [esp], 0
jne 0x1004c8e1
movzx eax, byte [esp + 4]
test al, al
je 0x1004da0a
mov edx, edi
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [esp + 0x6c]
call fcn.100725a0
add esp, 0x10
mov eax, dword [esp + 0x19c]
cmp dword [esp + 0x190], 0
mov esi, dword [esp + 0x20]
jne 0x1004c8e8
mov esi, dword [esp + 0x198]
jmp 0x1004c90e
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x1004c90e
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004da8b
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
je 0x1004da8b
mov eax, dword [esp + 0xb0]
movzx ecx, word [esp + 0xb0]
xor dword [esp + 0x60], 0xc7
shr eax, 0x10
shr ecx, 8
mov dword [esp + 0xe0], eax
mov dword [esp + 0x9c], ecx
jmp 0x1004ce8f
movzx eax, word [esp + 0xb0]
mov cl, 1
mov dword [esp + 0x9c], ecx
cmp eax, 0x64c0
jg 0x1004daba
cmp eax, 0x446b
je 0x1004dada
cmp eax, 0x4481
je 0x1004dada
cmp eax, 0x4c81
je 0x1004dada
jmp 0x1004dacf
cmp eax, 0x64c1
je 0x1004dada
cmp eax, 0x6cc1
je 0x1004dada
cmp eax, 0x7481
je 0x1004dada
mov dword [esp + 0x9c], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xe0]
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
mov edx, ebx
mov esi, edi
mov eax, ebx
mov ecx, edi
xor edx, 0xffffffe0
add eax, 0x1f
not esi
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, ebx
cmove ecx, esi
cmove eax, esi
cmove edi, esi
cmp eax, edx
mov esi, ecx
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb esi, edi
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov ecx, dword [esp + 0x10b]
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
lea ecx, [esp + 0x80]
mov dword [edx], eax
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
lea esi, [0x16ac5c2]
lea ecx, [0x16ac5c3]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004dc0d
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, edi
movzx edx, cl
lea ecx, [esi + 1]
shl ebx, 4
or edx, ebx
test eax, eax
cmove ecx, esi
je 0x1004dc2e
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004dbe8
cmp dword [esp + 0x80], 0
mov ecx, edx
jne 0x1004d7be
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004e45b
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0xe0], eax
add eax, 0xfffffffc
mov dword [esp + 0x20], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor edi, edi
lea edx, [0x16ac5c2]
lea esi, [0x16ac5c3]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004dcca
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1004dce9
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004dca5
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1004dd63
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004dd74
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004dd8e
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004dda8
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
jne 0x1004da5b
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x1004ddce
cmp eax, 0x446b
je 0x1004dde3
cmp eax, 0x4481
je 0x1004dde3
cmp eax, 0x4c81
je 0x1004dde3
jmp 0x1004de22
cmp eax, 0x64c1
je 0x1004dde3
cmp eax, 0x7481
je 0x1004dde3
cmp eax, 0x6cc1
jne 0x1004de22
cmp byte [esp + 0x9c], 0
mov al, 1
mov dword [esp + 0xb0], eax
je 0x1004de19
mov dword [esp + 0x9c], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0x70], 0
jmp 0x1004ce8f
mov al, 1
mov dword [esp + 0x9c], eax
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xe0]
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
mov edx, ebx
mov esi, edi
mov eax, ebx
mov ecx, edi
xor edx, 0xffffffe0
add eax, 0x1f
not esi
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, ebx
cmove ecx, esi
cmove eax, esi
cmove edi, esi
cmp eax, edx
mov esi, ecx
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb esi, edi
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov ecx, dword [esp + 0x10b]
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
lea ecx, [esp + 0x80]
mov dword [edx], eax
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
lea esi, [0x16ac5c2]
lea ecx, [0x16ac5c3]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004df55
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, edi
movzx edx, cl
lea ecx, [esi + 1]
shl ebx, 4
or edx, ebx
test eax, eax
cmove ecx, esi
je 0x1004df76
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004df30
cmp dword [esp + 0x80], 0
mov ecx, edx
jne 0x1004d7be
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004e45b
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffc
mov dword [esp + 0xe0], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor edi, edi
lea edx, [0x16ac5c2]
lea esi, [0x16ac5c3]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e012
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1004e031
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004dfed
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1004e0ab
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e0bc
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004e0d6
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004e0f0
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
jne 0x1004da5b
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x1004e116
cmp eax, 0x446b
je 0x1004e12b
cmp eax, 0x4481
je 0x1004e12b
cmp eax, 0x4c81
je 0x1004e12b
jmp 0x1004e14b
cmp eax, 0x64c1
je 0x1004e12b
cmp eax, 0x7481
je 0x1004e12b
cmp eax, 0x6cc1
jne 0x1004e14b
cmp byte [esp + 0x9c], 0
mov al, 1
mov dword [esp + 0xb0], eax
jne 0x1004ddf6
mov al, 1
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0xe0]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov esi, ebx
mov ecx, ebx
xor edx, 0xffffffe0
add eax, 0x1f
not esi
adc ecx, 0
xor edi, edi
or esi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, edi
cmove eax, edi
cmove ebx, edi
mov esi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov ecx, esp
lea eax, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb esi, ebx
cmovb ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
lea esi, [0x16ac5c2]
lea ecx, [0x16ac5c3]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004e273
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, edx
movzx ecx, cl
shl ebx, 4
or ecx, ebx
test eax, eax
mov ebx, ecx
lea ecx, [esi + 1]
cmove ecx, esi
je 0x1004e294
shld edi, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x1004e24e
cmp dword [esp + 0x80], 0
mov ecx, ebx
jne 0x1004d7be
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004e45b
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
add esi, 0xfffffffc
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor edi, edi
lea edx, [0x16ac5c2]
lea esi, [0x16ac5c3]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e325
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
mov dword [esp + 0x60], ecx
je 0x1004e34a
shld ebx, edi, 4
mov edi, dword [esp + 0x60]
inc eax
test edx, edx
jne 0x1004e300
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004e3c0
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e3d1
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004e3eb
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004e405
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
jne 0x1004da5b
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x1004e42b
cmp eax, 0x446b
je 0x1004e440
cmp eax, 0x4481
je 0x1004e440
cmp eax, 0x4c81
je 0x1004e440
jmp 0x1004e458
cmp eax, 0x64c1
je 0x1004e440
cmp eax, 0x7481
je 0x1004e440
cmp eax, 0x6cc1
jne 0x1004e458
cmp byte [esp + 0x9c], 0
je 0x1004e458
mov al, 1
mov dword [esp + 0xb0], eax
jmp 0x1004ddf6
mov edi, dword [ebp + 8]
lea ecx, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004e48e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004e49d
inc eax
test ecx, ecx
jne 0x1004e470
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1004e77d
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004e77d
movzx eax, word [eax + 0x126]
not eax
test eax, 0x2022
jne 0x1004e77d
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea edi, [0x16ac5c2]
lea edx, [0x16ac5c3]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004e535
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx esi, dl
lea edx, [edi + 1]
shl ecx, 4
or esi, ecx
test eax, eax
cmove edx, edi
je 0x1004e556
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x1004e510
cmp dword [esp + 0x190], 0
je 0x1004e5c7
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x128
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e72b
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004e734
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 1
jne 0x1004e77d
cmp dword [esp + 8], 0x7dd
jne 0x1004e77d
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0x144]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x144], ecx
mov ecx, esp
push edi
push 0xb
push 0x16ac690
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e6a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1004e6c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1004e680
cmp dword [esp], 0
je 0x1004fd0c
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x13c
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004fe38
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x1004fe44
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1004e77d
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp]
mov edx, 0x16aa09e
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movdqu xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10060a50
add esp, 8
mov ecx, dword [edi]
pxor xmm0, xmm0
lea ebx, [esp + 0x190]
lea edx, [esp + 0x80]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 0xcc]
mov ecx, dword [ebp + 0xc]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push ebx
push 8
push 0x16a97e4
push esi
push eax
call fcn.10069120
add esp, 0x14
mov eax, dword [esp]
test eax, eax
jne 0x1004e882
cmp dword [esp + 8], 1
jne 0x1004e882
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
lea ecx, [esp + 0x40]
push 4
push 0x16a9884
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x82e3ee5a
mov ecx, dword [eax + 0x28]
push dword [esp + 0x44]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004e8aa
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
jmp 0x1004e8a7
test eax, eax
je 0x1004e8aa
mov esi, dword [esp + 0x10]
test esi, esi
je 0x1004e8aa
mov ecx, esi
call fcn.10006530
mov eax, dword [0x16ad000]
push 4
push 8
push esi
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [edi]
test byte [eax + 0x127], 0x20
je 0x1004f277
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004f277
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
je 0x1004f277
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10070200
add esp, 4
xor esi, esi
lea edx, [0x16a3a3d]
lea ebx, [0x16a3a3e]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e935
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004e954
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004e910
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004e9cf
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x41
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1004e9e2
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004e9f8
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov edi, dword [ebp + 8]
jmp 0x1004ea58
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test edx, edx
je 0x1004ea4f
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], edx
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x16aa0a6
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10060a50
add esp, 8
jmp 0x1004f277
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov dword [esp + 0x9c], ebx
mov ebx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
mov ecx, 5
mov dword [esp + 0x20], 0
lea eax, [ebx + ebx*8]
add ebx, edx
lea eax, [eax + eax*2]
add ebx, eax
mov dword [esp + 0x60], ebx
jmp 0x1004eaa9
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
add edx, 0x1c
mov dword [esp + 0x20], eax
dec ecx
je 0x1004f195
cmp edx, ebx
je 0x1004f191
mov dword [esp + 0x70], ecx
mov ecx, dword [edi]
mov eax, dword [edx + 0xc]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
add esi, eax
adc edi, 0
cmp dword [ecx + 0x14c], eax
jbe 0x1004ea90
cmp dword [esp + 0x20], 3
mov eax, 3
je 0x1004ea94
mov eax, dword [ebp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0xb0], edx
mov ecx, esp
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x190]
push eax
push 2
push 0x16a39f8
push edi
push esi
call fcn.10069120
add esp, 0x14
mov eax, dword [esp]
test eax, eax
jne 0x1004ecda
cmp dword [esp + 8], 1
jne 0x1004ecda
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
pxor xmm0, xmm0
lea eax, [esp + 0x190]
mov byte [esp + 0x40], 4
mov dword [esp + 0x44], 0x40
mov dword [esp + 0x48], 0x16a3a28
mov dword [esp + 0x4c], 1
mov ecx, esp
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
push eax
push 1
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.10069120
add esp, 0x14
mov eax, dword [esp]
test eax, eax
jne 0x1004ecf0
cmp dword [esp + 8], 1
jne 0x1004ecf0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x190]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
push 0
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea ebx, [0x16a3a3e]
xor edx, edx
lea esi, [0x16a3a3d]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ec45
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x1004ec64
shld edx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004ec20
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004ed13
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x120], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004ed1d
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1004ed33
test eax, eax
je 0x1004ece7
lea ecx, [esp + 0xc]
call fcn.10006530
mov edx, dword [esp + 0xb0]
jmp 0x1004ed08
test eax, eax
je 0x1004ecfd
lea ecx, [esp + 0xc]
call fcn.10006530
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
xor eax, eax
add eax, dword [esp + 0x20]
jmp 0x1004ea94
movzx ecx, byte [esp + 0x194]
jmp 0x1004ed45
movdqa xmm0, xmmword [esp + 0x120]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, dword [esp]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x1005cd70
mov edi, dword [esp + 0xa0]
movzx eax, cl
mov esi, dword [esp + 0xe0]
lea ecx, [esp + 0x190]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [edi]
add eax, 0xfffffffe
adc esi, 0xffffffff
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ab40
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x16a3a3e]
xor edx, edx
lea ebx, [0x16a3a3d]
nop word [eax + eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004edc5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [ebx + 1]
test eax, eax
cmove esi, ebx
je 0x1004ede4
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004eda0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004ee6b
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0xcc], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x60]
je 0x1004ee80
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0x130], 0
jmp 0x1004ee9d
movzx ecx, byte [esp + 0x194]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
jmp 0x1004eebc
movdqa xmm0, xmmword [esp + 0x130]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0x130], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov eax, dword [esp]
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xb0]
test eax, eax
jne 0x1005cf1e
mov ecx, esi
mov eax, ecx
and al, 0xc7
cmp al, 0x44
jne 0x1004eff8
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 0
push dword [esp + 0xe4]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004f0bc
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x19c]
movq xmm0, qword [esp + 0x194]
xor edi, edi
mov ecx, 0xfffffff9
lea esi, [0x16a3a3e]
lea ebx, [0x16a3a3d]
mov dword [esp + 0xd0], eax
xor eax, eax
nop dword [eax + eax]
movzx edx, byte [ebx]
mov ebx, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004ef65
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov esi, edi
movzx edx, dh
shl esi, 4
or edx, esi
lea esi, [ebx + 1]
test ecx, ecx
cmove esi, ebx
je 0x1004ef84
shld eax, edi, 4
inc ecx
test ebx, ebx
mov edi, edx
jne 0x1004ef40
mov eax, dword [esp + 0xe0]
mov edi, dword [esp + 0xd0]
mov esi, edx
mov dword [esp + 0x190], eax
mov eax, dword [0x16ad000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004f11c
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0x130], 0
jmp 0x1004f139
not cl
test cl, 0x84
jne 0x1004ed08
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 0
push dword [esp + 0xe4]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039b70
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x16a3a3e]
xor edx, edx
lea ebx, [0x16a3a3d]
nop word cs:[eax + eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f075
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [ebx + 1]
test eax, eax
cmove esi, ebx
je 0x1004f094
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004f050
mov eax, dword [esp + 0x190]
mov esi, dword [esp + 0x194]
test eax, eax
jne 0x1005d745
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
mov ecx, esi
jmp 0x1004f160
movzx eax, byte [esp + 0x194]
lea edx, [0x16a3a3e]
lea ecx, [0x16a3a3d]
mov esi, eax
mov eax, 0xfffffff9
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f0fe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
mov ebx, dword [esp + 0x60]
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004f111
inc eax
test ecx, ecx
jne 0x1004f0e0
mov edx, dword [esp + 0xb0]
mov ecx, esi
jmp 0x1004f15d
movdqa xmm0, xmmword [esp + 0xe0]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [esp + 0x130], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x190]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x1005d5eb
movsx ecx, cl
mov eax, dword [esp + 0x120]
cmp ecx, 0x100
mov esi, ecx
setb ch
mov cl, al
add cl, 0xd0
cmp cl, 0x51
setb cl
add eax, 0x30
and cl, ch
cmp esi, eax
setae al
and al, cl
movzx eax, al
jmp 0x1004ed0a
mov eax, dword [esp + 0x20]
lea edx, [0x16a3a3d]
lea esi, [0x16a3a3e]
mov ecx, 0xfffffff9
nop word cs:[eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004f1ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1004f1dd
inc ecx
test edx, edx
jne 0x1004f1b0
mov ecx, dword [esp + 0x9c]
dec dword [ecx]
cmp eax, 3
jne 0x1004f277
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a3a45
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x9fff997c
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004f277
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
lea ebx, [esp + 0x190]
lea edx, [esp + 0x148]
mov ecx, ebx
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
cmp dword [esp + 0x190], 0
je 0x1004f3c8
movdqu xmm0, xmmword [esp + 0x194]
movd eax, xmm0
test eax, eax
je 0x1004f2d1
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa0ac
mov ecx, dword [eax + 0x28]
push ebx
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f335
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004f356
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004f310
cmp dword [esp + 0x190], 0
je 0x1004f511
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x60
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f671
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004f67a
cmp dword [esp + 0x198], 0
jne 0x1004f2d1
cmp dword [esp + 0x19c], 0x7e3
jne 0x1004f2d1
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push ebx
push 7
push 0x16a3a94
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea esi, [0x16a3a3d]
lea edx, [0x16a3a3e]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f485
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x1004f4a6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004f460
cmp dword [esp], 0
je 0x1004f912
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x76
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004fa56
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004fa62
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004f6c1
cmp dword [esp + 8], 0x7e3
jne 0x1004f6c1
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x16a71a8
push esi
push eax
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f5e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004f606
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004f5c0
cmp dword [esp], 0
je 0x1004f9b4
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x67
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004faa0
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004faac
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1004f6c1
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa0b4
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 5
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
cmp ecx, 7
mov dword [esp + 0x190], ecx
jae 0x1004f726
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f70e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10050487
inc eax
test ecx, ecx
jne 0x1004f6f0
jmp 0x10050487
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x16ac5ef
call fcn.10039250
add esp, 8
cmp ax, 1
jne 0x1004f6d5
mov esi, edx
cmp dx, 3
jb 0x1004f6d5
mov eax, dword [esp + 0x3c]
mov edx, 0x16a8d24
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
mov dword [esp + 0x20], ecx
push eax
push 0x16
call fcn.10061030
add esp, 8
movzx ecx, si
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004f7ae
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1004f7bd
inc eax
test edx, edx
jne 0x1004f790
mov eax, dword [edi]
add ecx, 0xfffffffe
mov edx, dword [eax + 0x12c]
cmp ecx, edx
jae 0x1005eef3
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffffc00
add esi, dword [edx + ecx*8 + 8]
cmp esi, 0xbff
ja 0x10050487
mov ecx, dword [edx + ecx*8 + 0xc]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
add esi, ecx
adc ebx, 0
cmp dword [eax + 0x14c], ecx
jbe 0x10050487
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov dword [esp + 0x60], ebx
mov edx, dword [eax]
push ebx
mov dword [esp + 0x74], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a7c0
add esp, 0x10
xor edi, edi
lea ebx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f875
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [ebx + 1]
cmove edx, ebx
je 0x1004f896
shld esi, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004f850
cmp dword [esp + 0x190], 0
je 0x1004fae3
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor ecx, 0x9f
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x1004fbf6
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004fbff
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004f2d1
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a3b20
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x1e0c01b6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004f2d1
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004f2d1
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004f6c1
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7279
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xfdf0f7ce
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c6f
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004f6c1
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004f6c1
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
lea ebx, [esp + 0x190]
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
movd eax, xmm0
test eax, eax
jne 0x1004f2b2
jmp 0x1004f2d1
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004f69b
jmp 0x1004f6c1
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x60]
or ecx, dword [esp + 0x1a4]
or eax, dword [esp + 0x1a0]
or eax, ecx
mov eax, dword [esp + 0x70]
jne 0x10050487
mov edi, dword [ebp + 0xc]
add eax, 0x10
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a7c0
add esp, 0x10
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004fb6e
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004fb8d
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004fb49
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
je 0x1004fe71
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor ecx, 0xa5
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
jne 0x1004f8ff
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov esi, eax
shr eax, 8
movq qword [esp], xmm0
movd edx, xmm0
shld esi, ebx, 0x18
mov ecx, dword [esp + 4]
shld ebx, ecx, 0x18
test edx, edx
je 0x1004fc75
mov dword [esp + 0x190], edx
mov byte [esp + 0x194], cl
mov ecx, dword [esp + 0x20]
mov word [esp + 0x19d], ax
shr eax, 0x10
mov dword [esp + 0x195], ebx
mov dword [esp + 0x199], esi
mov edx, 0x16aa0b9
mov byte [esp + 0x19f], al
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
jmp 0x10050487
test cl, 1
je 0x10050487
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7290
call fcn.1001eda0
add esp, 8
mov esi, dword [esp]
mov ecx, dword [esp + 0x20]
mov edx, 0xbd51f66
push dword [esp + 4]
push esi
push 0xffff1c70
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10050487
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10050487
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1004fe63
mov ecx, dword [esp + 0x144]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0x114]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x114], ecx
mov ecx, esp
push edi
push 1
push 0x16ac638
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ecx, ecx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004fdb4
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1004fdd3
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004fd8f
cmp dword [esp], 0
je 0x10058c0d
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor ebx, 0xf7
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005e717
lea ecx, [esp + 0x40]
call fcn.10006530
xor edx, edx
jmp 0x1005e723
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd eax, xmm0
jmp 0x1004e74d
xor eax, eax
mov dword [esp], 0
jmp 0x1004e74a
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1a4]
mov esi, dword [esp + 0x60]
add ecx, 0xffffffff
adc edx, 0xffffffff
adc eax, 0xffffffff
cmp ecx, 0xffffffff
sbb edx, 0
sbb eax, 0
mov eax, dword [esp + 0x70]
jae 0x10050487
mov edi, dword [ebp + 0xc]
add eax, 0x50
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a7c0
add esp, 0x10
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ff02
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004ff21
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004fedd
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050487
mov ebx, dword [ebp + 0xc]
add eax, 0x90
lea ecx, [esp + 0x190]
mov dword [esp + 0xb0], 0
adc esi, 0
mov edx, dword [ebx]
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1003a7c0
add esp, 0x10
lea ecx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004ffdc
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x10050000
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1004ffb7
cmp dword [esp + 0x190], 0
mov ecx, ebx
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050487
mov edi, dword [ebp + 0xc]
add eax, 0xd0
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a7c0
add esp, 0x10
lea ecx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
xor edi, edi
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100500b1
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x100500d0
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005008c
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050487
mov edi, dword [ebp + 0xc]
add eax, 0x110
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a7c0
add esp, 0x10
lea ecx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
xor edi, edi
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050184
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x100501a3
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005015f
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
mov dword [esp + 0xb0], 0
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050487
mov edi, dword [ebp + 0xc]
add eax, 0x150
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a7c0
add esp, 0x10
lea ecx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050260
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x10050284
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005023b
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
mov dword [esp + 0xb0], 0
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050487
mov edi, dword [ebp + 0xc]
add eax, 0x190
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a7c0
add esp, 0x10
lea ecx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050341
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x10050365
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005031c
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xb0], 0
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov esi, dword [esp + 0x70]
mov eax, 0
sbb eax, ecx
mov eax, 0
sbb eax, edx
jb 0x10050487
mov eax, dword [ebp + 0xc]
add esi, 0x1d0
lea ecx, [esp + 0x190]
adc ebx, 0
mov edx, dword [eax]
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a7c0
add esp, 0x10
lea ecx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050423
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x10050447
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x100503fe
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1004fb9e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, 0xffffffff
add eax, edx
adc ecx, edx
adc edx, dword [esp + 0x1a4]
cmp eax, 0xffffffff
sbb ecx, 0
sbb edx, 0
jb 0x1004fc7e
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1005079a
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10070200
add esp, 4
xor edi, edi
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100504e5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x10050506
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x100504c0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10050584
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0xd4
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x100505a4
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x100505ba
mov esi, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov edi, dword [ebp + 8]
cmp dword [esi + 0x34], 5
je 0x10050626
jmp 0x10050798
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, ebx
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x10050613
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
mov edx, 0x16aa0c0
movsd qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
jmp 0x1005079a
pshufd xmm0, xmm0, 0x55
movd esi, xmm0
cmp dword [esi + 0x34], 5
jne 0x10050798
mov ecx, 0x16a7294
mov edx, 6
call 0x100733d0
mov esi, dword [esi + 0x30]
cmp dword [esi], 0
je 0x10050642
cmp dword [esi + 4], eax
je 0x10050676
cmp dword [esi + 0x1c], 0
je 0x1005064d
cmp dword [esi + 0x20], eax
je 0x10050676
cmp dword [esi + 0x38], 0
je 0x10050658
cmp dword [esi + 0x3c], eax
je 0x10050676
cmp dword [esi + 0x54], 0
je 0x10050663
cmp dword [esi + 0x58], eax
je 0x10050676
cmp dword [esi + 0x70], 0
je 0x10050798
cmp dword [esi + 0x74], eax
jne 0x10050798
mov ecx, 0x16a729a
mov edx, 9
call 0x100733d0
cmp dword [esi], 0
je 0x1005068f
cmp dword [esi + 4], eax
je 0x100506c3
cmp dword [esi + 0x1c], 0
je 0x1005069a
cmp dword [esi + 0x20], eax
je 0x100506c3
cmp dword [esi + 0x38], 0
je 0x100506a5
cmp dword [esi + 0x3c], eax
je 0x100506c3
cmp dword [esi + 0x54], 0
je 0x100506b0
cmp dword [esi + 0x58], eax
je 0x100506c3
cmp dword [esi + 0x70], 0
je 0x10050798
cmp dword [esi + 0x74], eax
jne 0x10050798
mov ecx, 0x16a72a3
mov edx, 0x14
call 0x100733d0
cmp dword [esi], 0
je 0x100506dc
cmp dword [esi + 4], eax
je 0x10050710
cmp dword [esi + 0x1c], 0
je 0x100506e7
cmp dword [esi + 0x20], eax
je 0x10050710
cmp dword [esi + 0x38], 0
je 0x100506f2
cmp dword [esi + 0x3c], eax
je 0x10050710
cmp dword [esi + 0x54], 0
je 0x100506fd
cmp dword [esi + 0x58], eax
je 0x10050710
cmp dword [esi + 0x70], 0
je 0x10050798
cmp dword [esi + 0x74], eax
jne 0x10050798
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a72b7
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10050798
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
dec dword [ebx]
push 0x200
push 0
lea eax, [esp + 0x198]
push eax
call 0x100736f0
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x148]
push edi
call fcn.10005d80
add esp, 4
xor ecx, ecx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050805
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10050824
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100507e0
mov eax, dword [esp]
test eax, eax
je 0x10050891
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1005089e
lea ecx, [esp + 0xa0]
call fcn.10006530
xor esi, esi
jmp 0x100508b6
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edi, dword [ebp + 8]
jmp 0x100508ce
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov esi, ecx
movq xmm0, qword [esp + 0x40]
xor ebx, 0xf8
movd eax, xmm0
test eax, eax
jne 0x10050fed
cmp ebx, 0x8000
mov eax, esi
xorps xmm0, xmm0
sbb eax, 0
jae 0x100508ef
movd eax, xmm0
test eax, eax
jne 0x10050ff5
jmp 0x1005102a
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005eada
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor edi, edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x20], 0
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov ecx, esi
sub ebx, edx
sbb ecx, 0
cmovb ecx, edi
cmovb ebx, edi
mov edi, dword [ebp + 8]
cmp ebx, 0x8000
sbb ecx, 0
jb 0x10050fed
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x60], esi
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0xb4], eax
push dword [eax + 8]
call fcn.10038830
add esp, 8
lea esi, [0x16a7271]
lea ecx, [0x16a7272]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x100509a5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov edx, edi
movzx ebx, cl
lea ecx, [esi + 1]
shl edx, 4
or ebx, edx
test eax, eax
cmove ecx, esi
je 0x100509c6
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, ebx
jne 0x10050980
cmp dword [esp], 0
je 0x10050a2d
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor ebx, 0x104
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050ac7
lea ecx, [esp + 0x80]
call fcn.10006530
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x10050fe7
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x100605a9
mov eax, dword [esp + 8]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov ecx, esp
mov dword [esp + 0x130], edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
adc esi, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x198]
push edi
push esi
push eax
push dword [esp + 0xc4]
push dword [esp + 0x38]
call fcn.10039360
add esp, 0x1c
mov eax, dword [esp]
mov dword [esp + 0xe0], ebx
test eax, eax
je 0x10050ada
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], ecx
jmp 0x10050b81
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
mov esi, eax
jmp 0x10050fe7
cmp dword [esp + 4], 0x10
jne 0x10050afc
mov dword [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
jmp 0x10050b81
xor ecx, ecx
lea edx, [0x16ab8c5]
lea esi, [0x16ab8c6]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050b36
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10050b55
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10050b11
movdqa xmm0, xmmword [0x16a35c0]
xor ebx, 0x91
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea edi, [0x16a7271]
lea esi, [0x16a7272]
mov ecx, 0xfffffff9
xor eax, eax
nop word cs:[eax + eax]
movzx ebx, byte [edi]
mov edi, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050bc5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edi + 1]
test ecx, ecx
cmove esi, edi
je 0x10050be4
shld eax, edx, 4
inc ecx
test edi, edi
mov edx, ebx
jne 0x10050ba0
mov eax, dword [esp + 0xd0]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x60]
test eax, eax
je 0x10050c8e
mov esi, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050c58
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x10050c6e
movdqa xmm0, xmmword [esp + 0xd0]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm1, qword [esp]
mov esi, dword [esp + 0x60]
movd eax, xmm1
test eax, eax
je 0x10050c8e
xor ebx, 0x10c
mov dword [esp + 0x60], ecx
jmp 0x10050f89
xor eax, eax
cmp dword [esp + 0x190], 0x6578652e
je 0x10050d94
cmp dword [esp + 0x191], 0x6578652e
mov eax, 1
je 0x10050d94
cmp dword [esp + 0x192], 0x6578652e
mov eax, 2
je 0x10050d94
cmp dword [esp + 0x193], 0x6578652e
mov eax, 3
je 0x10050d94
cmp dword [esp + 0x194], 0x6578652e
mov eax, 4
je 0x10050d94
cmp dword [esp + 0x195], 0x6578652e
mov eax, 5
je 0x10050d94
cmp dword [esp + 0x196], 0x6578652e
mov eax, 6
je 0x10050d94
cmp dword [esp + 0x197], 0x6578652e
mov eax, 7
je 0x10050d94
cmp dword [esp + 0x198], 0x6578652e
mov eax, 8
je 0x10050d94
cmp dword [esp + 0x199], 0x6578652e
mov eax, 9
je 0x10050d94
cmp dword [esp + 0x19a], 0x6578652e
mov eax, 0xa
je 0x10050d94
cmp dword [esp + 0x19b], 0x6578652e
mov eax, 0xb
je 0x10050d94
cmp dword [esp + 0x19c], 0x6578652e
mov eax, 0xc
je 0x10050d94
xor eax, eax
jmp 0x10050f89
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x130]
mov ecx, esp
add edi, eax
adc esi, 0
add edi, 0xfffffdf0
adc esi, 0xffffffff
push 0
push 0x200
lea eax, [esp + 0x198]
push eax
push esi
push edi
push dword [esp + 0xc4]
push dword [esp + 0x38]
call fcn.10039360
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x10050df1
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], ecx
jmp 0x10050e8c
cmp dword [esp + 4], 0x200
jne 0x10050e0d
mov dword [esp + 0x20], 0
mov dword [esp + 0x70], 0
jmp 0x10050e8c
xor ecx, ecx
lea edx, [0x16ab8c5]
lea edi, [0x16ab8c6]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050e47
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10050e66
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10050e22
movdqa xmm0, xmmword [0x16a35c0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea eax, [0x16a7271]
lea esi, [0x16a7272]
mov ecx, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [eax]
mov eax, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050ed5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [eax + 1]
test ecx, ecx
cmove esi, eax
je 0x10050ef4
shld edi, edx, 4
inc ecx
test eax, eax
mov edx, ebx
jne 0x10050eb0
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
test eax, eax
je 0x10051bff
mov esi, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050f5b
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x10050f6e
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm1, qword [esp]
movd eax, xmm1
test eax, eax
je 0x10051bff
mov dword [esp + 0x60], ecx
xor ebx, 0x11c
mov esi, dword [esp + 0xe0]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x9c]
movd xmm0, eax
movss xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
push esi
call fcn.1003d590
add esp, 4
dec dword [esi]
jne 0x10050fe3
inc dword [esi + 4]
lea ecx, [esi + 8]
call fcn.1002ea70
mov eax, dword [esi + 4]
dec eax
mov dword [esi + 4], eax
or eax, dword [esi]
jne 0x10050fe3
mov eax, dword [0x16ad000]
push 8
push 0x30
push esi
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
mov esi, dword [esp + 0x60]
movdqa xmm0, xmmword [esp + 0x20]
movd eax, xmm0
test eax, eax
je 0x1005102a
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x190], xmm0
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], esi
mov edx, 0x16aa0c7
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10051260
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0x80]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push edi
push 3
push 0x16a72f0
push esi
push eax
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100510e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10051106
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100510c0
cmp dword [esp], 0
je 0x10051161
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100511fc
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10051208
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10051260
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a732c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xebe78076
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c74
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10051260
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10051260
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10051260
xor esi, 0x141
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x16aa0ce
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100512c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x100512e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100512a0
cmp dword [esp + 0x190], 0
je 0x10051357
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x16a
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100514c4
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100514cd
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x10051514
cmp dword [esp + 8], 0x1ec
jne 0x10051514
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x16a73c8
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051435
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10051456
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10051410
cmp dword [esp], 0
je 0x100519c5
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x171
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10051b7c
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10051b88
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10051514
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa0d5
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
xorps xmm0, xmm0
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
movaps xmmword [esp + 0x40], xmm0
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051585
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x100515a6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10051560
cmp dword [esp + 0x190], 0
je 0x1005161d
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x196
mov dword [esp + 0xa0], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10051794
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x100517a0
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
pxor xmm1, xmm1
cmp dword [esp + 4], 0
jne 0x10051b74
cmp dword [esp + 8], 0x13418bf
mov edi, dword [ebp + 8]
jne 0x100517bb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0xf8]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xf8], ecx
mov ecx, esp
push edi
push 9
push 0x16a749c
push esi
push eax
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051705
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10051726
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100516e0
cmp dword [esp], 0
je 0x10051a67
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x19e
mov dword [esp + 0xa0], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10051bbf
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10051bcb
mov eax, dword [esp + 0x84]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm1, xmmword [esp]
movd eax, xmm1
test eax, eax
je 0x100517ea
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x190], xmm1
mov edx, 0x16aa0dc
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x10051fcc
mov edx, dword [eax + 0x128]
lea esi, [ecx + ecx*4]
mov ecx, dword [edx + esi*8 - 0x20]
lea edi, [ecx - 0x20000]
cmp edi, 0x1dffff
mov edi, dword [ebp + 8]
ja 0x10051fcc
lea edx, [edx + esi*8]
mov esi, 0x636f6c
movq xmm0, qword [edx - 0x28]
mov edx, 0x6c65722e
movq qword [esp + 0x80], xmm0
xor edx, dword [esp + 0x80]
xor esi, dword [esp + 0x83]
or esi, edx
je 0x10051875
mov edx, 0x7273722e
movzx esi, word [esp + 0x84]
xor edx, dword [esp + 0x80]
xor esi, 0x63
or esi, edx
jne 0x10051fcc
lea edx, [eax + 0x28]
cmp dword [edx], 0
jne 0x10051881
jmp 0x10051fcc
lea edx, [eax + 0x40]
cmp dword [edx], 0
je 0x10051fcc
cmp dword [edx + 4], ecx
jae 0x10051fcc
mov esi, dword [eax + 0xcc]
cmp dword [eax + 0x14c], esi
jbe 0x10051fcc
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], eax
adc edi, 0
lea eax, [esp + 0x190]
push eax
push 2
push 0x16a7594
push edi
push esi
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051945
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10051966
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10051920
cmp dword [esp], 0
je 0x10051c46
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10051f68
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10051f74
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10051514
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7490
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x36c5fd6c
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c75
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10051514
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10051514
mov eax, dword [esp + 8]
pxor xmm1, xmm1
or eax, dword [esp + 0xc]
je 0x10051b74
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 8]
call fcn.10005d80
add esp, 4
xor esi, esi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051ad5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10051af4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10051ab0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10051c2c
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10051dbf
lea ecx, [esp + 0xa0]
call fcn.10006530
xor ebx, ebx
jmp 0x10051dd5
mov edi, dword [ebp + 8]
jmp 0x100517bb
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x100514ee
jmp 0x10051514
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movlps qword [esp + 0x80], xmm2
mov dword [esp + 0x88], esi
movsd xmm1, qword [esp + 0x84]
mov edi, dword [ebp + 8]
movd xmm0, eax
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
jmp 0x100517bb
mov ebx, dword [esp + 0xe0]
mov eax, 0xfffffe00
test eax, eax
je 0x10051ce8
movzx ecx, byte [esp + eax + 0x390]
inc eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x10051c0b
jmp 0x10051d64
mov esi, dword [esp + 0x198]
mov ebx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm1, xmm1
jmp 0x10051e08
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10051fcc
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a75bc
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10051fcc
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10051fcc
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x16a72bb
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x7c82936c
mov ecx, dword [eax + 0x28]
push dword [esp + 0x44]
push esi
push 0xffff1c73
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10051d64
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x9c]
push ebx
call fcn.1003d590
add esp, 4
dec dword [ebx]
jne 0x10051daa
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002ea70
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x10051daa
mov eax, dword [0x16ad000]
push 8
push 0x30
push ebx
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
pxor xmm0, xmm0
movd eax, xmm0
test eax, eax
jne 0x10050ff5
jmp 0x1005102a
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
xor esi, 0x1a4
pxor xmm1, xmm1
movd eax, xmm0
test eax, eax
je 0x10051e08
movd xmm1, esi
movd xmm2, ebx
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm0
jmp 0x100517bb
cmp esi, 0x8000
mov eax, ebx
sbb eax, 0
jb 0x100517bb
mov eax, dword [edi]
mov dword [esp + 0x70], esi
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005eada
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor esi, esi
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, ebx
sub eax, edx
sbb ecx, 0
cmovb eax, esi
cmovb ecx, esi
cmp eax, 0x8000
sbb ecx, 0
jb 0x100517bb
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x190]
mov dword [esp + 0x20], 0
mov dword [esp + 0xb0], ebx
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10038830
add esp, 8
lea esi, [0x16a7271]
lea ecx, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x10051ecc
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10060908
add bl, 0xa9
mov ecx, ebx
mov ebx, edx
movzx edi, cl
lea ecx, [esi + 1]
shl ebx, 4
or edi, ebx
test eax, eax
cmove ecx, esi
je 0x10051eed
shld dword [esp + 0x20], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x10051ea7
cmp dword [esp + 0x190], 0
je 0x10058b41
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x1ae
mov dword [esp + 0xa0], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005cb61
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1005cb6d
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10051fcc
xor esi, 0x1ec
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x16aa0e3
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x16a75c0
call fcn.10039250
add esp, 8
cmp ax, 1
jne 0x10052533
mov eax, dword [edi]
mov ecx, edx
movzx ecx, cx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x1005e391
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov ebx, dword [eax + 8]
mov esi, dword [edx + ecx*8 + 0xc]
add ebx, esi
mov dword [esp + 0xd0], ebx
mov ebx, dword [eax + 0xc]
adc ebx, 0
cmp dword [eax + 0x14c], esi
mov al, 1
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xcc], eax
jbe 0x10052458
mov eax, dword [edx + ecx*8 + 0x10]
cmp eax, 0x1000
mov dword [esp + 0x180], eax
jb 0x10052458
pxor xmm0, xmm0
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x9c], 0
movdqa xmmword [esp], xmm0
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, dword [esp + 0x180]
mov eax, esi
sbb eax, 0
jae 0x10052458
mov eax, ecx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x70], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x190]
add eax, dword [esp + 0xd0]
mov edx, dword [edi]
adc esi, dword [esp + 0xe0]
push 1
push 0x10
lea ebx, [esp + 8]
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10039360
add esp, 0x1c
mov ecx, dword [esp + 0x190]
test ecx, ecx
je 0x10052103
movq xmm0, qword [esp + 0x194]
mov eax, dword [esp + 0x19c]
movdqa xmmword [esp + 0x130], xmm0
mov dword [esp + 0x70], eax
jmp 0x100521a0
xor ecx, ecx
cmp dword [esp + 0x194], 0x10
je 0x100521a0
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x16ab8c6]
xor edx, edx
lea esi, [0x16ab8c5]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10052155
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x10052174
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10052130
movdqa xmm1, xmmword [0x16a35c0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov ecx, 0xc76970a8
movd xmm0, ebx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x130], xmm1
inc dword [esp + 0x9c]
mov dword [esp + 0x120], ecx
xor edi, edi
mov ecx, 0xfffffff9
lea eax, [0x16a7272]
lea ebx, [0x16a7271]
mov dword [esp + 0x20], 0
nop dword [eax]
movzx edx, byte [ebx]
mov ebx, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x100521f1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x10060908
add dl, 0xa9
mov eax, edx
mov edx, edi
movzx esi, al
lea eax, [ebx + 1]
shl edx, 4
or esi, edx
test ecx, ecx
cmove eax, ebx
je 0x10052212
shld dword [esp + 0x20], edi, 4
inc ecx
test ebx, ebx
mov edi, esi
jne 0x100521d0
mov eax, dword [esp + 0x120]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x70]
test eax, eax
je 0x100522bd
movdqa xmm0, xmmword [esp + 0x130]
mov dword [esp + 0x190], eax
mov eax, dword [0x16ad000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
mov edi, edx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10052292
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x100522a5
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
movq xmm0, qword [esp + 0x190]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10057406
movdqa xmm1, xmmword [esp]
movd xmm0, dword [esp + 4]
pxor xmm4, xmm4
movd xmm3, dword [esp + 8]
movd xmm2, dword [esp + 0xc]
movdqa xmm5, xmmword [0x16a35e0]
pcmpeqb xmm1, xmm4
pcmpeqb xmm3, xmm4
pcmpeqb xmm2, xmm4
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pcmpeqb xmm0, xmm4
punpcklbw xmm0, xmm0
pand xmm1, xmm5
punpcklwd xmm0, xmm0
pand xmm0, xmm5
punpcklbw xmm3, xmm3
punpcklbw xmm2, xmm2
punpcklwd xmm3, xmm3
punpcklwd xmm2, xmm2
pand xmm3, xmm5
pand xmm2, xmm5
paddd xmm3, xmm1
paddd xmm2, xmm0
paddd xmm2, xmm3
pshufd xmm0, xmm2, 0xee
paddd xmm0, xmm2
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd eax, xmm1
cmp eax, 2
mov eax, dword [esp + 0xb0]
ja 0x10052458
add eax, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
mov esi, ebx
lea ecx, [esp + 0x190]
adc esi, dword [esp + 0xe0]
mov edx, dword [edi]
add eax, 0x10
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10039b70
add esp, 0x14
xor esi, esi
mov eax, 0xfffffff9
lea ebx, [0x16a7272]
xor edx, edx
lea edi, [0x16a7271]
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100523c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edi + 1]
test eax, eax
cmove ebx, edi
je 0x100523e4
shld edx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x100523a0
mov eax, dword [esp + 0x190]
mov esi, ecx
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x10056f0e
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x60]
lea eax, [ecx - 2]
cmp eax, 0xfd
jae 0x10052455
add edx, ecx
adc esi, 0
add edx, 0x14
mov eax, edx
adc esi, 0
xor ecx, ecx
and eax, 0xfffffff0
test dl, 0xf
setne cl
shl ecx, 4
add ecx, eax
adc esi, 0
jb 0x10052455
cmp dword [esp + 0x9c], 8
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
jne 0x10052080
mov dword [esp + 0xcc], 0
jmp 0x10052458
mov edi, dword [ebp + 8]
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005248e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005249d
inc eax
test ecx, ecx
jne 0x10052470
cmp byte [esp + 0xcc], 0
jne 0x10052533
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a75c5
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xc39eb295
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c71
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10052533
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10070200
add esp, 4
xor ebx, ebx
lea edi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052595
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx esi, dl
lea edx, [edi + 1]
shl ecx, 4
or esi, ecx
test eax, eax
cmove edx, edi
je 0x100525b6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10052570
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005262f
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor esi, 0x248
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005264f
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10052665
mov eax, dword [esp + 0x194]
mov esi, dword [esp + 0x198]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x34]
dec dword [esi]
cmp eax, 1
je 0x1005269a
jmp 0x10052a4d
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], esi
test ecx, ecx
jne 0x10052a12
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov eax, dword [eax + 0x34]
dec dword [esi]
cmp eax, 1
jne 0x10052a4d
lea ecx, [esp + 0x190]
mov edx, edi
push dword [ebp + 0xc]
call fcn.10070200
add esp, 4
xor ecx, ecx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100526f5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10052714
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100526d0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10052797
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ebx, 0x24c
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x100528f9
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1005290f
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov edi, dword [ebp + 8]
cmp dword [eax + 0x34], 0
je 0x1005293d
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
mov eax, dword [eax + 0xc]
cmp dword [ecx + 0x14c], eax
jbe 0x100528f2
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
adc esi, 0
dec dword [ebx]
mov dword [esp + 0xa0], ecx
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
push edi
push 3
push 0x16a7720
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ecx, ecx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
nop word [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10052865
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10052884
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10052840
cmp dword [esp], 0
je 0x10052950
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor ebx, 0x271
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100529eb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100529f7
dec dword [ebx]
jmp 0x10052a4d
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
jne 0x10052a12
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp dword [eax + 0x34], 0
jne 0x100527b2
xor ecx, ecx
xor edx, edx
push 0x16a75cc
call fcn.10007630
add esp, 4
ud2
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10052a4d
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a775c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x46ad7733
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c77
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10052a4d
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10052a4d
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x10052a4d
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
mov edx, 0x16aa0f1
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10052c80
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0x80]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push edi
push 4
push 0x16a77dc
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10052b05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10052b26
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10052ae0
cmp dword [esp], 0
je 0x10052b81
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10052c1c
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10052c28
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10052c80
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a782c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe2773f3
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c78
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10052c80
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10052c80
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10052c80
xor esi, 0x2a1
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x16aa0f9
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052ce5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10052d06
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10052cc0
cmp dword [esp + 0x190], 0
je 0x10052d77
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x2b5
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10052ee4
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10052eed
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10052f34
cmp dword [esp + 8], 0x1337c68
jne 0x10052f34
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x16a7880
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10052e55
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10052e76
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10052e30
cmp dword [esp], 0
je 0x10053dc1
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x2c9
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10053f05
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10053f11
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10052f34
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa101
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x16a75c0
call fcn.10039250
add esp, 8
cmp ax, 1
jne 0x1005300d
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0x14c]
mov edi, dword [eax + 0xc]
mov ecx, esi
add ecx, ebx
mov dword [esp + 0xcc], ecx
mov ecx, edi
adc ecx, 0
mov dword [esp + 0x130], ecx
movzx ecx, dx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x1005e3a0
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x120], esi
mov dword [esp + 0x9c], edi
mov edx, dword [eax + ecx*8 + 0xc]
add esi, edx
adc edi, 0
cmp ebx, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x70], edi
jbe 0x10052fcb
cmp dword [eax + ecx*8 + 0x10], 0x1000
jae 0x10053534
mov edi, dword [ebp + 8]
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052ffe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005300d
inc eax
test ecx, ecx
jne 0x10052fe0
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053075
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10053096
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10053050
cmp dword [esp + 0x190], 0
je 0x10053107
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x333
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10053274
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005327d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100532c4
cmp dword [esp + 8], 0x7e3
jne 0x100532c4
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 6
push 0x16a79c0
push esi
push eax
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100531e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10053206
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100531c0
cmp dword [esp], 0
je 0x10053e63
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x34b
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10053f48
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10053f54
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x100532c4
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa111
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
cmp dword [esp + 0x178], 0x63
ja 0x100539be
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10053335
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10053356
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10053310
cmp dword [esp + 0x190], 0
je 0x100533c7
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x363
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005396e
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10053977
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100539be
cmp dword [esp + 8], 0x7e3
jne 0x100539be
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 8
push 0x16a7aa0
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100534a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x100534c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10053480
cmp dword [esp], 0
je 0x1005404c
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x37d
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056e55
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056e61
xor eax, eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x180], ebx
inc ecx
mov dword [esp + 0x60], eax
mov edi, dword [ebp + 0xc]
add eax, dword [esp + 0x20]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0x190]
adc esi, dword [esp + 0x70]
mov edx, dword [edi]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10039b70
add esp, 0x14
mov eax, 0xfffffff9
lea edi, [0x16a7272]
xor edx, edx
xor ecx, ecx
lea esi, [0x16a7271]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100535b5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x100535d4
shld ecx, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x10053590
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
test eax, eax
mov dword [esp + 0xd0], ecx
jne 0x10056f7b
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x10056fd7
mov eax, dword [esp + 0x60]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0xb0]
lea ecx, [esp + 0x190]
or eax, 4
mov edx, dword [edi]
add eax, dword [esp + 0x20]
adc esi, dword [esp + 0x70]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10039b70
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x16a7272]
xor edx, edx
lea esi, [0x16a7271]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10053675
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x10053694
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10053650
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x10057026
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x10057089
xor ecx, dword [esp + 0xd0]
mov edi, dword [ebp + 8]
cmp ecx, 0x68
jb 0x100540ee
cmp dword [esp + 0x180], ecx
jbe 0x100540ee
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x190]
add eax, dword [esp + 0x20]
mov edx, dword [edi]
adc esi, dword [esp + 0x70]
add eax, 0x60
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x16a7272]
xor edx, edx
lea esi, [0x16a7271]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10053755
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x10053774
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10053730
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100537e7
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x11a0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x10053801
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x10053817
mov ebx, dword [esp + 0x198]
mov edx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x9c]
jmp 0x10053835
movdqa xmm0, xmmword [esp + 0x11a0]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp]
mov ecx, dword [esp + 0x9c]
xor ebx, 0x30b
movd eax, xmm0
test eax, eax
jne 0x1005769f
add ebx, dword [esp + 0xd0]
mov eax, 0xffffffff
adc edx, 0
cmovb ebx, eax
cmovb edx, eax
cmp ebx, dword [esp + 0x120]
mov eax, edx
sbb eax, ecx
jb 0x100540ee
cmp ebx, dword [esp + 0xcc]
sbb edx, dword [esp + 0x130]
jae 0x100540ee
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xe0]
add eax, 0x68
adc esi, 0
cmp ecx, 3
jne 0x10053541
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100538ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100538dd
inc eax
test ecx, ecx
jne 0x100538b0
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a794c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xcaa27b2b
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7a
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005300d
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005300d
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x100539be
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa119
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffffe00
add ecx, dword [eax + 0x2c]
cmp ecx, 0x7fdff
ja 0x100541de
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10071190
add esp, 4
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053a25
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10053a44
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10053a00
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10053ac4
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x393
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10053ad8
lea ecx, [esp + 0xa0]
call fcn.10006530
xor ebx, ebx
jmp 0x10053aee
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x70], eax
jmp 0x10053b1d
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], esi
movq xmm0, qword [esp]
mov eax, dword [esp + 0x70]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test esi, esi
je 0x10053b14
movsd xmm0, qword [esp + 0x44]
jmp 0x100541aa
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x16a7b44
mov edx, 0x1c
call 0x100733d0
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x190], 4
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
test eax, eax
je 0x10053c2c
imul ebx, eax, 0x2c
xor eax, eax
xor edi, edi
mov dword [esp + 0x60], 4
add ebx, esi
add esi, 0x2c
jmp 0x10053b8b
cmp esi, ebx
lea esi, [esi + 0x2c]
je 0x10053c38
cmp dword [esi - 0x1c], 0
jne 0x10053b80
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esi - 0x18]
jne 0x10053b80
mov ecx, dword [esi - 8]
mov edx, 0xfffffe00
add ecx, edx
cmp ecx, 0x7fe00
jae 0x10053b80
inc edi
je 0x10060646
cmp edi, dword [esp + 0x198]
jbe 0x10053bfb
mov dword [esp + 0x60], edi
mov ecx, dword [esp + 0x60]
call fcn.1001fc80
mov edx, dword [esp + 0x60]
cmp eax, edx
jbe 0x10053be7
lea ecx, [esp + 0x190]
mov edx, eax
call fcn.1002de40
mov edx, dword [esp + 0x60]
cmp al, 8
je 0x10053bfb
lea ecx, [esp + 0x190]
call fcn.1002de40
cmp al, 8
jne 0x1006065b
mov edx, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
lea eax, [esi - 0x2c]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x60], edx
mov eax, ecx
mov edi, ecx
mov dword [esp + 0x194], ecx
shr eax, 8
cmp esi, ebx
jne 0x10053b70
jmp 0x10053c38
mov dword [esp + 0x60], 4
xor eax, eax
xor edi, edi
mov ecx, dword [esp + 0x198]
shl eax, 8
mov dword [esp + 0xb0], ecx
mov ecx, edi
movzx ecx, cl
or ecx, eax
je 0x10053da4
mov eax, dword [esp + 0x60]
mov edi, dword [ebp + 8]
mov esi, 0
mov eax, dword [eax]
mov ecx, dword [edi]
mov eax, dword [eax + 0x20]
cmp dword [ecx + 0x14c], eax
jbe 0x10053db5
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
adc esi, 0
mov ecx, esp
push edi
push 2
push 0x16a7b74
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10053d15
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx esi, dl
lea edx, [edi + 1]
shl ecx, 4
or esi, ecx
test eax, eax
cmove edx, edi
je 0x10053d36
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10053cf0
cmp dword [esp], 0
je 0x10053f8b
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x3aa
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10054136
lea ecx, [esp + 0x80]
call fcn.10006530
xor ebx, ebx
jmp 0x10054144
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x1005416d
mov eax, dword [esp + 0xb0]
jmp 0x1005416d
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10052f34
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7948
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd5bd7431
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c79
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10052f34
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10052f34
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100532c4
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7a38
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x41f68039
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7b
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100532c4
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100532c4
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10052f0e
jmp 0x10052f34
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1005329e
jmp 0x100532c4
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10054024
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7b9c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6871a1e5
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7d
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054024
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0xb0]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100573dd
xor esi, esi
jmp 0x10054184
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100539be
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7b40
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x162d86a9
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7c
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100539be
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100539be
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005411e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005300d
inc eax
test ecx, ecx
jne 0x10054100
jmp 0x1005300d
mov eax, ebx
mov ebx, dword [esp + 0x194]
mov dword [ebx], edi
mov dword [ebx + 4], eax
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0xb0]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], esi
movd esi, xmm0
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005419b
mov ecx, dword [0x16ad000]
push edx
push eax
push dword [esp + 0x68]
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test esi, esi
je 0x100541de
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x190], esi
movlps qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], ebx
mov edx, 0x16aa121
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
cmp word [eax + 0x122], 3
jne 0x10054440
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x1005e3af
mov ecx, dword [eax + 0x128]
mov edx, 0xfffff800
add edx, dword [ecx + 0x38]
cmp edx, 0x480
jae 0x10054440
mov esi, dword [ecx + 0x34]
cmp dword [eax + 0x14c], esi
jbe 0x10054440
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0x80]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], eax
adc edi, 0
lea eax, [esp + 0x190]
push eax
push 8
push 0x16a7c24
push edi
push esi
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100542c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x100542e6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100542a0
cmp dword [esp], 0
je 0x10054341
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100543dc
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x100543e8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10054440
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7cc4
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6155e719
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7e
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054440
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10054440
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10054440
xor esi, 0x3dc
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x16aa129
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov ecx, dword [edi]
mov edi, dword [ecx + 0xcc]
test edi, edi
je 0x10054545
mov eax, dword [ecx + 0xc]
add edi, dword [ecx + 8]
adc eax, 0
test byte [ecx + 0x127], 0x20
je 0x10054545
mov ebx, dword [ebp + 0xc]
mov ecx, dword [0x16a35f0]
mov word [esp + 0x84], 0xc300
mov word [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea esi, [esp + 0x40]
mov edx, dword [ebx]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x190]
push 5
push 6
push esi
push eax
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10039360
add esp, 0x1c
mov ecx, dword [esp + 0x190]
test ecx, ecx
je 0x1005450d
mov edx, dword [esp + 0x194]
mov edi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
lea esi, [esp + 0x190]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], edi
mov dword [esp + 0x19c], eax
mov edx, 0x16aa131
mov ecx, dword [ecx + 0x28]
push esi
push 3
call fcn.10060a50
add esp, 8
jmp 0x10054545
mov ecx, dword [esp + 0x194]
cmp ecx, 7
jae 0x10060632
cmp ecx, 6
jne 0x10054545
movzx ecx, word [esp + 0x44]
mov eax, dword [esp + 0x40]
xor cx, word [esp + 0x84]
xor eax, dword [esp + 0x80]
movzx ecx, cx
or ecx, eax
je 0x10056e98
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10005360
add esp, 8
xor ebx, ebx
lea edi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100545a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx esi, dl
lea edx, [edi + 1]
shl ecx, 4
or esi, ecx
test eax, eax
cmove edx, edi
je 0x100545c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10054580
cmp dword [esp + 0x190], 0
je 0x10054637
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x3f0
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054794
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005479d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x100547e3
cmp dword [esp + 8], 0xc
jne 0x100547e3
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 4
push 0x16a7ce4
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10054705
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10054726
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100546e0
cmp dword [esp], 0
je 0x10054df2
xor esi, 0x424
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10054edb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10054ee7
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x100547e3
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa134
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10054a10
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0x80]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push edi
push 8
push 0x16a7f18
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10054895
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x100548b6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10054870
cmp dword [esp], 0
je 0x10054911
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100549ac
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x100549b8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10054a10
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7fb8
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x777a59a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c85
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054a10
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10054a10
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10054a10
xor esi, 0x458
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x16aa13c
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffff000
and ecx, dword [eax + 0x2c]
cmp ecx, 0x12000
jne 0x10055099
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10071190
add esp, 4
xor esi, esi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor edi, edi
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10054a75
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10054a94
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10054a50
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10054b11
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x46e
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10054b25
lea ecx, [esp + 0xa0]
call fcn.10006530
xor ebx, ebx
jmp 0x10054b3b
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x70], eax
jmp 0x10054b6d
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x10054b64
movsd xmm0, qword [esp + 0x44]
jmp 0x10055065
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x16a7fbc
mov edx, 0x16
call 0x100733d0
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x190], 4
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x10054c69
imul ebx, ecx, 0x2c
mov esi, 4
xor edx, edx
xor ecx, ecx
add ebx, edi
jmp 0x10054bdb
add edi, 0x2c
cmp edi, ebx
je 0x10054c72
cmp dword [edi], 0
je 0x10054bd0
cmp dword [edi + 4], 0xa
jne 0x10054bd0
cmp dword [edi + 0x10], 0
jne 0x10054bd0
cmp eax, dword [edi + 0x14]
jne 0x10054bd0
inc ecx
mov dword [esp + 0x60], eax
je 0x1006064a
cmp ecx, dword [esp + 0x198]
jbe 0x10054c3a
mov esi, ecx
call fcn.1001fc80
mov edx, esi
cmp eax, esi
jbe 0x10054c26
lea ecx, [esp + 0x190]
mov edx, eax
call fcn.1002de40
mov edx, esi
cmp al, 8
je 0x10054c3a
lea ecx, [esp + 0x190]
call fcn.1002de40
cmp al, 8
jne 0x1006065b
mov esi, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0x60]
mov dword [esi + ecx*4], edi
inc ecx
add edi, 0x2c
mov edx, ecx
mov dword [esp + 0x194], ecx
shr edx, 8
cmp edi, ebx
jne 0x10054bdb
jmp 0x10054c72
mov esi, 4
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x198]
mov eax, ecx
shl edx, 8
movzx edi, al
or edi, edx
mov dword [esp + 0x60], ebx
je 0x10054de4
mov eax, dword [esi]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov ecx, dword [edi]
cmp dword [ecx + 0x14c], eax
jbe 0x10054de9
mov edi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0xd0], esi
lea edx, [esp + 0xa0]
lea esi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
adc edi, 0
mov ecx, esp
push esi
push 2
push 0x16a7ff4
push edi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10054d55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10054d76
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10054d30
cmp dword [esp], 0
je 0x10054f1e
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x489
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10054fe6
lea ecx, [esp + 0x80]
call fcn.10006530
xor ebx, ebx
jmp 0x10054ff4
mov edi, dword [ebp + 8]
jmp 0x10054de9
mov eax, dword [esp + 0x60]
jmp 0x10055024
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10057201
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 1
push 0x16a7e34
mov dword [esp + 0x6c], edi
push edi
mov dword [esp + 0x80], esi
push esi
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10054ea5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10054ec6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10054e80
cmp dword [esp], 0
je 0x100570d6
xor esi, 0x42a
jmp 0x10054736
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
movd eax, xmm0
test eax, eax
jne 0x100547bd
jmp 0x100547e3
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xd0]
or eax, dword [esp + 0xc]
je 0x10054fbb
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a801c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push edi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054fbb
mov ecx, dword [0x16ad000]
push edx
push eax
push edi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0x60]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100573f8
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], 0
jmp 0x1005503b
mov eax, ebx
mov ebx, dword [esp + 0x194]
mov dword [ebx], esi
mov dword [ebx + 4], eax
movaps xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x60]
movlps qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movss dword [esp + 0x20], xmm0
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0xb0], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005504f
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
movaps xmm0, xmmword [esp + 0xb0]
dec dword [eax]
test ecx, ecx
je 0x10055099
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x190], ecx
movlps qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], ebx
mov edx, 0x16aa144
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100550f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10055116
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100550d0
cmp dword [esp + 0x190], 0
je 0x10055187
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x49d
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100552f4
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100552fd
movq xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10055345
cmp dword [esp + 8], 0x7e3
jne 0x10055345
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 5
push 0x16a8044
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055265
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10055286
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10055240
cmp dword [esp], 0
je 0x100565b2
xor esi, 0x4b0
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056b33
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056b3f
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10055345
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x190], xmm0
mov edx, 0x16aa14c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100553a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x100553c6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10055380
cmp dword [esp + 0x190], 0
je 0x10055437
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x4d9
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100555a4
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100555ad
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100555f4
cmp dword [esp + 8], 0x13418bf
jne 0x100555f4
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xd
push 0x16a8190
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055515
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10055536
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100554f0
cmp dword [esp], 0
je 0x1005669b
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x50c
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056b9e
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056baa
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x100555f4
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa154
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055655
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10055676
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10055630
cmp dword [esp + 0x190], 0
je 0x100556e7
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x538
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005583b
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10055844
movsd xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1005588b
cmp dword [esp + 8], 0x7a
jne 0x1005588b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xf8]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xf8], ecx
mov ecx, esp
push edi
push 8
push 0x16a82b8
push esi
push eax
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100557b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x100557d6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10055790
cmp dword [esp], 0
je 0x1005673d
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x54b
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056be1
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10056bed
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1005588b
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x16aa15c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movups xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100558e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10055906
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100558c0
cmp dword [esp + 0x190], 0
je 0x10055977
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x56e
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10055adb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10055ae4
movsd xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10055b2b
cmp dword [esp + 8], 0x7e3
jne 0x10055b2b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xf8]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xf8], ecx
mov ecx, esp
push edi
push 4
push 0x16a8374
push esi
push eax
call fcn.10069120
add esp, 0x14
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055a55
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10055a76
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10055a30
cmp dword [esp], 0
je 0x1005686e
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x57d
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056c14
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10056c20
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov ebx, dword [esp]
mov edi, dword [ebp + 8]
test ebx, ebx
je 0x10055b2b
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x16aa164
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movups xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10055b85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10055ba6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10055b60
cmp dword [esp + 0x190], 0
je 0x10055c17
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x593
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10055d84
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10055d8d
movsd xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10055dd3
cmp dword [esp + 8], 0x13418bf
jne 0x10055dd3
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 3
push 0x16a83dc
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055cf5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10055d16
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10055cd0
cmp dword [esp], 0
je 0x1005698e
xor edi, 0x5b9
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056b6a
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056b76
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10055dd3
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa16c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10055e35
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10055e56
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10055e10
cmp dword [esp + 0x190], 0
je 0x10055ec7
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor edi, 0x5db
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10056034
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005603d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10056084
cmp dword [esp + 8], 0x134890d
jne 0x10056084
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 6
push 0x16a8544
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055fa5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10055fc6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10055f80
cmp dword [esp], 0
je 0x10056a6b
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor edi, 0x5f4
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10056c47
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056c53
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10056084
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x16aa174
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100560e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10056106
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100560c0
cmp dword [esp + 0x190], 0
je 0x10056177
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor esi, 0x608
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100562dc
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100562e5
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10056331
cmp dword [esp + 8], 0x7e3
jne 0x10056331
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
add eax, 0x1000
mov edx, ecx
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x190]
adc edx, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x9c], edx
mov edx, esi
push edi
call fcn.1006e410
add esp, 4
xor esi, esi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10056235
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10056254
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10056210
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10056b0d
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x60f
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10056c8a
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10056ca0
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov edi, dword [esp]
test edi, edi
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
je 0x10056331
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp]
mov edx, 0x16aa17c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movdqu xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10060a50
add esp, 8
lea ecx, [esp + 0x190]
mov edx, esi
push edi
call fcn.1006e410
add esp, 4
xor ecx, ecx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10056385
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x100563a4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10056360
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005641d
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ebx, 0x672
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005643f
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10056455
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x100564c7
jmp 0x100584b7
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test esi, esi
je 0x100564af
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], esi
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x16aa184
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
jmp 0x100584bc
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x100584b7
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], edx
jmp 0x100564ec
mov dword [esp + 0x70], esi
sub esi, ecx
jbe 0x100584b7
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x100564e0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1005652e
inc esi
mov ecx, esi
mov esi, dword [esp + 0x70]
sub esi, ecx
ja 0x100564ec
jmp 0x100584b7
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x100584b7
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
jmp 0x1005656f
mov dword [esp + 0xb0], edx
sub edx, ecx
jbe 0x100584b7
shr edx, 1
xor eax, eax
add edx, ecx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0x4c31fa8c
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10056560
movzx eax, al
cmp eax, 0xff
jne 0x10056d5c
inc edx
mov ecx, edx
mov edx, dword [esp + 0xb0]
sub edx, ecx
ja 0x1005656f
jmp 0x100584b7
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1005820f
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x70], eax
add eax, 8
mov dword [esp + 0x60], esi
adc esi, 0
push edi
push 1
push 0x16a80a8
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10056665
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10056686
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10056640
cmp dword [esp], 0
je 0x10057209
xor esi, 0x4b8
jmp 0x10055296
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100555f4
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a8294
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100555f4
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100555f4
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10056dbc
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x11a], 0
mov word [esp + 0x118], 0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
mov dword [esp + 0x64], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
xor esi, esi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100567d5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x100567f4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100567b0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100572e5
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005742a
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x1005743d
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10056dd5
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
mov dword [esp + 0x74], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
xor esi, esi
lea edx, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100568f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x10056914
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100568d0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100572f6
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100574d1
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x100574e4
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100573d5
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 5
push 0x16a8444
mov dword [esp + 0x6c], edi
push edi
mov dword [esp + 0x80], esi
push esi
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10056a35
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10056a56
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10056a10
cmp dword [esp], 0
je 0x10057303
xor edi, 0x5bf
jmp 0x10055d26
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10056084
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a85bc
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xb20f336b
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c93
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10056084
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10056084
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x10056cf1
jmp 0x1005ff66
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10055316
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10055da2
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x100555ce
jmp 0x100555f4
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd eax, xmm0
test eax, eax
jne 0x10055861
jmp 0x1005588b
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd ebx, xmm0
test ebx, ebx
jne 0x10055b01
jmp 0x10055b2b
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1005605e
jmp 0x10056084
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10056cd9
movq xmm0, qword [esp + 0x44]
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
jmp 0x10056305
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x1005ff66
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor edi, edi
mov ecx, edx
mov dword [esp + 0x20], eax
jmp 0x10056d1a
mov edx, ecx
sub ecx, edi
jbe 0x1005ff66
shr ecx, 1
mov esi, dword [esp + 0x20]
xor eax, eax
add ecx, edi
mov ebx, ecx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x2dd2b3ce
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10056d10
movzx eax, al
cmp eax, 0xff
jne 0x10056dee
inc ecx
mov edi, ecx
mov ecx, edx
sub ecx, edi
ja 0x10056d1a
jmp 0x1005ff66
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov esi, eax
mov dword [esp + 0x70], eax
jmp 0x10056d76
mov dword [esp + 0x70], esi
sub esi, ecx
jbe 0x1005772c
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10056d6a
movzx ecx, dl
cmp ecx, 0xff
jne 0x100576bd
inc esi
mov ecx, esi
mov esi, dword [esp + 0x70]
sub esi, ecx
ja 0x10056d76
jmp 0x1005772c
xor eax, eax
mov dword [esp], 0
mov edi, dword [ebp + 8]
test eax, eax
jne 0x10055861
jmp 0x1005588b
xor ebx, ebx
mov dword [esp], 0
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x10055b01
jmp 0x10055b2b
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x1005ff66
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, eax
mov ecx, dword [ecx + ebx]
jmp 0x10056e15
mov edi, eax
sub eax, edx
jbe 0x1005ff66
shr eax, 1
xor ebx, ebx
add eax, edx
mov esi, eax
shl esi, 4
cmp dword [ecx + esi + 0xc], 0x7ca4fdf
mov esi, 0xff
setne bl
cmovb ebx, esi
cmp bl, 1
je 0x10056e0b
movzx edx, bl
cmp edx, 0xff
jne 0x10057bbd
inc eax
mov edx, eax
mov eax, edi
sub eax, edx
ja 0x10056e15
jmp 0x1005ff66
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10053998
jmp 0x100539be
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movq xmm0, qword [ecx + 0x30]
movd eax, xmm0
test eax, eax
mov dword [esp + 0xb0], eax
je 0x10054545
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp eax, 0xc
jae 0x1005796f
lea ecx, [0x16a96f5]
lea edx, [0x16a96f6]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10056ef6
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10054545
inc eax
test ecx, ecx
jne 0x10056ed8
jmp 0x10054545
mov edi, dword [esp + 0x198]
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10057806
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
xor esi, 0x21c
jmp 0x1005781c
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10057a4e
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0xb0], 0
xor ebx, 0x2f9
jmp 0x10057a70
mov edi, dword [ebp + 8]
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005700e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005300d
inc eax
test ecx, ecx
jne 0x10056ff0
jmp 0x1005300d
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10057a5a
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0xb0], 0
xor ebx, 0x2ff
jmp 0x10057a70
mov edi, dword [ebp + 8]
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100570be
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005300d
inc eax
test ecx, ecx
jne 0x100570a0
jmp 0x1005300d
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10057201
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 3
push 0x16a7e88
push dword [esp + 0x6c]
push dword [esp + 0x80]
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10057172
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10057193
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1005714d
cmp dword [esp], 0
je 0x10058051
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x16ad000]
xor esi, 0x432
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10058bd9
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10058be5
xorps xmm0, xmm0
jmp 0x100547b2
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1005820f
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
add eax, 8
adc esi, 0
push edi
push 1
push 0x16a80a8
push esi
push eax
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100572af
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x100572d0
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1005728a
cmp dword [esp], 0
je 0x100580f3
xor esi, 0x4bf
jmp 0x10055296
movzx eax, byte [esp + 0x194]
mov dword [esp + 0x70], eax
jmp 0x1005746b
movzx eax, byte [esp + 0x194]
jmp 0x1005758e
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100573d5
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 2
push 0x16a84ec
push dword [esp + 0x6c]
push dword [esp + 0x80]
call fcn.10069120
add esp, 0x14
xor ebx, ebx
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005739f
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, ebx
movzx edi, ch
shl esi, 4
or edi, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x100573c0
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1005737a
cmp dword [esp], 0
je 0x10058218
xor edi, 0x5c7
jmp 0x10055d26
xorps xmm0, xmm0
jmp 0x10055da2
mov eax, dword [esp + 0x70]
dec dword [eax]
mov eax, dword [edi]
cmp word [eax + 0x122], 3
je 0x100541ee
jmp 0x10054440
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
dec dword [eax]
jmp 0x10055099
xor esi, 0x215
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x60], eax
movd dword [esp + 0xb0], xmm0
jmp 0x1005781c
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp]
mov edx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x70], edx
je 0x1005746b
mov dword [esp + 0x60], eax
xor esi, 0x51d
mov eax, edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xb0], esi
jmp 0x10057dae
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
add edi, 1
adc ebx, 0
push 1
push 3
lea esi, [esp + 0x120]
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039360
add esp, 0x1c
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100575e6
movq xmm0, qword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], ecx
jmp 0x10057c92
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], edi
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
test ecx, ecx
mov eax, ebx
je 0x1005758e
xor esi, 0x55d
shr ebx, 8
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x70], eax
lea eax, [0x16a7272]
mov ecx, 0xfffffff9
mov dword [esp + 0x60], edx
mov dword [esp + 0x20], 0
mov dword [esp + 0xd0], esi
mov dword [esp + 0xe0], ebx
xor ebx, ebx
lea esi, [0x16a7271]
nop word cs:[eax + eax]
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x10057561
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x10060908
add dl, 0xa9
mov eax, edx
mov edx, ebx
movzx edi, al
lea eax, [esi + 1]
shl edx, 4
or edi, edx
test ecx, ecx
cmove eax, esi
je 0x10057582
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10057540
mov ebx, dword [esp + 0xb0]
jmp 0x100589d9
xor edi, edi
test al, al
mov ecx, 0
js 0x10057609
mov dword [esp + 0x70], ecx
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100575ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10058aa2
inc eax
test ecx, ecx
jne 0x100575b0
jmp 0x10058aa2
cmp dword [esp + 0x194], 3
jne 0x10057c13
mov dword [esp + 0x20], 0
mov dword [esp + 0x60], 0
jmp 0x10057c92
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push dword [esp + 0x70]
push dword [esp + 0x24]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a7c0
add esp, 0x10
lea esi, [0x16a7271]
lea ebx, [0x16a7272]
mov eax, 0xfffffff9
xor edx, edx
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10057667
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x10057686
shld edi, edx, 4
inc eax
test esi, esi
mov edx, ecx
jne 0x10057642
cmp dword [esp + 0x190], 0
je 0x10058809
xor ecx, 0x561
jmp 0x100588db
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xb0], edx
mov dword [esp + 0x60], eax
movd dword [esp + 0xd0], xmm0
jmp 0x10057a70
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1005772c
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
jmp 0x100576ee
shr edx, 1
xor eax, eax
add edx, ecx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0xd5255547
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x100576e3
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov dword [esp + 0x70], eax
jmp 0x10057748
mov dword [esp + 0x70], eax
sub eax, ecx
mov dword [esp + 0x60], eax
jbe 0x100584b7
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor edx, edx
shr eax, 1
add eax, ecx
mov esi, eax
shl esi, 4
cmp dword [edi + esi + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10057738
movzx ecx, dl
cmp ecx, 0xff
jne 0x10057792
mov eax, dword [esp + 0x44]
xor esi, 0x21c
mov dword [eax], edi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], ebx
xor eax, eax
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov edi, 0xfffffff9
mov dword [esp + 0x70], 0
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [esp + 0x20], edi
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10057869
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add bl, 0xa9
mov edx, ebx
mov edi, eax
movzx ebx, dl
lea edx, [ecx + 1]
shl edi, 4
or ebx, edi
mov edi, dword [esp + 0x20]
test edi, edi
cmove edx, ecx
je 0x1005788e
shld dword [esp + 0x70], eax, 4
inc edi
test ecx, ecx
mov eax, ebx
jne 0x10057840
movss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x60]
mov edi, dword [esp + 0xd0]
mov eax, dword [0x16ad000]
xor ebx, 0x235
mov dword [esp], esi
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100578ea
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x100578f6
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x16aa0ea
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x195], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x197], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x194], cl
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10060a50
add esp, 8
jmp 0x10052533
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
xor ebx, ebx
mov dword [esp + 0xd0], edx
sub edi, edx
mov edx, 0xaaaaaaab
mov dword [esp + 0xe0], ecx
mul edx
shr edx, 3
dec edx
jmp 0x100579a1
mov edx, dword [esp + 0x70]
inc ebx
cmp ebx, edx
jg 0x10056ec7
lea eax, [edx + ebx]
mov dword [esp + 0x60], ebx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x70], edx
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x190]
add eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
adc esi, 0
mov edx, dword [eax]
push 1
mov dword [esp + 0xa0], esi
push esi
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039b70
add esp, 0x14
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x1005ce17
xor eax, eax
cmp ecx, edi
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 1
je 0x10057994
movzx eax, al
cmp eax, 0xff
jne 0x1005cd8f
dec ebx
mov edx, ebx
mov ebx, dword [esp + 0x60]
cmp ebx, edx
jle 0x100579a1
jmp 0x10056ec7
mov eax, dword [esp + 4]
xor ebx, 0x2f9
jmp 0x10057a64
mov eax, dword [esp + 4]
xor ebx, 0x2ff
mov dword [eax], esi
mov dword [esp + 0xb0], eax
mov dword [eax + 4], edi
xor edi, edi
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x70], 0
nop dword [eax + eax]
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10057ab7
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx esi, dl
shl ecx, 4
or esi, ecx
mov ecx, dword [esp + 0x20]
test eax, eax
lea edx, [ecx + 1]
cmove edx, ecx
je 0x10057adc
shld dword [esp + 0x70], edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x10057a90
movss xmm0, dword [esp + 0xd0]
movss xmm1, dword [esp + 0x60]
mov edi, dword [esp + 0xb0]
mov eax, dword [0x16ad000]
xor esi, 0x321
mov dword [esp], ebx
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10057b38
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x10057b44
mov eax, dword [esp + 0x194]
mov dword [eax], ebx
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x16aa109
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x195], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x197], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0xd0]
mov byte [esp + 0x194], cl
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
jmp 0x1005300d
mov edx, dword [esp + 0x60]
xor edi, edi
mov ecx, edx
jmp 0x10057bd1
mov edx, ecx
sub ecx, edi
jbe 0x1005ff66
shr ecx, 1
mov esi, dword [esp + 0x20]
xor eax, eax
add ecx, edi
mov ebx, ecx
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x2dd2b3ce
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10057bc7
movzx eax, al
cmp eax, 0xff
jne 0x1005ca99
inc ecx
mov edi, ecx
mov ecx, edx
sub ecx, edi
ja 0x10057bd1
jmp 0x1005ff66
xor ecx, ecx
lea edx, [0x16ab8c5]
lea edi, [0x16ab8c6]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10057c4d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10057c6c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10057c28
movdqa xmm0, xmmword [0x16a35c0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor esi, esi
lea edi, [0x16a7271]
lea ebx, [0x16a7272]
mov ecx, 0xfffffff9
xor eax, eax
nop word [eax + eax]
movzx edx, byte [edi]
mov edi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10057cd5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov ebx, esi
movzx edx, dh
shl ebx, 4
or edx, ebx
lea ebx, [edi + 1]
test ecx, ecx
cmove ebx, edi
je 0x10057cf4
shld eax, esi, 4
inc ecx
test edi, edi
mov esi, edx
jne 0x10057cb0
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xb0], edx
test eax, eax
je 0x10057e9a
mov esi, dword [esp + 0x60]
mov dword [esp + 0x190], eax
mov eax, dword [0x16ad000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10057d63
lea ecx, [esp + 0x40]
call fcn.10006530
xor ecx, ecx
jmp 0x10057d76
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp + 0x190]
movd eax, xmm0
test eax, eax
je 0x10057e9a
xor dword [esp + 0xb0], 0x521
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x60], eax
mov dword [esp + 0xd0], ecx
movd eax, xmm0
mov dword [esp + 0x70], eax
shr eax, 8
xor ebx, ebx
lea esi, [0x16a7271]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0xe0], eax
lea eax, [0x16a7272]
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x10057e01
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x10060908
add dl, 0xa9
mov eax, edx
mov edx, ebx
movzx edi, al
lea eax, [esi + 1]
shl edx, 4
or edi, edx
test ecx, ecx
cmove eax, esi
je 0x10057e22
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10057de0
mov ecx, dword [esp + 0xe0]
movzx eax, byte [esp + 0x70]
movd xmm1, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xd0]
xor edi, 0x54f
shl ecx, 8
mov dword [esp], esi
mov dword [esp + 4], ebx
or eax, ecx
movd xmm0, eax
mov eax, dword [0x16ad000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10057ff6
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x10058002
add bl, bl
xor bl, 0xd0
movzx ecx, bl
add bl, 0xd1
lea eax, [ecx*4]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*2]
add cl, 0x44
add al, 0xe1
nop word [eax + eax]
mov edx, ebx
add cl, 0x8d
add al, 0x34
add bl, 0x2f
add dl, 0xb0
cmp dl, 0xa0
ja 0x10057ec0
xor bl, byte [esp + 0x118]
cmp bl, 0x74
jne 0x10057f13
mov edx, ecx
add al, 0xbc
add cl, 0x2f
add dl, 0xb0
cmp dl, 0xa0
ja 0x10057ede
xor cl, byte [esp + 0x119]
cmp cl, 0x74
jne 0x10057f13
mov ecx, eax
add al, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x10057ef9
xor al, byte [esp + 0x11a]
cmp al, 0x70
sete al
jmp 0x10057f15
xor eax, eax
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov ecx, 0xfffffff9
nop word cs:[eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10057f4e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x10057f5d
inc ecx
test edx, edx
jne 0x10057f30
test al, al
je 0x1005588b
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a8358
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xf565af26
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c89
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005588b
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005588b
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 7], cl
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
mov dword [esp], eax
mov byte [esp + 4], cl
mov edi, dword [ebp + 8]
test eax, eax
jne 0x10055861
jmp 0x1005588b
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100547e3
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7ec4
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xa424d249
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c84
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100547e3
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100547e3
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1005820f
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x190]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
push 1
push dword [esp + 0x64]
push dword [esp + 0x78]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a0c0
add esp, 0x14
xor esi, esi
lea edx, [0x16a7271]
lea edi, [0x16a7272]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10058176
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov edi, esi
movzx ecx, ch
shl edi, 4
or ecx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10058195
shld ebx, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10058151
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005d5b5
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005d603
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x1005d616
pxor xmm0, xmm0
jmp 0x10055313
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10055dd3
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a8514
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10055dd3
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10055dd3
mov edi, dword [ebp + 8]
dec dword [ebx]
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.1006e410
add esp, 4
xor edi, edi
lea edx, [0x16a7271]
lea esi, [0x16a7272]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10058515
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10058534
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100584f0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100585b1
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
xor ecx, 0x69e
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x100585d7
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x100585ed
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x10058670
jmp 0x10058e17
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10058658
mov edx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
add edx, 0x28
mov dword [esp + 0x70], edx
mov dword [esp + 0x190], ecx
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x70]
mov edx, 0x16aa18c
mov ecx, dword [eax]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10060a50
add esp, 8
jmp 0x10058e2e
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x10058e17
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
xor eax, eax
mov esi, ebx
jmp 0x1005869a
mov ebx, esi
sub esi, eax
jbe 0x10058e17
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, eax
mov ecx, esi
shl ecx, 4
cmp dword [edi + ecx + 0xc], 0xf17c9523
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10058690
movzx eax, dl
cmp eax, 0xff
jne 0x100586d9
inc esi
mov eax, esi
mov esi, ebx
sub esi, eax
ja 0x1005869a
jmp 0x10058e17
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
test edx, edx
je 0x10058e17
mov eax, dword [esp + 0x20]
mov esi, edx
mov ebx, dword [eax + ecx]
xor eax, eax
jmp 0x1005870a
shr edx, 1
xor ecx, ecx
add edx, eax
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0xf8a3eca5
mov edi, 0xff
setne cl
cmovb ecx, edi
cmp cl, 1
je 0x10058700
mov eax, dword [esp + 0x1a4]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x70]
lea ecx, [esp + 0x190]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1a0]
add esi, 0x10
adc edi, 0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xf8]
mov edx, dword [eax]
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a7c0
add esp, 0x10
xor esi, esi
lea edi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100588a6
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [edi + 1]
cmove edx, edi
je 0x100588c7
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10058881
cmp dword [esp + 0x190], 0
je 0x1005cd22
xor ecx, 0x562
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005893c
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10058945
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov dword [esp + 0x60], eax
xor ebx, ebx
lea esi, [0x16a7271]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
movlps qword [esp], xmm0
movss dword [esp + 0xb0], xmm0
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
shr eax, 8
mov dword [esp + 0xe0], eax
lea eax, [0x16a7272]
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x100589a9
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x10060908
add dl, 0xa9
mov eax, edx
mov edx, ebx
movzx edi, al
lea eax, [esi + 1]
shl edx, 4
or edi, edx
test ecx, ecx
cmove eax, esi
je 0x100589ca
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10058988
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x10058aa2
mov ecx, dword [esp + 0xe0]
movzx eax, byte [esp + 0x70]
mov esi, dword [esp + 0xd0]
movd xmm1, ebx
shl ecx, 8
mov dword [esp], esi
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0x60]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], eax
mov eax, dword [0x16ad000]
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10058a3f
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x10058a4f
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x60]
mov dword [eax], esi
mov dword [eax + 4], ecx
movaps xmm0, xmmword [esp + 0x20]
test ebx, ebx
movlps qword [esp + 0xa0], xmm0
je 0x10058aa2
movzx ecx, byte [esp + 0xa7]
movzx edx, word [esp + 0xa5]
xor edi, 0x581
mov byte [esp + 7], cl
mov word [esp + 5], dx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esp], ebx
mov byte [esp + 4], al
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x10055b01
jmp 0x10055b2b
cmp byte [esp + 0x70], 0
mov edi, dword [ebp + 8]
je 0x10055b2b
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a83c4
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6915bb2a
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c8a
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10055b2b
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10055b2b
mov esi, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x60]
mov eax, dword [esi + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x100605a9
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0xb0]
mov edx, dword [esi + 0x18]
lea ecx, [esp + 0x190]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
adc ebx, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x48]
push edi
push ebx
push eax
push dword [esp + 0x74]
push dword [esi + 0x1c]
call fcn.10039360
add esp, 0x1c
mov eax, dword [esp + 0x190]
mov dword [esp + 0x20], esi
test eax, eax
je 0x1005d592
movq xmm0, qword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
jmp 0x1005d992
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x100547b2
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1006052e
mov eax, dword [esp + 0x114]
mov dword [esp + 0x110], 0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea esi, [esp + 0x110]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
push 4
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039360
add esp, 0x1c
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], edi
mov dword [esp + 0xb0], ebx
test eax, eax
je 0x1005d8f0
movq xmm0, qword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], ecx
jmp 0x1005e442
mov eax, dword [esp + 0x70]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
mov eax, dword [esp + 0x3c]
add eax, 0x28
mov dword [esp + 0x70], eax
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push edi
push esi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10058e95
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
movzx edi, dl
lea edx, [esi + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, esi
je 0x10058eb6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10058e70
cmp dword [esp + 0x190], 0
je 0x10058f27
cmp byte [edx + 0x2d], 0
je 0x1005c865
mov ecx, 0x16a5d40
mov edx, 8
call fcn.1000bf90
test eax, eax
mov esi, 1
mov ecx, 0x16a6fdd
mov edx, 6
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1000bf90
test eax, eax
lea edi, [0x16a5d4a]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x16a5d49]
xor ebx, ebx
mov dword [esp + 0x70], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1005adc5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov edi, eax
movzx edx, dh
shl edi, 4
or edx, edi
lea edi, [esi + 1]
test ecx, ecx
cmove edi, esi
je 0x1005ade4
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x1005ada0
mov eax, dword [esp + 0x20]
mov esi, 0x4433
xor edx, 4
mov ebx, 0x22110000
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], 0
mov edx, 0x16aa1d4
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
mov dword [esp + 0x20], ecx
push eax
push 5
call fcn.10060a50
add esp, 8
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [eax + 0x9c]
mov edx, dword [eax + 0x98]
xor ecx, esi
xor edx, ebx
or edx, ecx
jne 0x1005bfca
cmp dword [eax + 0xec], 0x6d736b63
jne 0x1005bfca
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x74], eax
push dword [eax + 8]
call fcn.10038830
add esp, 8
xor edi, edi
lea esi, [0x16ab5a1]
lea edx, [0x16ab5a2]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005aec5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx edx, dl
shl ecx, 4
or edx, ecx
test eax, eax
mov ecx, edx
lea edx, [esi + 1]
cmove edx, esi
je 0x1005aee6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1005aea0
cmp dword [esp + 0x190], 0
je 0x1005af5b
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x16ad000]
xor ecx, 0x1e
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x1005b0f7
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1005b100
mov ebx, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x100605a9
mov eax, dword [edi]
mov esi, 0x4433
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005eada
mov edx, dword [esp + 0x198]
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x19c]
mov dword [esp + 0xd0], edx
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
cmp edx, 0x400
jne 0x1005b135
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
pxor xmm0, xmm0
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x1a0], 0
mov ecx, esp
movdqa xmmword [esp + 0x190], xmm0
push 0
push 0x14
lea esi, [esp + 0x198]
push esi
push 0
push 0x400
push dword [esp + 0x84]
push eax
call fcn.10039360
add esp, 0x1c
xor edi, edi
lea edx, [0x16ab5a1]
lea esi, [0x16ab5a2]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005b055
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov esi, edi
movzx ecx, ch
shl esi, 4
or ecx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1005b074
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1005b030
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1005b539
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov ebx, dword [esp + 0x9c]
je 0x1005b7dc
lea ecx, [esp + 0xa0]
call fcn.10006530
xor edx, edx
jmp 0x1005b7f2
mov edx, dword [esp + 0x44]
mov dword [edx], esi
mov dword [edx + 4], ebx
movdqa xmm0, xmmword [esp + 0x60]
mov esi, 0x4433
movq qword [esp], xmm0
movd eax, xmm0
mov ebx, dword [esp + 4]
mov ecx, ebx
shr ecx, 8
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x70]
test eax, eax
jne 0x1005bf7c
jmp 0x1005bfca
mov dword [esp + 0x120], eax
mov dword [esp + 0x9c], 0
jmp 0x1005bf1c
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x70], eax
jmp 0x1005b840
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x84]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp + 0x40]
mov eax, dword [esp + 0x70]
mov esi, 0x4433
movd ecx, xmm0
test ecx, ecx
je 0x1005b835
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x60], edx
xor eax, 0x2b
movd edx, xmm0
mov dword [esp + 0x70], eax
mov eax, edx
mov dword [esp + 0x120], edx
shr edx, 8
mov dword [esp + 0xb0], edx
jmp 0x1005bf15
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x70], xmm0
mov eax, dword [edi]
mov ecx, esp
mov edi, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
push 0
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x1005b89f
movzx edi, byte [esp + 7]
movzx edx, word [esp + 5]
movzx eax, byte [esp + 4]
mov esi, dword [esp + 8]
shl edi, 0x10
mov dword [esp + 0x120], eax
mov dword [esp + 0x70], esi
or edx, edi
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
jmp 0x1005bf0d
xor ecx, ecx
cmp byte [esp + 4], 0x4d
jne 0x1005bf06
mov eax, dword [ebp + 0xc]
add edi, 1
mov ecx, esp
adc esi, 0
mov edx, dword [eax]
push 0
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ab40
add esp, 0x14
mov eax, dword [esp]
test eax, eax
je 0x1005c3d3
movzx ecx, byte [esp + 4]
movzx edx, word [esp + 5]
mov dword [esp + 0x120], ecx
movzx ecx, byte [esp + 7]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
mov ecx, eax
jmp 0x1005bf0d
mov dword [esp + 0x120], eax
mov edi, dword [ebp + 8]
mov esi, 0x4433
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
push ebx
call fcn.1003d590
add esp, 4
dec dword [ebx]
jne 0x1005bf62
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002ea70
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x1005bf62
mov eax, dword [0x16ad000]
push 8
push 0x30
push ebx
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x120]
test eax, eax
je 0x1005bfca
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x190], eax
movzx eax, bl
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x20]
shl edx, 8
or eax, edx
mov edx, 0x16aa1d9
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
push 0xc
call fcn.10060a50
add esp, 8
mov eax, dword [edi]
mov ecx, 0x22110000
xor esi, dword [eax + 0x9c]
xor ecx, dword [eax + 0x98]
or ecx, esi
jne 0x1005c861
cmp dword [eax + 0xec], 0x73747373
jne 0x1005c861
cmp dword [eax + 0xcc], 0x2000
jne 0x1005c861
cmp dword [eax + 0xe4], 0x3000
jne 0x1005c861
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x1005c861
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1005c861
mov ecx, dword [ebp + 0xc]
mov esi, 0x2000
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov dword [esp + 0x40], 0
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
lea ecx, [esp + 0x190]
adc edi, 0
mov dword [esp + 0x70], eax
or edx, 1
push 4
lea eax, [esp + 0x44]
push eax
push edi
push esi
push ebx
push dword [esp + 0x84]
call fcn.10039f20
add esp, 0x18
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005c13f
mov ecx, dword [esp + 0x194]
movq xmm0, qword [esp + 0x198]
mov byte [esp + 0x190], 2
mov dword [esp + 0x194], eax
lea edx, [esp + 0x190]
mov dword [esp + 0x198], ecx
mov ecx, esp
movq qword [esp + 0x19c], xmm0
call fcn.100727a0
movzx eax, byte [esp]
xor ebx, ebx
lea esi, [0x16a9442]
mov ecx, 0xfffffff9
xor edi, edi
mov dword [esp + 0x70], eax
lea eax, [0x16a9441]
movzx edx, byte [eax]
mov eax, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1005c103
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov esi, ebx
movzx edx, dh
shl esi, 4
or edx, esi
lea esi, [eax + 1]
test ecx, ecx
cmove esi, eax
je 0x1005c122
shld edi, ebx, 4
inc ecx
test eax, eax
mov ebx, edx
jne 0x1005c0de
mov eax, dword [esp + 0x70]
cmp al, 3
jne 0x1005c169
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
jmp 0x1005c6c9
cmp dword [esp + 0x198], 4
jne 0x1005c28d
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], 1
mov eax, dword [eax]
bswap eax
mov dword [esp + 0x60], eax
jmp 0x1005c295
mov edi, edx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x60], edx
je 0x1005c5de
cmp eax, 1
jne 0x1005c618
movzx eax, byte [esp + 1]
mov dword [esp + 0xb0], ebx
mov edx, 0xd
mov ecx, dword [eax*4 + 0x16a4fc4]
mov ebx, dword [eax*4 + 0x16a4fe4]
mov dword [esp + 0x70], ecx
mov ecx, 0x16a4e5f
call fcn.1000bf90
mov ecx, ebx
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0x70]
mov esi, eax
test eax, eax
mov eax, 1
cmove esi, eax
jmp 0x1005c603
mov dword [esp + 0x70], 0
lea edx, [0x16a9441]
lea eax, [0x16a9442]
mov ecx, 0xfffffff9
movzx ebx, byte [edx]
mov edx, eax
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x1005c2c2
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea eax, [edx + 1]
test ecx, ecx
cmove eax, edx
je 0x1005c6c9
inc ecx
test edx, edx
jne 0x1005c2a6
jmp 0x1005c6c9
cmp byte [esp + 4], 0x5a
mov edi, dword [ebp + 8]
mov esi, 0x4433
jne 0x1005d50f
mov ecx, dword [esp + 0x70]
cmp ecx, 0x15
jae 0x10060a34
cmp ecx, 0x14
jne 0x1005c4ab
movdqa xmm0, xmmword [esp + 0x190]
movd xmm1, dword [esp + 0x1a0]
pcmpeqb xmm1, xmmword [0x16a3610]
pcmpeqb xmm0, xmmword [0x16a3620]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x1005c4ab
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x16ab5d0
call fcn.1001eda0
add esp, 8
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov edx, 0x549a2aa6
push dword [esp + 0x44]
push esi
push 0xddf2
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005c4a6
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov esi, 0x4433
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
push ebx
call fcn.1003d590
add esp, 4
dec dword [ebx]
jne 0x1005bfca
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002ea70
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x1005bfca
mov eax, dword [0x16ad000]
push 8
push 0x30
push ebx
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
jmp 0x1005bfca
mov ecx, 0x16a501d
mov edx, 0xd
call fcn.1000bf90
mov esi, eax
test eax, eax
mov ecx, 1
mov edx, 0xb
cmove esi, ecx
mov ecx, 0x16a502a
call fcn.1000bf90
mov edx, dword [esp + 0x60]
test eax, eax
mov ecx, 1
cmove eax, ecx
jmp 0x1005c620
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp + 0x70], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x190]
mov dword [esp + 0x44], edx
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005c65f
lea ecx, [esp + 0x40]
call fcn.10006530
xor ebx, ebx
jmp 0x1005c671
mov eax, ebx
mov ebx, dword [esp + 0x194]
mov ecx, dword [esp + 0x60]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x70]
xor edi, 0x2df
test esi, esi
je 0x1005c6c5
cmp esi, 0xc76970a8
jne 0x1005c80d
cmp eax, 0x76d4030
jne 0x1005c80d
xorps xmm1, xmm1
test ebx, ebx
je 0x1005c78e
mov ecx, ebx
call fcn.10006530
mov eax, dword [0x16ad000]
push 4
push 8
push ebx
push 0x16ac968
call dword [eax + 0x10]
xorps xmm1, xmm1
add esp, 0x10
jmp 0x1005c78e
mov dword [esp + 0x60], edi
xor edi, edi
lea eax, [0x16a9441]
lea esi, [0x16a9442]
mov ecx, 0xfffffff9
xor ebx, ebx
nop
movzx edx, byte [eax]
mov eax, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1005c705
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10060908
add dl, 0xa9
mov dh, dl
mov esi, edi
movzx edx, dh
shl esi, 4
or edx, esi
lea esi, [eax + 1]
test ecx, ecx
cmove esi, eax
je 0x1005c724
shld ebx, edi, 4
inc ecx
test eax, eax
mov edi, edx
jne 0x1005c6e0
cmp dword [esp + 0x70], 0
je 0x1005c73f
movd xmm0, dword [esp + 0x60]
movdqa xmm1, xmmword [0x16a3630]
punpckldq xmm1, xmm0
jmp 0x1005c78e
xor edx, 0x2e1
mov ecx, 0x16ac9d1
mov edi, edx
mov edx, 0x13
call fcn.1000bf90
mov esi, eax
test eax, eax
mov ebx, 1
mov ecx, 0x16ac9ad
mov edx, 6
cmove esi, ebx
call fcn.1000bf90
test eax, eax
cmove eax, ebx
xor ebx, ebx
cmp esi, 0xc76970a8
jne 0x1005c80d
xorps xmm1, xmm1
cmp eax, 0x76d4030
jne 0x1005c80d
mov edi, dword [ebp + 8]
movd eax, xmm1
test eax, eax
je 0x1005c861
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
cmp eax, 0x33c0c300
jne 0x1005c861
mov eax, dword [edi]
mov ebx, dword [ebp + 0xc]
mov edi, 0x2004
lea ecx, [esp + 0x190]
mov esi, dword [eax + 0xc]
add edi, dword [eax + 8]
mov edx, dword [ebx]
adc esi, 0
push 1
push esi
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10039b70
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005c9c4
mov ecx, dword [esp + 0x19c]
movq xmm0, qword [esp + 0x194]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
jmp 0x1005c826
movd xmm0, edi
movd xmm1, eax
mov dword [esp], esi
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], ebx
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
movq xmm0, qword [esp]
movsd xmm1, qword [esp + 8]
mov edx, 0x16aa1e5
lea eax, [esp + 0x190]
movsd qword [esp + 0x198], xmm1
movq qword [esp + 0x190], xmm0
push eax
push 6
call fcn.10060a50
add esp, 8
mov edx, dword [esp + 0x3c]
cmp byte [edx + 0x2c], 0
je 0x1005c9ab
mov esi, edx
lea eax, [esp + 0x148]
mov edx, edi
lea ecx, [esp + 0x190]
push dword [esi + 0x28]
push dword [ebp + 0xc]
push eax
call fcn.1003dd40
add esp, 0xc
xor edi, edi
lea edx, [0x16aa001]
lea ebx, [0x16aa002]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005c8d5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, edi
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1005c8f6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1005c8b0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005c9ab
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005c98b
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
je 0x1005c9ab
mov ecx, dword [esp + 0x140]
xor esi, 0x11f
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
movq qword [ecx], xmm0
jmp 0x1005c9bc
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
jne 0x1005c972
mov eax, dword [esp + 0x140]
mov byte [eax + 4], 0
mov dword [eax], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax]
mov dword [esp + 0xcc], ecx
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x190], ecx
mov eax, edx
mov edi, esi
mov dword [esp + 0x9c], edx
mov dword [esp + 0x120], esi
add eax, 0x2008
mov dword [esp + 0x70], eax
mov eax, edx
adc edi, 0
mov edx, 4
add eax, ecx
lea ecx, [esp + 0x190]
adc esi, 0
mov dword [esp + 0xb0], eax
mov dword [esp + 0x60], esi
call fcn.1000bcb0
mov dword [esp + 0xe0], edx
mov edx, dword [ebx]
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0x190]
push 1
push edi
push dword [esp + 0x78]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
je 0x1005d51d
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 0xc], eax
movd eax, xmm0
mov dword [esp + 8], esi
test eax, eax
jne 0x1005c82d
jmp 0x1005c861
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x1005ff66
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, eax
mov ecx, dword [ecx + ebx]
jmp 0x1005cac0
mov eax, dword [esp + 0x84]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm1, qword [esp + 4]
jmp 0x10051be8
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xd0]
xor ecx, dword [esp + 0x19c]
xor eax, dword [esp + 0x1a4]
xor edx, dword [esp + 0x198]
or eax, ecx
mov ecx, dword [esp + 0x60]
xor ecx, dword [esp + 0x1a0]
or ecx, edx
or ecx, eax
setne al
test ecx, 0xc0c0c0c0
sete cl
and cl, al
jmp 0x10057599
mov dword [esp + 0x60], eax
mov eax, ecx
xor ebx, 0x1c
mov dword [esp + 0x130], edx
shr eax, 8
mov dword [esp + 0xcc], ebx
jmp 0x1005ebf5
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x9c]
mov edx, dword [ecx]
add eax, 4
mov ebx, esi
lea ecx, [esp + 0x190]
adc ebx, 0
push 1
push ebx
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039b70
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005ce10
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x190]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
add ebx, 8
adc esi, 0
mov edx, dword [eax]
push 1
push esi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039b70
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005ed3f
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x198]
mov esi, dword [esp + 0x19c]
cmp eax, 0xc76970a8
jne 0x1005ce5d
cmp ecx, 0x76d4030
jne 0x1005ce5d
test esi, esi
je 0x10056ec7
mov ecx, esi
call fcn.10006530
mov eax, dword [0x16ad000]
push 4
push 8
push esi
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
jmp 0x10056ec7
mov dword [esp + 0x60], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0xb0], eax
xor esi, esi
lea edx, [0x16a96f5]
lea ebx, [0x16a96f6]
mov eax, 0xfffffff9
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005ceb3
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10060908
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1005ced4
shld dword [esp + 0x20], esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x1005ce8e
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
mov eax, dword [0x16ad000]
xor edi, 0x58
mov dword [esp], ebx
mov dword [esp + 4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005d5cc
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1005d5d8
mov dword [esp + 0x60], eax
mov eax, esi
xor ecx, 0x1e
mov edx, esi
mov dword [esp + 0xcc], ecx
shr eax, 8
mov ecx, esi
jmp 0x1005ebf5
mov dword [esp + 0x120], eax
xor ecx, ecx
jmp 0x1005bf15
xor eax, dword [esp + 0xe0]
xor esi, dword [esp + 0xd0]
mov edx, dword [ebx]
mov edi, ebx
lea ecx, [esp + 0x190]
mov dword [esp + 4], eax
mov eax, esp
mov dword [esp], esi
push 1
push 0
push 8
push eax
mov eax, dword [esp + 0x70]
push eax
mov ebx, dword [esp + 0xc4]
push ebx
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005dcc6
mov ecx, dword [esp + 0x19c]
movq xmm0, qword [esp + 0x194]
mov dword [esp + 0xc], ecx
movq qword [esp + 4], xmm0
mov dword [esp], eax
jmp 0x1005c826
cmp dword [esp + 0x194], 0x10
jne 0x1005d913
mov dword [esp + 0x70], 0
mov dword [esp + 0x60], 0
jmp 0x1005d992
mov esi, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1005d624
mov eax, dword [esp + 0x194]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xd0]
jmp 0x100544d1
mov dword [esp + 0x60], eax
mov eax, ecx
xor esi, 0x21
shr eax, 8
mov dword [esp + 0xcc], esi
jmp 0x1005ebf5
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x4c5
movd eax, xmm0
test eax, eax
je 0x1005d639
movd xmm1, esi
movd xmm2, ecx
jmp 0x1005eb1c
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x70], esi
mov edx, dword [eax]
push 1
push dword [esp + 0xb4]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a0c0
add esp, 0x14
xor edi, edi
lea ecx, [0x16a7271]
lea edx, [0x16a7272]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005d6ac
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add bl, 0xa9
mov edx, ebx
mov esi, edi
movzx ebx, dl
lea edx, [ecx + 1]
shl esi, 4
or ebx, esi
test eax, eax
cmove edx, ecx
je 0x1005d6cd
shld dword [esp + 0x20], edi, 4
inc eax
test ecx, ecx
mov edi, ebx
jne 0x1005d687
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005e377
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x16ac968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005eaeb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005eafe
mov ebx, dword [esp + 0x198]
mov edi, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x16ad000]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005ebd3
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0x130], 0
jmp 0x1005ebe3
cmp dword [esp + 0x194], 4
jne 0x1005e3c3
mov dword [esp + 0x20], 0
mov dword [esp + 0x70], 0
jmp 0x1005e442
xor ecx, ecx
lea edx, [0x16ab8c5]
lea edi, [0x16ab8c6]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005d94d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1005d96c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005d928
movdqa xmm0, xmmword [0x16a35c0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea eax, [0x16a7271]
lea edi, [0x16a7272]
mov ecx, 0xfffffff9
xor esi, esi
movzx ebx, byte [eax]
mov eax, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005d9cc
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [eax + 1]
test ecx, ecx
cmove edi, eax
je 0x1005d9eb
shld esi, edx, 4
inc ecx
test eax, eax
mov edx, ebx
jne 0x1005d9a7
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1005dafb
mov esi, dword [esp + 0x60]
mov dword [esp + 0x190], eax
mov eax, dword [0x16ad000]
xor ebx, 0x1b2
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005da65
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1005da7b
movdqa xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp + 0x190]
movq qword [esp], xmm0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
movd eax, xmm0
test eax, eax
je 0x1005dafb
movd xmm1, dword [esp + 4]
movq xmm0, qword [esp + 8]
mov esi, dword [esp + 0x20]
movd xmm2, eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
movdqa xmmword [esp + 0x70], xmm2
push esi
call fcn.1003d590
add esp, 4
dec dword [esi]
jne 0x1005daf0
inc dword [esi + 4]
lea ecx, [esi + 8]
call fcn.1002ea70
mov eax, dword [esi + 4]
dec eax
mov dword [esi + 4], eax
or eax, dword [esi]
je 0x1005ee6c
movdqa xmm1, xmmword [esp + 0x70]
jmp 0x100517bb
movzx eax, byte [esp + 0x40]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x41]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x42]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x43]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x44]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x45]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x46]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x47]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x48]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x49]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x4a]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x4b]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x4c]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x4d]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x4e]
add al, 0xbf
cmp al, 0x19
ja 0x1005dc73
movzx eax, byte [esp + 0x4f]
add al, 0xbf
cmp al, 0x1a
jae 0x1005dc73
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a7550
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x38d5dc59
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c76
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005dc73
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
push esi
call fcn.1003d590
add esp, 4
dec dword [esi]
jne 0x1005dcbd
inc dword [esi + 4]
lea ecx, [esi + 8]
call fcn.1002ea70
mov eax, dword [esi + 4]
dec eax
mov dword [esi + 4], eax
or eax, dword [esi]
jne 0x1005dcbd
mov eax, dword [0x16ad000]
push 8
push 0x30
push esi
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
pxor xmm1, xmm1
jmp 0x100517bb
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
dec eax
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2010
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, ebx
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 8
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffe
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2018
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x10
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffd
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2020
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x18
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffc
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2028
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x20
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffb
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2030
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x28
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffa
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2038
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x30
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffff9
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2040
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a0c0
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005ca74
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x38
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003ac90
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d570
mov edi, dword [ebp + 8]
jmp 0x1005c861
mov ebx, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1005eb0c
push 0x16a8d14
call fcn.10007630
add esp, 4
ud2
push 0x16a8d3c
call fcn.10007630
add esp, 4
ud2
mov ecx, 1
push 0x16a7ba0
call fcn.10007630
add esp, 4
ud2
xor ecx, ecx
lea edx, [0x16ab8c5]
lea edi, [0x16ab8c6]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e3fd
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1005e41c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005e3d8
movdqa xmm0, xmmword [0x16a35c0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea esi, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov ecx, 0xfffffff9
xor eax, eax
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e47c
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test ecx, ecx
cmove edi, esi
je 0x1005e49b
shld eax, edx, 4
inc ecx
test esi, esi
mov edx, ebx
jne 0x1005e457
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1005e52b
mov esi, dword [esp + 0x70]
mov dword [esp + 0x190], eax
mov eax, dword [0x16ad000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005e4fc
lea ecx, [esp + 0x40]
call fcn.10006530
xor edx, edx
jmp 0x1005e50f
movdqa xmm0, xmmword [esp + 0x20]
mov edx, dword [esp + 4]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp + 0x190]
movd esi, xmm0
test esi, esi
je 0x1005e52b
xor ebx, 0xfd
jmp 0x1005e72d
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
xor eax, eax
mov byte [esp + 0x1a0], 2
movd xmm0, edx
movd xmm1, ecx
xor edx, 0xffffffe8
not ecx
or ecx, edx
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x16a35d0]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x16a3590]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
lea ecx, [esp + 0x190]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10b], eax
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x40]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [esp + 0x51], eax
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x80]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
xor ecx, ecx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e694
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1005e6b3
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005e66f
cmp dword [esp + 0x80], 0
je 0x1005e917
mov esi, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x84]
mov edi, dword [esp + 0x90]
mov eax, dword [0x16ad000]
xor ebx, 0x107
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005e717
mov ecx, esp
jmp 0x1004fe2c
mov edx, dword [esp + 0x194]
mov dword [edx], esi
mov dword [edx + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
movd esi, xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0xf8], xmm0
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x70], edx
xor edx, edx
lea esi, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov ecx, 0xfffffff9
xor eax, eax
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e784
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test ecx, ecx
cmove edi, esi
je 0x1005e7a3
shld eax, edx, 4
inc ecx
test esi, esi
mov edx, ebx
jne 0x1005e75f
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1005e80a
movsd xmm0, qword [esp + 0xf8]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x190], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 0x194], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x40], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
mov edi, dword [ebp + 8]
je 0x1005e817
lea ecx, [esp + 0x40]
call fcn.10006530
xor esi, esi
jmp 0x1005e82c
movzx edx, byte [esp + 0xf8]
mov edi, dword [ebp + 8]
jmp 0x1005e87e
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, esi
mov esi, dword [esp + 4]
movd eax, xmm0
mov dword [esi], eax
mov dword [esi + 4], ecx
movq xmm0, qword [esp + 0x190]
movd eax, xmm0
pextrw edx, xmm0, 2
movq qword [esp + 0x118], xmm0
test eax, eax
je 0x1005e87e
movzx ecx, byte [esp + 0x11f]
xor ebx, 0x141
mov byte [esp + 7], cl
movzx ecx, word [esp + 0x11d]
mov word [esp + 5], cx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov byte [esp + 4], dl
jmp 0x1004e74d
test dl, dl
je 0x1004e77d
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16ac76c
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x25f65687
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004e77d
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004e77d
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x1006052e
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor ecx, ecx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e9a1
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1005e9c0
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005e97c
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005efa3
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005f0c4
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1005f0d9
xor edx, edx
push 0x16a9394
call fcn.10007630
add esp, 4
ud2
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor ebx, 0x4c5
movd ecx, xmm0
test ecx, ecx
je 0x1005eb29
movd xmm1, ebx
movd xmm2, eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
jmp 0x10055316
xor eax, dword [esp + 0x60]
xor ebx, dword [esp + 0x70]
xor ebx, 0x61656843
xor eax, 0x74
or eax, ebx
jne 0x10055345
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a80bc
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x45dea372
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c87
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10055345
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10055345
mov eax, dword [esp + 4]
mov dword [eax], ebx
mov dword [esp + 0x130], eax
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
xor dword [esp + 0xcc], 0x24
mov eax, esi
mov ecx, esi
shr eax, 8
shl eax, 8
movzx ecx, cl
lea esi, [0x16a3a3d]
lea edx, [0x16a3a3e]
mov dword [esp + 0x70], 0
or ecx, eax
mov eax, 0xfffffff9
mov dword [esp + 0xb0], ecx
xor ecx, ecx
movzx ebx, byte [esi]
mov dword [esp + 0x20], edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005ec46
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10060908
add bl, 0xa9
mov edx, ebx
mov esi, ecx
movzx ebx, dl
shl esi, 4
or ebx, esi
mov esi, dword [esp + 0x20]
test eax, eax
lea edx, [esi + 1]
cmove edx, esi
je 0x1005ec6b
shld dword [esp + 0x70], ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1005ec1f
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0x130]
xor ebx, 0x4d
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [0x16ad000]
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005ecb4
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1005ecc7
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x130]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x9c]
movd xmm0, dword [esp + 0xb0]
mov edx, dword [esp + 0x60]
movd xmm1, ebx
dec dword [ecx]
punpckldq xmm0, xmm1
jmp 0x1004ea15
mov esi, dword [esp + 0x70]
lea ecx, [0x16a96f5]
lea edx, [0x16a96f6]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005ed72
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10060908
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005ed81
inc eax
test ecx, ecx
jne 0x1005ed54
xor eax, eax
sub esi, edi
cmovb esi, eax
cmp esi, 6
jbe 0x10054545
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x16a9710
call fcn.1001eda0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd7df84ac
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c82
call fcn.100495c0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054545
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10054545
mov eax, dword [0x16ad000]
push 8
push 0x30
push esi
push 0x16ac968
call dword [eax + 0x10]
add esp, 0x10
movdqa xmm1, xmmword [esp + 0x70]
jmp 0x100517bb
push 0x16a7280
call fcn.10007630
add esp, 4
ud2
movzx ecx, word [esp + 0x194]
jmp 0x1005f120
movdqa xmm0, xmmword [esp + 0x60]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov edx, ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp]
movd eax, xmm0
pextrw ecx, xmm0, 2
movq qword [esp + 0xa0], xmm0
mov esi, eax
test eax, eax
je 0x1005f120
movzx eax, word [esp + 0xa6]
xor ebx, 0x10c
mov word [esp + 0xfa], ax
mov dword [esp + 0xfc], ebx
mov word [esp + 0xf8], cx
jmp 0x1005e742
movzx eax, cx
mov cl, 1
cmp eax, 0x8580
mov dword [esp + 0x60], ecx
jle 0x1005f147
cmp eax, 0x8581
je 0x1005f15d
cmp eax, 0xa5c1
je 0x1005f15d
cmp eax, 0xb581
je 0x1005f15d
jmp 0x1005f155
cmp eax, 0x65c1
je 0x1005f15d
cmp eax, 0x856b
je 0x1005f15d
mov dword [esp + 0x60], 0
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov edi, ebx
mov ecx, ebx
xor edx, 0xfffffff0
add eax, 0xf
not edi
adc ecx, 0
xor esi, esi
or edi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
mov edi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb edi, ebx
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
lea ecx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005f286
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [ecx + 1]
test eax, eax
cmove edi, ecx
je 0x1005f2a5
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005f261
cmp dword [esp + 0x80], 0
jne 0x1005e6c1
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x1006052e
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor ecx, ecx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005f33d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1005f35c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005f318
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005f5b1
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005f623
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1005f63b
movzx ecx, word [esp + 0x194]
jmp 0x1005f65c
movdqa xmm0, xmmword [esp + 0xb0]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov edx, ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp]
movd eax, xmm0
pextrw ecx, xmm0, 2
movq qword [esp + 0xa0], xmm0
mov esi, eax
test eax, eax
jne 0x1005f0f6
movzx eax, cx
cmp eax, 0x8580
jle 0x1005f67d
cmp eax, 0x8581
je 0x1005f68b
cmp eax, 0xb581
je 0x1005f68b
cmp eax, 0xa5c1
je 0x1005f68b
jmp 0x1005f6a5
cmp eax, 0x65c1
je 0x1005f68b
cmp eax, 0x856b
jne 0x1005f6a5
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
je 0x1005f6a5
mov byte [esp + 0xf8], 1
jmp 0x10060536
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov edi, ebx
mov ecx, ebx
xor edx, 0xfffffff0
add eax, 0xf
not edi
adc ecx, 0
xor esi, esi
or edi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
mov edi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb edi, ebx
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
lea ecx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005f7ce
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [ecx + 1]
test eax, eax
cmove edi, ecx
je 0x1005f7ed
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005f7a9
cmp dword [esp + 0x80], 0
jne 0x1005e6c1
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x1006052e
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor ecx, ecx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005f885
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x1005f8a4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005f860
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1006009b
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10060246
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1006025e
mov dword [esp], 0
xor edi, edi
mov eax, dword [esp + 0x70]
dec dword [eax]
test edi, edi
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
jne 0x10056305
jmp 0x10056331
movzx ecx, word [esp + 0x194]
jmp 0x1006027f
movdqa xmm0, xmmword [esp + 0xb0]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov edx, ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp]
movd eax, xmm0
pextrw ecx, xmm0, 2
movq qword [esp + 0xa0], xmm0
mov esi, eax
test eax, eax
jne 0x1005f0f6
movzx eax, cx
cmp eax, 0x8580
jle 0x100602a0
cmp eax, 0x8581
je 0x100602ae
cmp eax, 0xb581
je 0x100602ae
cmp eax, 0xa5c1
je 0x100602ae
jmp 0x100602bf
cmp eax, 0x65c1
je 0x100602ae
cmp eax, 0x856b
jne 0x100602bf
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
jne 0x1005f698
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov edi, ebx
mov ecx, ebx
xor edx, 0xfffffff0
add eax, 0xf
not edi
adc ecx, 0
xor esi, esi
or edi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
mov edi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb edi, ebx
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100606c2
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10071fa0
add esp, 0xc
lea ecx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100603e8
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [ecx + 1]
test eax, eax
cmove edi, ecx
je 0x10060407
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x100603c3
cmp dword [esp + 0x80], 0
jne 0x1005e6c1
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x1006052e
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
add esi, 0xfffffffa
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a430
add esp, 0x10
xor ecx, ecx
lea edx, [0x16ac5c2]
lea edi, [0x16ac5c3]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10060497
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10060908
add bl, 0xa9
mov bh, bl
mov edi, ecx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x100604b6
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10060472
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1006064e
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x16ad000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x16ac968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1006073d
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x10060752
mov byte [esp + 0xf8], 0
xor esi, esi
jmp 0x1005e742
mov ecx, 0x16a8e44
mov edx, 0x41
push 0x16a8e88
jmp 0x10060917
mov edx, 6
push 0x16a9700
call fcn.10007b00
add esp, 4
ud2
mov esi, dword [esp + 0x60]
mov bl, 7
jmp 0x10060664
movzx ecx, word [esp + 0x194]
jmp 0x10060773
mov esi, dword [esp + 0x190]
mov ebx, eax
mov edx, 4
mov ecx, 4
push dword [esp + 0x198]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10060695
mov ecx, dword [0x16ad000]
push edx
push eax
push esi
push 0x16ac968
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, 0x16ac93c
mov edx, 0x2b
mov byte [esp + 0x190], bl
push 0x16a6d3c
push 0x16a6f6c
lea eax, [esp + 0x198]
push eax
call fcn.10008840
add esp, 0xc
ud2
mov ecx, 0x16acb2c
mov edx, 0x2b
push 0x16ab60c
jmp 0x10060917
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov edx, ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp]
movd eax, xmm0
pextrw ecx, xmm0, 2
movq qword [esp + 0xa0], xmm0
mov esi, eax
test eax, eax
jne 0x1005f0f6
movzx eax, cx
cmp eax, 0x8580
jle 0x10060794
cmp eax, 0x8581
je 0x100607a2
cmp eax, 0xb581
je 0x100607a2
cmp eax, 0xa5c1
je 0x100607a2
jmp 0x100607ad
cmp eax, 0x65c1
je 0x100607a2
cmp eax, 0x856b
jne 0x100607ad
cmp byte [esp + 0x60], 0
jne 0x1005f698
mov byte [esp + 0xf8], 0
mov dword [esp + 0x20], 0
jmp 0x1005e74a
mov ecx, 0x16ac7bc
mov edx, 0xe
push 0x16a4dc0
call fcn.10007ff0
add esp, 4
ud2
mov edx, 0x14
push 0x16ab5ac
call fcn.10007b00
add esp, 4
ud2