Function at 0x10005640
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 0x100562ff
mov eax, dword [edx]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x190], 5
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x16c], ecx
mov edi, edx
mov dword [esp + 0xcc], edx
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov eax, dword [ebx]
movzx ecx, word [eax + 0x120]
cmp ecx, 0x8664
jne 0x100123ad
lea ecx, [edi + 0x10]
mov dword [esp + 0x38], ecx
movzx ecx, word [eax + 0x106]
and ecx, 0xfffffffe
cmp cx, 2
jne 0x10005801
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 0x10005725
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x10006a1d
mov esi, dword [eax + 0x128]
cmp byte [esi + 0x2f], 0
jne 0x10005725
cmp byte [esi + 0x2e], 0
jne 0x10005725
cmp byte [esi + 0x2d], 0
jne 0x10005725
cmp byte [esi + 0x2c], 0
je 0x10005e66
mov edx, dword [eax + 0x12c]
test edx, edx
je 0x10005801
mov ecx, dword [eax + 0x128]
shl edx, 3
lea edx, [edx + edx*4]
add ecx, 8
jmp 0x1000575c
add ecx, 0x28
add edx, 0xffffffd8
je 0x10005801
mov esi, dword [ecx + 0x18]
not esi
test esi, 0xa0000000
jne 0x10005750
mov esi, dword [eax + 0xcc]
sub esi, dword [ecx + 4]
jb 0x10005750
cmp esi, dword [ecx]
jae 0x10005750
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579fb5
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xda41f9ad
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100057ff
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [ebx]
movzx ecx, word [eax + 0x122]
add ecx, 0xfffffffe
cmp cx, 2
ja 0x1000583d
movzx ecx, word [eax + 0x106]
and ecx, 0xfffffffe
cmp cx, 2
jne 0x1000583d
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x1000583d
cmp dword [eax + 0xcc], 0
je 0x10005beb
mov eax, dword [ebx]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10005879
cmp dword [eax + 0x18], 0
je 0x10005879
cmp dword [eax + 0x12c], 3
jb 0x10005879
mov edx, dword [eax + 0x128]
cmp byte [edx + 0x2f], 0
jne 0x10005879
cmp byte [edx + 0x2e], 0
jne 0x10005879
cmp byte [edx + 0x2d], 0
je 0x10005d27
mov eax, dword [ebx]
cmp dword [eax + 0x18], 0
je 0x100062a2
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.10043750
add esp, 4
xor edi, edi
lea esi, [0x157ab32]
lea edx, [0x157ab33]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100058d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x100058f6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x100058b0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10005970
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x50
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x78]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x1000598e
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x100059a4
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
mov ebx, dword [ebp + 8]
lea esi, [esp + 0x1b0]
mov dword [esp + 0x20], ecx
jmp 0x10005a07
movdqa xmm0, xmmword [esp + 0x90]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x20]
lea esi, [esp + 0x1b0]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x100059fe
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x38]
movq xmm0, qword [esp + 0x44]
mov edx, 0x1576517
mov ecx, dword [ecx]
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
push esi
push 7
call fcn.1004e410
add esp, 8
jmp 0x100062a2
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
lea ecx, [esp + 0xf8]
mov dword [esp + 0x78], 4
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x11b0], 0
mov dword [esp + 0xf8], esi
xor edi, edi
mov dword [esp + 0x7c], 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 word cs:[eax + eax]
nop
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
je 0x1000607d
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10005a60
mov esi, dword [ecx - 8]
cmp esi, 3
jbe 0x10005a60
mov dword [esp + 0xb0], ecx
movzx ecx, byte [eax]
mov dword [esp + 0xe0], edx
mov dword [esp + 0x90], esi
xor esi, esi
mov ebx, 0
mov dword [esp + 0x60], edi
mov edx, ecx
add dl, 0x81
cmp dl, 0xa1
jb 0x10005ad8
mov bl, 2
cmp cl, 0x5f
je 0x10005ad8
mov edx, ecx
mov bl, 3
add dl, 0xd0
cmp dl, 0xa
jb 0x10005ad8
mov edx, ecx
mov bl, 4
add dl, 0xbf
cmp dl, 0x1a
jb 0x10005ad8
add cl, 0x9f
cmp cl, 0x1a
setb bl
shl bl, 2
or bl, 1
mov ecx, dword [esp + 0x90]
inc eax
lea edi, [ecx - 1]
jmp 0x10005b01
xor ecx, ecx
xor edx, edx
cmp bl, cl
mov ebx, ecx
setne dl
inc eax
add esi, edx
dec edi
je 0x10005b3e
movzx edx, byte [eax]
mov dh, dl
add dh, 0x81
cmp dh, 0xa1
jb 0x10005af0
mov cl, 2
cmp dl, 0x5f
je 0x10005af2
mov dh, dl
mov cl, 3
add dh, 0xd0
cmp dh, 0xa
jb 0x10005af2
mov dh, dl
mov cl, 4
add dh, 0xbf
cmp dh, 0x1a
jb 0x10005af2
add dl, 0x9f
cmp dl, 0x1a
setb cl
shl cl, 2
or cl, 1
jmp 0x10005af2
push 0
push dword [esp + 0x94]
push esi
push 0
call 0x1005668c
add esp, 0x10
test edx, edx
jne 0x10007674
mov edi, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
lea esi, [esp + 0x78]
mov ecx, edi
inc ecx
je 0x10005e40
cmp ecx, dword [esp + 0x84]
mov dword [esp + 0x90], eax
jbe 0x10005bad
mov edi, ecx
call fcn.1004daa0
mov edx, edi
test eax, eax
je 0x10005b9e
cmp eax, edx
jbe 0x10005b9e
mov ecx, esi
mov edx, eax
call fcn.1002d640
mov edx, edi
cmp al, 8
je 0x10005bad
mov ecx, esi
call fcn.1002d640
cmp al, 8
jne 0x10006076
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xe0]
mov dword [eax + edi*4], ecx
mov ecx, dword [esp + 0xb0]
inc edi
mov dword [esp + 0x80], edi
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
jne 0x10005a6e
jmp 0x1000607d
cmp dword [eax + 0x18], 0
je 0x1000583d
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x1000583d
mov edx, dword [eax + 0x12c]
cmp edx, 1
jbe 0x100073e8
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 + 0x1b0]
add eax, 0xfffffff8
mov dword [esp + 0x90], esi
adc esi, 0xffffffff
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
xor esi, esi
lea ebx, [0x1579fa9]
lea edx, [0x1579faa]
mov eax, 0xfffffff9
xor edi, edi
nop
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10005c95
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10005cb6
shld edi, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x10005c70
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10005e4c
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10005f0a
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10005f1d
cmp byte [edx + 0x2c], 0
je 0x10005879
movzx eax, byte [edx + 0x2c]
mov ecx, 0x7865742e
xor ecx, dword [edx + 0x28]
xor eax, 0x74
or eax, ecx
jne 0x10005879
mov dword [esp + 0x90], edx
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.10043750
add esp, 4
xor esi, esi
lea ebx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10005d9d
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10005dbe
shld edi, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x10005d78
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10006638
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x23
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x78]
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 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x100067da
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x100067ed
mov dword [esp + 0x118], edi
jmp 0x10006095
mov esi, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
mov ebx, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x10005f28
cmp byte [esi + 0x2b], 0
je 0x10005725
cmp dword [esi + 0x28], 0x30585055
jne 0x10005725
test dword [esi + 0x30], ecx
jne 0x10005725
cmp dword [esi + 0x38], 0
jne 0x10005725
cmp dword [esi + 0x48], 0xe0000080
jne 0x10005725
cmp edx, 3
jb 0x10007716
cmp byte [esi + 0x57], 0
jne 0x10005725
cmp byte [esi + 0x56], 0
jne 0x10005725
cmp byte [esi + 0x55], 0
jne 0x10005725
cmp byte [esi + 0x54], 0
jne 0x10005725
cmp byte [esi + 0x53], 0
je 0x10005725
cmp dword [esi + 0x50], 0x31585055
jne 0x10005725
test dword [esi + 0x58], ecx
jne 0x10005725
cmp dword [esi + 0x60], 0
je 0x10005725
cmp dword [esi + 0x70], 0xe0000040
jne 0x10005725
jmp 0x10005801
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov ebx, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x23
movd ecx, xmm0
test ecx, ecx
je 0x10005f75
movd ecx, xmm0
test ecx, ecx
je 0x1000583d
movq qword [esp + 0x1b0], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1b8], esi
mov edx, 0x157650e
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 3
call fcn.1004e410
add esp, 8
jmp 0x1000583d
or esi, eax
je 0x1000583d
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
lea ecx, [esp + 0x1b0]
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.1002f590
add esp, 0x14
xor esi, esi
lea edx, [0x1579fa9]
lea ebx, [0x1579faa]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10005fe6
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10006005
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10005fc1
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10006621
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10006652
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10006665
mov edi, dword [esp + 0x80]
cmp edi, 2
mov dword [esp + 0x118], edi
jae 0x10006095
mov eax, dword [esp + 0x84]
jmp 0x10006218
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov eax, 0x20
mov ecx, 0x20
cmp edi, edx
mov dword [esp + 0x90], edx
cmovb edx, edi
test edx, edx
je 0x100060c0
bsr ecx, edx
xor ecx, 0x1f
sub eax, ecx
mov ebx, esp
mov ecx, esi
push eax
push 0
push ebx
call fcn.100427d0
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x100], eax
mov eax, edi
and eax, 0xfffffffe
cmp edi, 4
mov eax, dword [esi + eax*2]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + edi*4 - 4]
mov dword [esp + 0x40], eax
jae 0x100060ff
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x1000615f
mov eax, edi
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 0x10006120
paddq xmm0, xmm2
cmp edi, eax
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movd edx, xmm0
je 0x1000617b
mov ebx, edi
sub ebx, eax
lea eax, [esi + eax*4]
nop word cs:[eax + eax]
add ecx, dword [eax]
adc edx, 0
add eax, 4
dec ebx
jne 0x10006170
push 0
push edi
push edx
push ecx
call 0x1005668c
add esp, 0x10
test edx, edx
jne 0x10007693
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov edx, 0x157ab3a
mov esi, dword [eax]
lea eax, [esp + 0x118]
mov ecx, esi
push eax
push 0xa
call fcn.1004e000
add esp, 8
lea eax, [esp + 0x100]
mov ecx, esi
mov edx, 0x157ab44
push eax
push 8
call fcn.1004e000
add esp, 8
lea eax, [esp + 0xa0]
mov ecx, esi
mov edx, 0x157ab4c
push eax
push 0xb
call fcn.1004e000
add esp, 8
mov eax, esp
mov ecx, esi
mov edx, 0x157ab57
push eax
push 0xc
call fcn.1004e000
add esp, 8
lea eax, [esp + 0x40]
mov ecx, esi
mov edx, 0x157ab63
push eax
push 8
call fcn.1004e000
add esp, 8
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x90]
mov edx, 4
mov ecx, 4
push eax
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000629c
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 0x1000]
mov edi, dword [ecx + 0x1004]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
test ebx, ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edi
je 0x10007559
cmp ebx, eax
jne 0x10007559
cmp edi, edx
jne 0x10007559
cmp ecx, esi
mov dword [esp + 0x100], esi
mov dword [esp + 0xa0], ecx
jne 0x10007619
mov ebx, dword [ebp + 8]
mov dword [ecx + 0x1000], 0
mov eax, dword [esp + 0x20]
dec dword [eax]
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.100446d0
add esp, 4
xor edi, edi
lea esi, [0x157af86]
lea edx, [0x157af87]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100062f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10006316
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x100062d0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000638d
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0xd
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x78]
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 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x100063b6
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x100063c9
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x10006441
jmp 0x10007819
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x90]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x10006429
mov ecx, dword [esp + 0x38]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1b0], edx
mov edx, 0x157651e
mov ecx, dword [ecx]
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x1b0]
push eax
push 6
call fcn.1004e410
add esp, 8
jmp 0x10007825
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x10007819
mov ebx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, ebx
mov dword [esp + 0x20], eax
jmp 0x1000646a
mov ebx, esi
sub esi, ecx
jbe 0x10007819
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 0x10006460
movzx ecx, dl
cmp ecx, 0xff
jne 0x100064aa
inc esi
mov ecx, esi
mov esi, ebx
sub esi, ecx
ja 0x1000646a
jmp 0x10007819
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10007819
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x100064da
mov ecx, edx
sub edx, ebx
jbe 0x10007819
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 0x100064d0
movzx eax, al
cmp eax, 0xff
jne 0x10006514
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x100064da
jmp 0x10007819
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x10006528
mov ecx, esi
sub esi, ebx
jbe 0x10007819
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 0x1000651e
movzx edx, dl
cmp edx, 0xff
jne 0x10006568
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x10006528
jmp 0x10007819
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10007819
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1000658f
mov ecx, edx
sub edx, ebx
jbe 0x10007819
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 0x10006585
movzx eax, al
cmp eax, 0xff
jne 0x100065c9
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1000658f
jmp 0x10007819
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x100065dd
mov ecx, esi
sub esi, ebx
jbe 0x10007819
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 0x100065d3
movzx edx, dl
cmp edx, 0xff
jne 0x10006775
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x100065dd
jmp 0x10007819
mov esi, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
mov ebx, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x10006670
mov eax, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1b4]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x20], eax
jmp 0x10006850
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov ebx, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x26
movd ecx, xmm0
test ecx, ecx
jne 0x10005f30
or esi, eax
je 0x1000583d
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
push 0
push dword [esp + 0x94]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f590
add esp, 0x14
xor esi, esi
lea edx, [0x1579fa9]
lea ebx, [0x1579faa]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100066e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10006704
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100066c0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10006867
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10006903
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10006916
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10007819
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1000679c
mov ecx, edx
sub edx, ebx
jbe 0x10007819
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 0x10006792
movzx eax, al
cmp eax, 0xff
jne 0x100069c5
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1000679c
jmp 0x10007819
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
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 0x10006847
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1b0], ecx
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov edx, 0x1576511
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 6
call fcn.1004e410
add esp, 8
jmp 0x10005879
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
cmp dword [edi + 0x18], 0xa
ja 0x1000685c
cmp dword [edi + 0x14], 0
je 0x10006881
mov eax, dword [esp + 0x20]
dec dword [eax]
jmp 0x10005879
mov esi, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
mov ebx, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x10006921
mov ecx, 0x157d151
mov edx, 0x11
call section..rdata
mov esi, dword [edi + 0x34]
mov edx, dword [edi + 0x30]
lea ecx, [esi + esi*8]
mov dword [esp + 0x60], esi
mov dword [esp + 0xb0], edx
lea edi, [ecx + ecx*2]
lea ecx, [edi + esi]
lea esi, [edx + ecx]
mov dword [esp + 0xe0], esi
test ecx, ecx
je 0x1000685c
mov esi, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [esi], 0
je 0x100068b4
cmp dword [esi + 4], eax
jne 0x100068b4
mov ecx, 0x157d162
mov edx, 0x13
call section..rdata
add edi, dword [esp + 0x60]
mov ecx, dword [esp + 0xb0]
test edi, edi
je 0x10006a31
mov edx, ecx
add edi, 0xffffffe4
add ecx, 0x1c
cmp dword [edx], 0
je 0x100068e4
cmp dword [edx + 4], eax
jne 0x100068e4
jmp 0x1000685c
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov ebx, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x29
movd ecx, xmm0
test ecx, ecx
jne 0x10005f30
or esi, eax
jne 0x1000583d
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579fb1
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x15c9146b
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000583d
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000583d
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x100069d9
mov ecx, esi
sub esi, ebx
jbe 0x10007819
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 0x100069cf
movzx edx, dl
cmp edx, 0xff
jne 0x10006aed
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x100069d9
jmp 0x10007819
mov ecx, 1
push 0x157ab74
call fcn.10018ae0
add esp, 4
ud2
cmp dword [esp + 0x60], 0
je 0x1000685c
mov eax, dword [esp + 0xb0]
cmp dword [eax + 0xc], 0
jne 0x1000685c
cmp dword [esp + 0x60], 1
jne 0x10006ba6
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157afc2
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov edi, dword [esp]
mov edx, 0xb1d111b0
mov ecx, dword [eax]
push dword [esp + 4]
push edi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10006adf
mov ecx, dword [0x157e000]
push edx
push eax
push edi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
dec dword [eax]
jmp 0x10005879
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10007819
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10006b14
mov ecx, edx
sub edx, ebx
jbe 0x10007819
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 0x10006b0a
movzx eax, al
cmp eax, 0xff
jne 0x10006b4e
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10006b14
jmp 0x10007819
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x10006b62
mov ecx, esi
sub esi, ebx
jbe 0x10007819
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 0x10006b58
movzx edx, dl
cmp edx, 0xff
jne 0x100073fc
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x10006b62
jmp 0x10007819
mov eax, dword [ebp + 8]
add dword [esp + 0xb0], 0x1c
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + 0xc]
mov edx, eax
sub eax, dword [ecx + 0x34]
jb 0x10006adf
mov ecx, dword [esp + 0x90]
cmp eax, dword [ecx + 0x30]
jae 0x10006adf
add edx, dword [esp + 0x140]
mov edi, dword [esp + 0x150]
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 + 0x3c], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x120], ebx
sbb eax, edi
jb 0x100178a3
add dword [esp + 0xb0], 0x1c
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x120]
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.10036f60
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0xd0], edx
jne 0x1000721d
cmp dword [esp + 0xd0], 0
je 0x10007254
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x10006ce6
cmp byte [eax + edx + 1], 0x3c
lea esi, [edx + 1]
mov edx, esi
jne 0x10006cd0
jmp 0x10006d34
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0x3c]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x120]
or ecx, eax
je 0x1000731f
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x120]
add eax, dword [esp + 0xd0]
adc edi, 0
cmp dword [esp + 0x60], eax
mov dword [esp + 0x3c], eax
sbb ecx, edi
jae 0x10006c52
jmp 0x100178a3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 0
add eax, esi
adc edi, 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x157af94]
lea esi, [0x157af93]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10006db0
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x10006dd1
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x10006d8b
cmp dword [esp + 0x130], 0
jne 0x10007461
movdqu xmm0, xmmword [esp + 0x1b4]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x10006adf
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 + 0x3c], edx
mov dword [esp + 0x60], esi
cmp esi, edx
mov dword [esp + 0x120], ebx
mov eax, ebx
sbb eax, edi
jb 0x100178a3
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x120]
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.10036f60
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0xd0], edx
jne 0x10007273
cmp dword [esp + 0xd0], 0
je 0x100072aa
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x10006ee9
cmp byte [eax + edx + 1], 0x88
lea esi, [edx + 1]
mov edx, esi
jne 0x10006ed3
jmp 0x10006f37
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0x3c]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x120]
or ecx, eax
je 0x10007362
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0xd0]
adc edi, 0
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x60], eax
mov eax, dword [esp + 0x120]
sbb eax, edi
jae 0x10006e55
jmp 0x100178a3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 0
add eax, esi
adc edi, 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x157af94]
lea esi, [0x157af93]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10006fb3
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x10006fd4
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x10006f8e
cmp dword [esp + 0x130], 0
jne 0x10007466
movdqu xmm0, xmmword [esp + 0x1b4]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x10006adf
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 + 0x3c], edx
mov dword [esp + 0x60], esi
cmp esi, edx
mov dword [esp + 0x120], ebx
mov eax, ebx
sbb eax, edi
jb 0x100178a3
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x120]
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.10036f60
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0xd0], edx
jne 0x100072c9
cmp dword [esp + 0xd0], 0
je 0x10007300
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x100070ec
cmp byte [eax + edx + 1], 0x1c
lea esi, [edx + 1]
mov edx, esi
jne 0x100070d6
jmp 0x1000713a
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0x3c]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x120]
or ecx, eax
je 0x100073a5
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0xd0]
adc edi, 0
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x60], eax
mov eax, dword [esp + 0x120]
sbb eax, edi
jae 0x10007058
jmp 0x100178a3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 0
add eax, esi
adc edi, 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x157af94]
lea esi, [0x157af93]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x100071b6
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x100071d7
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x10007191
cmp dword [esp + 0x130], 0
jne 0x1000746b
movdqu xmm0, xmmword [esp + 0x1b4]
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
or eax, dword [esp + 0x1b4]
jne 0x10006adf
mov eax, dword [esp + 0xe0]
cmp dword [esp + 0xb0], eax
jne 0x10006bc7
jmp 0x10006a58
mov edx, dword [esp + 0x130]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], ecx
jmp 0x10006d70
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 1
jmp 0x10006d57
mov edx, dword [esp + 0x130]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], ecx
jmp 0x10006f73
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 1
jmp 0x10006f5a
mov edx, dword [esp + 0x130]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], ecx
jmp 0x10007176
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 1
jmp 0x1000715d
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x3c], eax
jmp 0x10006d70
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x3c], eax
jmp 0x10006f73
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x3c], eax
jmp 0x10007176
mov ecx, 1
push 0x157b870
call fcn.10018ae0
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10007819
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10007423
mov ecx, edx
sub edx, ebx
jbe 0x10007819
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 0x10007419
movzx eax, al
cmp eax, 0xff
jne 0x10007505
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10007423
jmp 0x10007819
xor edi, 0x3e
jmp 0x1000746e
xor edi, 0x43
jmp 0x1000746e
xor edi, 0x48
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0x1b0]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], eax
mov eax, dword [0x157e000]
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100074be
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x100074d2
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x3c]
mov dword [eax], ecx
mov dword [eax + 4], edx
movdqa xmm0, xmmword [esp + 0x90]
mov edx, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movd ecx, xmm0
movq xmm0, qword [esp + 0x44]
dec dword [edx]
test ecx, ecx
jne 0x1000680e
jmp 0x10005879
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x10007519
mov ecx, esi
sub esi, ebx
jbe 0x10007819
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 0x1000750f
movzx edx, dl
cmp edx, 0xff
jne 0x100075b4
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x10007519
jmp 0x10007819
lea eax, [esp + 0x100]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
mov dword [esp], 0x15766d8
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x1568500
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x15766f0
mov dword [esp + 0x4c], 0x1568500
mov dword [esp + 0xc], 2
call fcn.10018a70
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10007819
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x100075db
mov ecx, edx
sub edx, ebx
jbe 0x10007819
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 0x100075d1
movzx eax, al
cmp eax, 0xff
jne 0x100076b4
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x100075db
jmp 0x10007819
lea eax, [esp + 0x100]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
mov dword [esp], 0x1576698
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x1537530
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x15766b0
mov dword [esp + 0x4c], 0x1537530
mov dword [esp + 0xc], 2
call fcn.10018a70
ud2
mov eax, esp
mov ecx, 0x157d1d0
mov edx, 0x2b
mov byte [esp], 1
push 0x157d134
push 0x157ab94
jmp 0x100179ce
mov ecx, 0x157d1d0
mov edx, 0x2b
mov byte [esp], 1
push 0x157d134
push 0x157ab94
lea eax, [esp + 8]
jmp 0x100179ce
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0xff
jmp 0x100076d3
mov ecx, dword [esp + 0x60]
sub dword [esp + 0x60], esi
jbe 0x10007819
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 0x100076c5
movzx esi, bl
cmp esi, 0xff
jne 0x1000772f
mov esi, dword [esp + 0x60]
mov dword [esp + 0x60], ecx
inc esi
sub dword [esp + 0x60], esi
ja 0x100076d3
jmp 0x10007819
mov ecx, 2
mov edx, 2
push 0x157ab84
call fcn.10018ae0
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x10007819
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov esi, ecx
mov eax, dword [edx + eax]
jmp 0x10007756
mov esi, ecx
sub ecx, ebx
jbe 0x10007819
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 0x1000774c
movzx edx, dl
cmp edx, 0xff
jne 0x10007792
inc ecx
mov ebx, ecx
mov ecx, esi
sub ecx, ebx
ja 0x10007756
jmp 0x10007819
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157af8e
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xe5d4cb4f
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10007819
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x90]
mov esi, dword [ebp + 8]
dec dword [eax]
mov edx, esi
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.100446d0
add esp, 4
xor edi, edi
lea esi, [0x157aac5]
lea edx, [0x157aac6]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10007875
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10007896
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10007850
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000790d
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x15
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x78]
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 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10007933
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x10007946
mov eax, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1b4]
mov dword [esp + 0xb0], eax
mov esi, dword [ebx + 0x10]
cmp esi, 1
jne 0x100079d0
jmp 0x10007eef
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov ebx, 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 0x100079bb
mov ecx, dword [esp + 0x38]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1b0], edx
mov edx, 0x1576524
mov ecx, dword [ecx]
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x1b0]
push eax
push 6
call fcn.1004e410
add esp, 8
mov eax, dword [ebx]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
je 0x10007f10
jmp 0x10009e60
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov esi, dword [ebx + 0x10]
cmp esi, 1
je 0x10007eef
mov ecx, 0x157aacd
mov edx, 8
call section..rdata
test esi, esi
mov dword [esp + 0x20], eax
je 0x10007eef
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x60], esi
mov dword [esp + 0x90], ecx
xor ecx, ecx
mov edi, dword [esp + 0x90]
jmp 0x10007a1c
mov dword [esp + 0x60], esi
sub esi, ecx
jbe 0x10007eef
shr esi, 1
mov eax, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov ebx, esi
shl ebx, 4
cmp dword [edi + ebx + 0xc], eax
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x10007a10
movzx ecx, dl
cmp ecx, 0xff
jne 0x10007a5a
inc esi
mov ecx, esi
mov esi, dword [esp + 0x60]
sub esi, ecx
ja 0x10007a1c
jmp 0x10007eef
mov eax, dword [esp + 0x90]
mov eax, dword [eax + ebx + 4]
cmp eax, 9
mov dword [esp + 0xe0], eax
ja 0x10007eef
mov ecx, 0x157aad5
mov edx, 0xc
call section..rdata
cmp dword [esp + 0xe0], 0
mov dword [esp + 0x60], eax
je 0x10007eef
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0xe0]
add eax, ebx
mov edx, esi
mov dword [esp + 0x90], esi
xor ebx, ebx
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x20]
jmp 0x10007acc
mov dword [esp + 0x90], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x60]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007abd
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007b0d
inc edx
mov ebx, edx
mov edx, dword [esp + 0x90]
sub edx, ebx
ja 0x10007acc
jmp 0x10007eef
mov ecx, 0x157aae1
mov edx, 8
call section..rdata
mov esi, dword [esp + 0xe0]
xor ebx, ebx
mov dword [esp + 0x90], eax
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
jmp 0x10007b44
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x90]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007b38
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007b85
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10007b44
jmp 0x10007eef
mov ecx, 0x157aae9
mov edx, 0xd
call section..rdata
mov esi, dword [esp + 0xe0]
xor ebx, ebx
mov dword [esp + 0x90], eax
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
jmp 0x10007bbc
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x90]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007bb0
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007bfd
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10007bbc
jmp 0x10007eef
mov ecx, 0x157aaf6
mov edx, 0xc
call section..rdata
mov esi, dword [esp + 0xe0]
xor ebx, ebx
mov dword [esp + 0x90], eax
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
jmp 0x10007c34
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x90]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007c28
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007c75
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10007c34
jmp 0x10007eef
mov ecx, 0x157ab02
mov edx, 0xc
call section..rdata
mov esi, dword [esp + 0xe0]
xor ebx, ebx
mov dword [esp + 0x90], eax
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
jmp 0x10007cac
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x90]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007ca0
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007ced
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10007cac
jmp 0x10007eef
mov ecx, 0x157ab0e
mov edx, 0xe
call section..rdata
mov esi, dword [esp + 0xe0]
xor ebx, ebx
mov dword [esp + 0x90], eax
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
jmp 0x10007d24
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x90]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007d18
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007d65
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10007d24
jmp 0x10007eef
mov ecx, 0x157ab1c
mov edx, 5
call section..rdata
mov esi, dword [esp + 0xe0]
xor ebx, ebx
mov dword [esp + 0x90], eax
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
jmp 0x10007d9c
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x10007eef
shr edx, 1
mov eax, dword [esp + 0x90]
xor ecx, ecx
add edx, ebx
mov edi, edx
shl edi, 4
cmp dword [esi + edi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10007d90
movzx ecx, cl
cmp ecx, 0xff
jne 0x10007ddd
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x10007d9c
jmp 0x10007eef
mov ecx, 0x157ab21
mov edx, 0xc
call section..rdata
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x90], eax
mov dword [esp + 0x60], ecx
jmp 0x10007e19
mov dword [esp + 0x60], ecx
sub ecx, esi
mov dword [esp + 0xe0], ecx
jbe 0x10007eef
mov edi, dword [esp + 0xe0]
mov eax, dword [esp + 0x90]
xor ebx, ebx
shr edi, 1
add edi, esi
mov ecx, edi
shl edi, 4
cmp dword [edx + edi + 0xc], eax
mov eax, 0xff
setne bl
cmovb ebx, eax
cmp bl, 1
je 0x10007e06
movzx esi, bl
cmp esi, 0xff
jne 0x10007e68
inc ecx
mov esi, ecx
mov ecx, dword [esp + 0x60]
sub ecx, esi
mov dword [esp + 0xe0], ecx
ja 0x10007e19
jmp 0x10007eef
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157ab2d
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x8f1ee398
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10007eef
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0xb0]
mov ebx, dword [ebp + 8]
dec dword [eax]
mov eax, dword [ebx]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10009e60
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x10009e60
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x10009e60
mov esi, dword [eax + 0xcc]
test esi, esi
je 0x10009e60
mov ebx, dword [eax + 0xc]
add esi, dword [eax + 8]
mov edx, dword [ebp + 0xc]
lea edi, [esp + 0x1b0]
mov ecx, edi
adc ebx, 0
push 0xa
push 0x157af9b
mov dword [esp + 0x98], ebx
push ebx
push esi
call fcn.10038800
add esp, 0x10
lea ecx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10007f9e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10007fad
inc eax
test ecx, ecx
jne 0x10007f80
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10008013
movsd xmm0, qword [esp + 0x1b4]
mov ebx, esi
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000801d
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10008032
movzx eax, byte [esp + 0x1b4]
jmp 0x10008045
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 edx, dword [ebp + 0xc]
mov esi, ebx
jne 0x1000830c
mov eax, dword [esp + 4]
test al, al
je 0x1000863c
mov ebx, dword [esp + 0x90]
mov eax, esi
xor edx, edx
movd xmm0, esi
mov byte [esp + 0x1c0], 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 [0x1576060]
movd xmm0, edx
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x1576070]
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 + 0x78], xmm0
movq qword [esp + 0x80], xmm1
jb 0x100178a3
movq xmm0, qword [esp + 0x78]
movq xmm1, qword [esp + 0x80]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa3]
lea esi, [esp + 0x1b0]
mov edx, esi
movq qword [esp + 0x1b8], xmm1
movq qword [esp + 0x1b0], xmm0
mov byte [esp + 0x1c0], 0
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 6
push 0x157afa5
call fcn.10046c00
add esp, 0xc
lea ecx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100081ae
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100081bd
inc eax
test ecx, ecx
jne 0x10008190
cmp dword [esp + 0x40], 0
je 0x10008204
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0x157e000]
mov dword [esp], edi
mov dword [esp + 4], ebx
push 4
push 8
push 0x157d260
push esi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x100082f9
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x10008305
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x100093ff
mov edx, dword [esp + 0x50]
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1b0]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push dword [esp + 0x60]
call fcn.10047200
add esp, 0x10
xor edi, edi
lea ebx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000826e
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000828f
shld esi, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x10008249
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000833d
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov edi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10008354
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10008369
mov eax, dword [esp + 0x1b4]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x10008331
mov ecx, eax
mov edi, eax
call fcn.1004da70
mov eax, dword [0x157e000]
push 4
push 8
push edi
push 0x157d260
call dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov eax, dword [esp + 0x90]
jmp 0x10008646
mov ebx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x1000837e
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
mov edx, dword [ebp + 0xc]
jne 0x1000830c
xor edi, 0x84
mov ebx, edi
lea ecx, [esp + 0x1b0]
push 3
push 0x157afab
mov dword [esp + 0x68], eax
push eax
mov edi, ebx
push ebx
call fcn.10038800
add esp, 0x10
lea ecx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100083cb
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100083da
inc eax
test ecx, ecx
jne 0x100083ad
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10008441
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000844b
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10008461
movzx eax, byte [esp + 0x1b4]
jmp 0x10008478
movdqa xmm0, xmmword [esp + 0xb0]
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]
je 0x10008473
mov edx, dword [ebp + 0xc]
jmp 0x1000830c
movzx eax, byte [esp + 4]
mov ecx, edi
test al, al
je 0x1000863c
mov edi, dword [esp + 0x60]
movd xmm0, ecx
xor ecx, 0xffffff50
xor eax, eax
mov byte [esp + 0x1c0], 2
movd xmm1, edi
not edi
or edi, ecx
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x1576080]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x1576070]
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 + 0x1b0]
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 + 0x78], xmm0
movq qword [esp + 0x80], xmm1
jb 0x100178a3
movq xmm0, qword [esp + 0x78]
movq xmm1, qword [esp + 0x80]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa3]
lea edi, [esp + 0x1b0]
lea esi, [esp + 0x40]
mov edx, edi
movq qword [esp + 0x1b8], xmm1
movq qword [esp + 0x1b0], xmm0
mov byte [esp + 0x1c0], 0
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c4], ecx
mov ecx, esi
push dword [ebp + 0xc]
push 9
push 0x157afae
call fcn.10046c00
add esp, 0xc
lea ecx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100085e2
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100085f1
inc eax
test ecx, ecx
jne 0x100085c4
cmp dword [esp + 0x40], 0
je 0x10008f0b
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0x157e000]
mov dword [esp], esi
mov dword [esp + 4], ebx
push 4
push 8
push 0x157d260
push edi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
jne 0x100081f6
mov eax, dword [esp + 0x1b4]
mov dword [eax], esi
jmp 0x10008302
mov eax, dword [esp + 0x90]
mov edx, dword [ebp + 0xc]
mov word [esp + 0x110], 0x24
lea ecx, [esp + 0x1b0]
push 3
push 0x157baf6
mov dword [esp + 0x68], eax
push eax
mov dword [esp + 0x2c], esi
push esi
call fcn.10038800
add esp, 0x10
xor edi, edi
lea esi, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100086b5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x100086d6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10008690
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000873f
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov edi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10008750
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x10008766
movzx ecx, byte [esp + 0x1b4]
mov eax, dword [esp + 0x20]
jmp 0x10008825
movdqa xmm0, xmmword [esp + 0x90]
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]
mov dword [esp + 0x90], eax
test eax, eax
mov eax, dword [esp + 0x20]
je 0x10008825
xor edi, 0xa7
mov dword [esp + 0xe0], edx
mov eax, ecx
mov dword [esp + 0xb0], ecx
shr ecx, 8
mov dword [esp + 0x60], edi
lea edi, [0x157af93]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
shr eax, 0x10
mov dword [esp + 0x3c], ecx
lea ecx, [0x157af94]
mov dword [esp + 0xd0], eax
xor eax, eax
nop word cs:[eax + eax]
movzx ebx, byte [edi]
mov edi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x100087f5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
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 0x10008816
shld dword [esp + 0x20], eax, 4
inc edx
test edi, edi
mov eax, esi
jne 0x100087d0
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x90]
jmp 0x10008c48
test cl, cl
je 0x10009e1d
mov ebx, dword [esp + 0x60]
mov edx, eax
mov edi, eax
mov byte [esp + 0x1c0], 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 + 0x1b0]
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 + 0x100], ecx
mov dword [esp + 0x103], eax
movq qword [esp + 0x78], xmm0
movq qword [esp + 0x80], xmm1
jb 0x100178a3
movsd xmm0, qword [esp + 0x78]
movq xmm1, qword [esp + 0x80]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x103]
lea edx, [esp + 0x1b0]
movq qword [esp + 0x1b8], xmm1
movsd qword [esp + 0x1b0], xmm0
mov byte [esp + 0x1c0], 0
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x157afb7
call fcn.10046c00
add esp, 0xc
lea esi, [0x157af93]
lea ecx, [0x157af94]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x10008965
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
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 0x10008986
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x10008940
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], edx
je 0x100089f4
xor dword [esp + 0x60], 0xad
mov esi, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
mov edi, dword [esp + 0x50]
mov eax, dword [0x157e000]
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10008b74
mov ecx, esp
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10008b87
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x10009e1d
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov byte [esp + 0x1c0], 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 + 0x1b0]
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 + 0x100], eax
mov dword [esp + 0x103], ecx
movq qword [esp + 0x78], xmm0
movq qword [esp + 0x80], xmm1
jb 0x100178a3
movsd xmm0, qword [esp + 0x78]
movq xmm1, qword [esp + 0x80]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x103]
lea edx, [esp + 0x1b0]
movq qword [esp + 0x1b8], xmm1
movsd qword [esp + 0x1b0], xmm0
mov byte [esp + 0x1c0], 0
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x157afba
call fcn.10046c00
add esp, 0xc
lea esi, [0x157af93]
lea ecx, [0x157af94]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x10008b37
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
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 0x10008b58
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x10008b12
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], edx
je 0x10008df7
xor dword [esp + 0x60], 0xb8
jmp 0x10008999
mov eax, dword [esp + 0x1b4]
mov dword [eax], esi
mov dword [esp + 0xe0], eax
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0xa0], xmm0
movss dword [esp + 0x90], 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 + 0x3c], ecx
mov ecx, edx
shrd edx, eax, 0x10
mov dword [esp + 0xd0], edx
xor eax, eax
lea ecx, [0x157af93]
lea edi, [0x157af94]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10008c15
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10008c36
shld dword [esp + 0x20], eax, 4
inc edx
test ecx, ecx
mov eax, esi
jne 0x10008bf0
mov edx, dword [esp + 0x90]
mov ebx, dword [ebp + 8]
test edx, edx
je 0x10008d59
mov eax, dword [esp + 0x3c]
movzx ecx, byte [esp + 0xb0]
mov edi, dword [esp + 0x60]
movd xmm1, edx
mov dword [esp + 0x90], edx
shl eax, 8
mov dword [esp], edi
movzx eax, ax
or ecx, eax
mov eax, dword [esp + 0xd0]
shl eax, 0x10
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0xe0]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], eax
mov eax, dword [0x157e000]
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10008cc4
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x10008cd7
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0xe0]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x90]
movaps xmm0, xmmword [esp + 0x20]
test edx, edx
movlps qword [esp + 0x118], xmm0
je 0x10008d59
movzx ecx, word [esp + 0x11d]
xor esi, 0xe8
mov word [esp + 0x1b5], cx
movzx ecx, byte [esp + 0x11f]
mov byte [esp + 0x1b7], cl
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x1b0], edx
mov edx, 0x157652a
mov byte [esp + 0x1b4], cl
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 6
call fcn.1004e410
add esp, 8
jmp 0x10009e60
cmp byte [esp + 0xb0], 0
je 0x10009e60
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157afc6
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xafee5d80
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10009e60
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10009e60
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x10009e1d
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
lea ecx, [esp + 0x1b0]
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.1002f900
add esp, 0x14
xor edi, edi
lea esi, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10008e6d
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10008e8e
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10008e48
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10008efe
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov edi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10008ff4
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x1000900a
movzx ecx, byte [esp + 0x1b4]
jmp 0x1000902e
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x100093ff
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x1b0]
mov eax, edi
mov dword [esp + 0x60], ebx
add eax, 4
adc ebx, 0
push 9
push 0x157afae
push ebx
push eax
call fcn.10038800
add esp, 0x10
lea ecx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10008f77
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10008f86
inc eax
test ecx, ecx
jne 0x10008f59
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10009383
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push esi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000938d
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x100093a5
movdqa xmm0, xmmword [esp + 0x90]
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 + 0x90], eax
je 0x1000902e
mov dword [esp + 0xe0], edx
xor edi, 0xbd
jmp 0x1000878d
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
xor eax, eax
mov byte [esp + 0x111], cl
mov byte [esp + 0x1c0], 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 [0x1576090]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x1576070]
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 + 0x1b0]
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 + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
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 + 0x78]
push dword [ebp + 0xc]
push 2
push eax
call fcn.10046c00
add esp, 0xc
xor edi, edi
lea edx, [0x157af93]
lea ebx, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10009194
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x100091b3
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1000916f
cmp dword [esp + 0x78], 0
je 0x10009225
mov esi, dword [esp + 0x84]
movsd xmm0, qword [esp + 0x7c]
mov edi, dword [esp + 0x88]
mov eax, dword [0x157e000]
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 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x1000934e
mov ecx, esp
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10009361
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x10009e1d
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
mov dword [esp + 0xd0], 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.1002ee80
add esp, 0x10
xor edi, edi
lea esi, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100092ae
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x100092cf
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10009289
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x10009412
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10009423
lea ecx, [esp + 0x78]
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10009440
mov eax, dword [esp + 0x1b4]
mov dword [eax], esi
mov dword [esp + 0xe0], eax
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0x100], xmm0
movss dword [esp + 0x90], xmm0
mov edx, dword [esp + 0x104]
jmp 0x10008ba4
movzx eax, byte [esp + 0x1b4]
jmp 0x100093b4
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 0x10008305
movzx eax, byte [esp + 4]
test al, al
je 0x100093ff
mov esi, dword [ebp + 0xc]
mov edx, edi
lea ecx, [esp + 0x1b0]
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x6c]
call fcn.10047200
mov edx, esi
add esp, 0x10
mov eax, dword [esp + 0x1bc]
cmp dword [esp + 0x1b0], 0
mov esi, dword [esp + 0x20]
jne 0x1000830c
mov esi, dword [esp + 0x1b8]
jmp 0x10008646
mov eax, dword [esp + 0x90]
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x10008646
movzx eax, word [esp + 0x1b4]
mov dword [esp + 0xb0], eax
jmp 0x10009486
movdqa xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xe0], 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 + 0x90], ecx
je 0x10009486
mov eax, dword [esp + 0xb0]
movzx ecx, word [esp + 0xb0]
xor dword [esp + 0x60], 0xc7
shr eax, 0x10
shr ecx, 8
mov dword [esp + 0xd0], eax
mov dword [esp + 0x3c], ecx
jmp 0x10008bc6
movzx eax, word [esp + 0xb0]
mov cl, 1
mov dword [esp + 0x3c], ecx
cmp eax, 0x64c0
jg 0x100094b2
cmp eax, 0x446b
je 0x100094cf
cmp eax, 0x4481
je 0x100094cf
cmp eax, 0x4c81
je 0x100094cf
jmp 0x100094c7
cmp eax, 0x64c1
je 0x100094cf
cmp eax, 0x6cc1
je 0x100094cf
cmp eax, 0x7481
je 0x100094cf
mov dword [esp + 0x3c], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xd0]
mov byte [esp + 0x1c0], 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 + 0x1b0]
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 + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov ecx, dword [esp + 0xfb]
mov eax, dword [esp + 0xf8]
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 + 0x78]
mov dword [edx], eax
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
lea esi, [0x157af93]
lea ecx, [0x157af94]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x100095ff
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
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 0x10009620
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x100095da
cmp dword [esp + 0x78], 0
mov ecx, edx
jne 0x100091ba
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x10009e1d
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
mov dword [esp + 0xd0], 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.1002ee80
add esp, 0x10
xor edi, edi
lea edx, [0x157af93]
lea esi, [0x157af94]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100096b6
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x100096d5
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10009691
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x10009749
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000975a
lea ecx, [esp + 0x78]
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10009777
movzx eax, word [esp + 0x1b4]
mov dword [esp + 0xb0], eax
jmp 0x10009794
movdqa xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xe0], 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 + 0x90], ecx
jne 0x10009459
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x100097ba
cmp eax, 0x446b
je 0x100097cf
cmp eax, 0x4481
je 0x100097cf
cmp eax, 0x4c81
je 0x100097cf
jmp 0x10009808
cmp eax, 0x64c1
je 0x100097cf
cmp eax, 0x7481
je 0x100097cf
cmp eax, 0x6cc1
jne 0x10009808
cmp byte [esp + 0x3c], 0
mov al, 1
mov dword [esp + 0xb0], eax
je 0x10009802
mov dword [esp + 0x3c], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x90], 0
jmp 0x10008bc6
mov al, 1
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0xd0]
mov byte [esp + 0x1c0], 2
mov dword [esp + 0x20], 0
mov edx, ebx
mov edi, esi
mov eax, ebx
mov ecx, esi
xor edx, 0xffffffe0
add eax, 0x1f
not edi
adc ecx, 0
or edi, edx
mov edi, 0
mov edx, 1
cmovne edx, ebx
cmove ecx, edi
cmove eax, edi
cmove esi, edi
cmp eax, edx
mov edi, ecx
mov dword [esp + 4], esi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x10], 0
sbb edi, 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 + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov ecx, dword [esp + 0xfb]
mov eax, dword [esp + 0xf8]
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 + 0x78]
mov dword [edx], eax
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
lea edi, [0x157af93]
lea ecx, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edi]
mov edi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x10009938
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
add bl, 0xa9
mov ecx, ebx
mov ebx, esi
movzx edx, cl
lea ecx, [edi + 1]
shl ebx, 4
or edx, ebx
test eax, eax
cmove ecx, edi
je 0x10009959
shld dword [esp + 0x20], esi, 4
inc eax
test edi, edi
mov esi, edx
jne 0x10009913
cmp dword [esp + 0x78], 0
mov ecx, edx
jne 0x100091ba
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x10009e1d
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffc
mov dword [esp + 0xd0], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002ee80
add esp, 0x10
xor edi, edi
lea edx, [0x157af93]
lea ebx, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100099ef
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10009a0e
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100099ca
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x10009a82
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10009a93
lea ecx, [esp + 0x78]
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10009ab0
movzx eax, word [esp + 0x1b4]
mov dword [esp + 0xb0], eax
jmp 0x10009acd
movdqa xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xe0], 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 + 0x90], ecx
jne 0x10009459
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x10009af3
cmp eax, 0x446b
je 0x10009b08
cmp eax, 0x4481
je 0x10009b08
cmp eax, 0x4c81
je 0x10009b08
jmp 0x10009b22
cmp eax, 0x64c1
je 0x10009b08
cmp eax, 0x7481
je 0x10009b08
cmp eax, 0x6cc1
jne 0x10009b22
cmp byte [esp + 0x3c], 0
mov al, 1
mov dword [esp + 0xb0], eax
jne 0x100097df
mov al, 1
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0xd0]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1c0], 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 + 0x1b0]
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 + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
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 + 0x78]
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
lea esi, [0x157af93]
lea ecx, [0x157af94]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x10009c47
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
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 0x10009c68
shld edi, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x10009c22
cmp dword [esp + 0x78], 0
mov ecx, ebx
jne 0x100091ba
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x10009e1d
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add esi, 0xfffffffc
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002ee80
add esp, 0x10
xor edi, edi
lea edx, [0x157af93]
lea esi, [0x157af94]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10009cf3
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10009d18
shld ebx, edi, 4
mov edi, dword [esp + 0x60]
inc eax
test edx, edx
jne 0x10009cce
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10009d85
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10009d96
lea ecx, [esp + 0x78]
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10009db0
movzx eax, word [esp + 0x1b4]
mov dword [esp + 0xb0], eax
jmp 0x10009dcd
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xe0], 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 + 0x90], ecx
jne 0x10009459
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x10009df3
cmp eax, 0x446b
je 0x10009e08
cmp eax, 0x4481
je 0x10009e08
cmp eax, 0x4c81
je 0x10009e08
jmp 0x10009e1d
cmp eax, 0x64c1
je 0x10009e08
cmp eax, 0x7481
je 0x10009e08
cmp eax, 0x6cc1
jne 0x10009e1d
cmp byte [esp + 0x3c], 0
je 0x10009e1d
mov al, 1
mov dword [esp + 0xb0], eax
jmp 0x100097df
lea ecx, [0x157af93]
lea edx, [0x157af94]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10009e4e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10009e5d
inc eax
test ecx, ecx
jne 0x10009e30
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1000a110
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1000a110
movzx eax, word [eax + 0x126]
not eax
test eax, 0x2022
jne 0x1000a110
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea edx, [0x157af93]
lea edi, [0x157af94]
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 0x10009ef5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10009f16
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10009ed0
cmp dword [esp + 0x1b0], 0
je 0x10009f7e
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x128
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000a0bf
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000a0c8
movq xmm0, qword [esp + 0x1b8]
movq xmm1, qword [esp + 0x1c0]
mov ebx, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 1
jne 0x1000a110
cmp dword [esp + 8], 0x7dd
jne 0x1000a110
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x170]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x1b0]
push 0xb
push 0x157b038
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x157af93]
lea edi, [0x157af94]
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 0x1000a035
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000a056
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1000a010
cmp dword [esp + 0x1b0], 0
je 0x1000b542
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x13c
mov ecx, esp
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000b657
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x1000b660
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 ebx, dword [ebp + 8]
test eax, eax
je 0x1000a110
mov eax, dword [esp + 0x38]
movdqa xmm0, xmmword [esp]
mov edx, 0x1576530
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
movdqu xmmword [esp + 0x1b0], xmm0
push eax
push 8
call fcn.1004e410
add esp, 8
mov ecx, dword [ebx]
lea edx, [esp + 0x78]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 0xcc]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x78], ecx
adc esi, 0
lea ecx, [esp + 0x1b0]
push 8
push 0x1579f04
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x1000a1db
cmp dword [esp + 0x1b8], 1
jne 0x1000a1db
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x1579fa4
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov edx, 0x82e3ee5a
mov ecx, dword [eax]
push dword [esp + 0x44]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000a206
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
jmp 0x1000a203
test eax, eax
je 0x1000a206
mov esi, dword [esp + 0x1c0]
test esi, esi
je 0x1000a206
mov ecx, esi
call fcn.1004da70
mov eax, dword [0x157e000]
push 4
push 8
push esi
push 0x157d260
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [ebx]
test byte [eax + 0x127], 0x20
je 0x1000ab46
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1000ab46
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
je 0x1000ab46
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.10043750
add esp, 4
xor esi, esi
lea edx, [0x157bb55]
lea ebx, [0x157bb56]
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 0x1000a285
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000a2a4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1000a260
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000a31c
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x41
mov edi, 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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x1000a32f
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x1000a342
mov eax, dword [esp + 0x1b4]
mov edi, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
jmp 0x1000a3a1
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
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], edi
test ecx, ecx
je 0x1000a398
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1b0], ecx
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov edx, 0x1576538
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 6
call fcn.1004e410
add esp, 8
jmp 0x1000ab46
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], 0
lea eax, [ecx + ecx*8]
add ecx, edx
lea eax, [eax + eax*2]
add ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, 5
jmp 0x1000a3e9
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x90]
add edx, 0x1c
mov dword [esp + 0x20], eax
dec ecx
je 0x1000aa60
cmp edx, dword [esp + 0x60]
je 0x1000aa5c
mov dword [esp + 0x90], ecx
mov ecx, dword [ebx]
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 0x1000a3d0
cmp dword [esp + 0x20], 3
mov eax, 3
je 0x1000a3d4
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb0], edx
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], eax
push 2
push 0x157bb10
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10037100
add esp, 0x18
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x1000a5e1
cmp dword [esp + 0x1b8], 1
jne 0x1000a5e1
mov edi, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1c4]
mov dword [esp], 3
mov dword [esp + 4], 0x40
mov dword [esp + 8], 0x157bb40
mov dword [esp + 0xc], 1
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0xa0]
push 1
lea eax, [esp + 4]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push edi
call fcn.10037100
add esp, 0x18
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x1000a5f3
cmp dword [esp + 0x1b8], 1
jne 0x1000a5f3
mov eax, dword [esp + 0x1c0]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0xd0], 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.1002f900
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea ebx, [0x157bb56]
xor edx, edx
lea esi, [0x157bb55]
nop
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000a555
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000a574
shld edx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1000a530
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000a618
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov edi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x120], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000a622
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x1000a638
test eax, eax
je 0x1000a606
lea ecx, [esp + 0x1bc]
call fcn.1004da70
jmp 0x1000a606
test eax, eax
je 0x1000a603
lea ecx, [esp + 0x1bc]
call fcn.1004da70
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
xor eax, eax
add eax, dword [esp + 0x20]
jmp 0x1000a3d4
movzx ecx, byte [esp + 0x1b4]
jmp 0x1000a647
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 ecx, dword [esp + 4]
test eax, eax
jne 0x1001487c
mov edi, dword [esp + 0xa0]
movzx eax, cl
mov esi, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xe0]
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.1002f900
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x157bb56]
xor edx, edx
lea ebx, [0x157bb55]
nop dword [eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000a6c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000a6e4
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1000a6a0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000a750
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov edi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov ebx, dword [ebp + 8]
je 0x1000a764
lea ecx, [esp + 0x78]
call fcn.1004da70
xor esi, esi
jmp 0x1000a77c
movzx ecx, byte [esp + 0x1b4]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
jmp 0x1000a792
movdqa xmm0, xmmword [esp + 0x130]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov esi, ecx
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xb0]
test eax, eax
jne 0x10014a29
mov eax, ecx
and al, 0xc7
cmp al, 0x44
jne 0x1000a8c8
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
push 0
push dword [esp + 0xd4]
push dword [esp + 0xe8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f900
add esp, 0x14
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000a98b
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1bc]
movq xmm0, qword [esp + 0x1b4]
xor edi, edi
mov ecx, 0xfffffff9
lea esi, [0x157bb56]
lea ebx, [0x157bb55]
mov dword [esp + 0xe0], eax
xor eax, eax
nop
movzx edx, byte [ebx]
mov ebx, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1000a835
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x1000a854
shld eax, edi, 4
inc ecx
test ebx, ebx
mov edi, edx
jne 0x1000a810
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xe0]
mov esi, edx
mov dword [esp + 0x1b0], eax
mov eax, dword [0x157e000]
movq qword [esp + 0x1b4], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000a9eb
lea ecx, [esp + 0x40]
call fcn.1004da70
mov dword [esp + 0xd0], 0
jmp 0x1000aa08
not cl
test cl, 0x84
jne 0x1000a60d
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
push 0
push dword [esp + 0xd4]
push dword [esp + 0xe8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002e930
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x157bb56]
xor edx, edx
lea ebx, [0x157bb55]
nop word cs:[eax + eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000a945
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000a964
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1000a920
mov eax, dword [esp + 0x1b0]
mov esi, dword [esp + 0x1b4]
test eax, eax
jne 0x10014f71
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
mov ecx, esi
jmp 0x1000aa2b
movzx eax, byte [esp + 0x1b4]
lea edx, [0x157bb56]
lea ecx, [0x157bb55]
mov esi, eax
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 0x1000a9ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1000a9dd
inc eax
test ecx, ecx
jne 0x1000a9b0
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
mov ecx, esi
jmp 0x1000aa28
movdqa xmm0, xmmword [esp + 0xd0]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x1b0]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x1b4]
test eax, eax
jne 0x10014e12
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 0x1000a60f
mov eax, dword [esp + 0x20]
lea edx, [0x157bb55]
lea esi, [0x157bb56]
mov ecx, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000aa9e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1000aaad
inc ecx
test edx, edx
jne 0x1000aa80
mov ecx, dword [esp + 0x3c]
mov ebx, dword [ebp + 8]
dec dword [ecx]
cmp eax, 3
jne 0x1000ab46
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157bb5d
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x9fff997c
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000ab46
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
lea esi, [esp + 0x1b0]
lea edx, [esp + 0x178]
mov ecx, esi
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
cmp dword [esp + 0x1b0], 0
je 0x1000ac8f
movdqu xmm0, xmmword [esp + 0x1b4]
movd eax, xmm0
test eax, eax
je 0x1000ab9f
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x157653e
mov ecx, dword [eax]
push esi
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x1000ac05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000ac26
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1000abe0
cmp dword [esp + 0x1b0], 0
je 0x1000adbf
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x50
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000aeff
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000af08
cmp dword [esp + 0x1b8], 0
jne 0x1000ab9f
cmp dword [esp + 0x1bc], 0x7e3
jne 0x1000ab9f
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x1c4]
mov esi, dword [esp + 0x1c0]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 7
push 0x157bbb0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push esi
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x157bb55]
lea edx, [0x157bb56]
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 0x1000ad35
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000ad56
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000ad10
cmp dword [esp + 0x1b0], 0
je 0x1000b197
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x76
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000b2e5
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000b2ee
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1000af4e
cmp dword [esp + 8], 0x7e3
jne 0x1000af4e
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 0xa
push 0x1578980
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x1000ae75
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000ae96
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1000ae50
cmp dword [esp + 0x1b0], 0
je 0x1000b23e
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x57
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000b32b
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000b334
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 0x1000af4e
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x1576546
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 5
call fcn.1004e410
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
cmp ecx, 7
mov dword [esp + 0x1b0], ecx
jae 0x1000afb6
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000af9e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1000bcab
inc eax
test ecx, ecx
jne 0x1000af80
jmp 0x1000bcab
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x157afbd
call 0x10055e80
add esp, 8
cmp ax, 1
jne 0x1000af62
mov esi, edx
cmp dx, 3
jb 0x1000af62
mov eax, dword [esp + 0x38]
mov edx, 0x1579ea8
mov edi, dword [eax]
lea eax, [esp + 0x1b0]
mov ecx, edi
push eax
push 0x16
call fcn.1004e000
add esp, 8
movzx ecx, si
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000b03e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1000b04d
inc eax
test edx, edx
jne 0x1000b020
mov eax, dword [ebp + 8]
add ecx, 0xfffffffe
mov eax, dword [eax]
mov edx, dword [eax + 0x12c]
cmp ecx, edx
jae 0x10016285
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffffc00
add esi, dword [edx + ecx*8 + 8]
cmp esi, 0xbff
ja 0x1000bcab
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 0x1000bcab
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x20], edi
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x60], ebx
mov edx, dword [eax]
push ebx
mov dword [esp + 0x94], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f210
add esp, 0x10
xor edi, edi
lea ebx, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000b105
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000b126
shld esi, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1000b0e0
cmp dword [esp + 0x1b0], 0
je 0x1000b36a
xor ecx, 0x8f
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov edi, ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000b42d
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000b436
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000ab9f
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157bc3c
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x1e0c01b6
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000ab9f
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000ab9f
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000af4e
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578a51
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xfdf0f7ce
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c6f
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000af4e
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000af4e
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd xmm1, eax
lea esi, [esp + 0x1b0]
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
movd eax, xmm0
test eax, eax
jne 0x1000ab81
jmp 0x1000ab9f
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1000af29
jmp 0x1000af4e
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x60]
or ecx, dword [esp + 0x1c4]
or eax, dword [esp + 0x1c0]
or eax, ecx
mov eax, dword [esp + 0x90]
jne 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0x10
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f210
add esp, 0x10
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000b3f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000b414
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1000b3d0
cmp dword [esp + 0x1b0], 0
je 0x1000b6a0
xor ecx, 0x95
jmp 0x1000b13a
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x90]
mov esi, eax
shr eax, 8
shld esi, edi, 0x18
movq qword [esp], xmm0
movd edx, xmm0
mov ecx, dword [esp + 4]
shld edi, ecx, 0x18
test edx, edx
je 0x1000b4ab
mov dword [esp + 0x1b0], edx
mov byte [esp + 0x1b4], cl
mov ecx, dword [esp + 0x20]
mov word [esp + 0x1bd], ax
shr eax, 0x10
mov dword [esp + 0x1b5], edi
mov dword [esp + 0x1b9], esi
mov edx, 0x157654b
mov byte [esp + 0x1bf], al
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
jmp 0x1000bcab
test cl, 1
je 0x1000bcab
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578a68
call fcn.1002c110
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.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000bcab
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000bcab
mov eax, dword [esp + 0x1b8]
or eax, dword [esp + 0x1bc]
je 0x1000b687
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c0]
lea edx, [esp + 0x114]
mov dword [esp + 0x114], ecx
lea ecx, [esp + 0x1b0]
push 1
push 0x157afe0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ecx, ecx
lea edx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000b5cf
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000b5ee
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1000b5aa
cmp dword [esp + 0x1b0], 0
je 0x10014384
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor ebx, 0xf7
mov ecx, esp
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10014b29
lea ecx, [esp + 0x40]
call fcn.1004da70
xor edx, edx
jmp 0x10014b32
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd eax, xmm0
test eax, eax
jne 0x1000a0e5
jmp 0x1000a110
xor eax, eax
mov dword [esp], 0
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x1000a0e5
jmp 0x1000a110
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c4]
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 + 0x90]
jae 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0x50
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f210
add esp, 0x10
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000b734
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000b753
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1000b70f
cmp dword [esp + 0x1b0], 0
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
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 + 0x90]
jb 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0x90
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
xor edi, edi
call fcn.1002f210
add esp, 0x10
lea ecx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000b805
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000b824
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1000b7e0
cmp dword [esp + 0x1b0], 0
mov ecx, ebx
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
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 + 0x90]
jb 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0xd0
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f210
add esp, 0x10
lea ecx, [0x1578a49]
lea esi, [0x1578a4a]
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 0x1000b8d8
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000b8f7
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1000b8b3
cmp dword [esp + 0x1b0], 0
mov ecx, ebx
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
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 + 0x90]
jb 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0x110
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f210
add esp, 0x10
lea ecx, [0x1578a49]
lea esi, [0x1578a4a]
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 0x1000b9ab
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000b9ca
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1000b986
cmp dword [esp + 0x1b0], 0
mov ecx, ebx
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
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 + 0x90]
jb 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0x150
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f210
add esp, 0x10
lea ecx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000ba87
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx edi, bh
shl esi, 4
or edi, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x1000baab
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, edi
jne 0x1000ba62
cmp dword [esp + 0x1b0], 0
mov ecx, edi
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
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 + 0x90]
jb 0x1000bcab
mov edi, dword [ebp + 0xc]
add eax, 0x190
lea ecx, [esp + 0x1b0]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f210
add esp, 0x10
lea ecx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000bb68
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx edi, bh
shl esi, 4
or edi, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x1000bb8c
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, edi
jne 0x1000bb43
cmp dword [esp + 0x1b0], 0
mov ecx, edi
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov esi, 0xffffffff
mov edi, 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 + 0x90]
mov eax, 0
sbb eax, ecx
mov eax, 0
sbb eax, edx
jb 0x1000bcab
mov eax, dword [ebp + 0xc]
add esi, 0x1d0
lea ecx, [esp + 0x1b0]
adc edi, 0
mov edx, dword [eax]
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f210
add esp, 0x10
lea ecx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000bc4a
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx edi, bh
shl esi, 4
or edi, esi
lea esi, [ecx + 1]
test eax, eax
cmove esi, ecx
je 0x1000bc6e
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, edi
jne 0x1000bc25
cmp dword [esp + 0x1b0], 0
mov ecx, edi
jne 0x1000b422
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, 0xffffffff
add eax, edx
adc ecx, edx
adc edx, dword [esp + 0x1c4]
cmp eax, 0xffffffff
sbb ecx, 0
sbb edx, 0
jb 0x1000b4b4
mov edi, dword [ebp + 8]
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1000bfc2
mov edx, edi
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.10043750
add esp, 4
xor edi, edi
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000bd15
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000bd36
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1000bcf0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000bdb1
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0xc4
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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov edi, dword [ebp + 8]
je 0x1000bdd1
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x1000bde4
mov esi, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
cmp dword [esi + 0x34], 5
je 0x1000be4f
jmp 0x1000bfc0
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
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 0x1000be3c
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x1b0], ecx
mov edx, 0x1576552
movsd qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
jmp 0x1000bfc2
pshufd xmm0, xmm0, 0x55
movd esi, xmm0
cmp dword [esi + 0x34], 5
jne 0x1000bfc0
mov ecx, 0x1578a6c
mov edx, 6
call section..rdata
mov esi, dword [esi + 0x30]
cmp dword [esi], 0
je 0x1000be6b
cmp dword [esi + 4], eax
je 0x1000be9f
cmp dword [esi + 0x1c], 0
je 0x1000be76
cmp dword [esi + 0x20], eax
je 0x1000be9f
cmp dword [esi + 0x38], 0
je 0x1000be81
cmp dword [esi + 0x3c], eax
je 0x1000be9f
cmp dword [esi + 0x54], 0
je 0x1000be8c
cmp dword [esi + 0x58], eax
je 0x1000be9f
cmp dword [esi + 0x70], 0
je 0x1000bfc0
cmp dword [esi + 0x74], eax
jne 0x1000bfc0
mov ecx, 0x1578a72
mov edx, 9
call section..rdata
cmp dword [esi], 0
je 0x1000beb8
cmp dword [esi + 4], eax
je 0x1000beec
cmp dword [esi + 0x1c], 0
je 0x1000bec3
cmp dword [esi + 0x20], eax
je 0x1000beec
cmp dword [esi + 0x38], 0
je 0x1000bece
cmp dword [esi + 0x3c], eax
je 0x1000beec
cmp dword [esi + 0x54], 0
je 0x1000bed9
cmp dword [esi + 0x58], eax
je 0x1000beec
cmp dword [esi + 0x70], 0
je 0x1000bfc0
cmp dword [esi + 0x74], eax
jne 0x1000bfc0
mov ecx, 0x1578a7b
mov edx, 0x14
call section..rdata
cmp dword [esi], 0
je 0x1000bf05
cmp dword [esi + 4], eax
je 0x1000bf39
cmp dword [esi + 0x1c], 0
je 0x1000bf10
cmp dword [esi + 0x20], eax
je 0x1000bf39
cmp dword [esi + 0x38], 0
je 0x1000bf1b
cmp dword [esi + 0x3c], eax
je 0x1000bf39
cmp dword [esi + 0x54], 0
je 0x1000bf26
cmp dword [esi + 0x58], eax
je 0x1000bf39
cmp dword [esi + 0x70], 0
je 0x1000bfc0
cmp dword [esi + 0x74], eax
jne 0x1000bfc0
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578a8f
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000bfc0
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
dec dword [ebx]
push 0x200
push 0
lea eax, [esp + 0x1b8]
push eax
call 0x10056350
add esp, 0xc
lea edx, [esp + 0x178]
mov ecx, esp
push edi
call fcn.1004c960
add esp, 4
xor esi, esi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000c025
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000c044
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1000c000
mov eax, dword [esp]
test eax, eax
je 0x1000c0b5
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x157e000]
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x1000c0c2
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor esi, esi
jmp 0x1000c0d8
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
jmp 0x1000c0f4
movdqa xmm0, xmmword [esp + 0x90]
mov esi, dword [esp + 0x7c]
movd eax, xmm0
mov dword [esi], eax
mov dword [esi + 4], edi
movq xmm0, qword [esp + 0x40]
mov ecx, dword [esp + 0x20]
movd eax, xmm0
xor ecx, 0xe8
test eax, eax
jne 0x1000c2fa
cmp ecx, 0x8000
mov eax, esi
xorps xmm0, xmm0
sbb eax, 0
jae 0x1000c115
movd eax, xmm0
test eax, eax
jne 0x1000c302
jmp 0x1000c336
mov eax, dword [ebx]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10015feb
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor edi, edi
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov eax, dword [esp + 0x90]
mov ecx, esi
sub eax, edx
sbb ecx, 0
cmovb eax, edi
cmovb ecx, edi
cmp eax, 0x8000
sbb ecx, 0
jb 0x1000c2fa
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x20], 0
mov dword [esp + 0xb0], esi
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10036630
add esp, 8
lea esi, [0x1578a49]
lea ecx, [0x1578a4a]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1000c1c5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
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 0x1000c1e6
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1000c1a0
cmp dword [esp], 0
je 0x1000c246
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x157e000]
mov edi, edx
lea ecx, [esp + 0x40]
xor edi, 0xf4
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000c2e1
lea ecx, [esp + 0x78]
call fcn.1004da70
xor esi, esi
jmp 0x1000c2ec
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 8]
jne 0x1001784b
mov eax, dword [esp + 8]
mov edx, dword [ecx + 0x18]
mov esi, dword [esp + 0xb0]
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0xd0], ecx
mov ecx, esp
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x150], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
adc esi, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x1b8]
push edi
push esi
push eax
push dword [esp + 0x74]
mov dword [esp + 0x158], ebx
push ebx
call fcn.1002e130
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1000ce2b
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x130], ecx
jmp 0x1000cf94
mov eax, esi
mov esi, dword [esp + 0x44]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov ebx, dword [ebp + 8]
mov ecx, edi
movdqa xmm0, xmmword [esp + 0x90]
movd eax, xmm0
test eax, eax
je 0x1000c336
mov eax, dword [esp + 0x38]
movq qword [esp + 0x1b0], xmm0
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], esi
mov edx, 0x1576559
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1000c547
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x78]
adc esi, 0
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x1b0]
push 3
push 0x1578ac8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000c3c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000c3e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000c3a0
cmp dword [esp + 0x1b0], 0
je 0x1000c447
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000c4e7
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x1000c4f0
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000c547
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578b04
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xebe78076
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c74
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000c547
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000c547
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1000c547
xor edi, 0x131
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1b0], ecx
mov edx, 0x1576560
mov dword [esp + 0x1b8], edi
movd dword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000c5a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000c5c6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000c580
cmp dword [esp + 0x1b0], 0
je 0x1000c62e
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x15a
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000c772
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000c77b
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1000c7c1
cmp dword [esp + 8], 0x1ec
jne 0x1000c7c1
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 0xa
push 0x1578ba0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000c6e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000c706
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1000c6c0
cmp dword [esp + 0x1b0], 0
je 0x1000ca43
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x161
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000cbef
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000cbf8
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 0x1000c7c1
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x1576567
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
xorps xmm0, xmm0
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
movaps xmmword [esp + 0x40], xmm0
push dword [ebp + 0xc]
push edi
call fcn.1004c490
add esp, 8
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000c825
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000c846
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1000c800
cmp dword [esp + 0x1b0], 0
je 0x1000c8ba
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x186
mov dword [esp + 0xa0], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1000ca0e
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x1000ca17
movq xmm0, qword [esp + 0x1b8]
movq xmm1, qword [esp + 0x1c0]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
pxor xmm1, xmm1
cmp dword [esp + 4], 0
jne 0x1000cc59
cmp dword [esp + 8], 0x13418bf
mov ebx, dword [ebp + 8]
jne 0x1000cc5c
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x100]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x1b0]
push 9
push 0x1578c74
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x1000c975
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000c996
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1000c950
cmp dword [esp + 0x1b0], 0
je 0x1000caea
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x18e
mov dword [esp + 0xa0], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1000cc2e
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x1000cc37
mov eax, dword [esp + 0x7c]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, 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
jne 0x1000cc64
jmp 0x1000cc8a
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000c7c1
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578c68
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x36c5fd6c
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c75
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000c7c1
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000c7c1
mov eax, dword [esp + 0x1b8]
pxor xmm1, xmm1
or eax, dword [esp + 0x1bc]
je 0x1000cc59
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x178]
push dword [ebp + 8]
call fcn.1004c960
add esp, 4
xor ecx, ecx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000cb55
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000cb74
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1000cb30
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000ce51
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1000d22e
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor edi, edi
jmp 0x1000d241
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1000c79c
jmp 0x1000c7c1
mov eax, dword [esp + 0x7c]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm1, qword [esp + 4]
movd xmm0, eax
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
mov ebx, dword [ebp + 8]
movd eax, xmm1
test eax, eax
je 0x1000cc8a
mov eax, dword [esp + 0x38]
movdqu xmmword [esp + 0x1b0], xmm1
mov edx, 0x157656e
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
mov eax, dword [ebx]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x1000d437
mov edx, dword [eax + 0x128]
lea esi, [ecx + ecx*4]
mov ecx, dword [edx + esi*8 - 0x20]
lea edi, [ecx - 0x20000]
cmp edi, 0x1dffff
ja 0x1000d437
lea edx, [edx + esi*8]
mov esi, 0x636f6c
movq xmm0, qword [edx - 0x28]
mov edx, 0x6c65722e
movq qword [esp + 0x78], xmm0
xor edx, dword [esp + 0x78]
xor esi, dword [esp + 0x7b]
or esi, edx
je 0x1000cd03
mov edx, 0x7273722e
movzx esi, word [esp + 0x7c]
xor edx, dword [esp + 0x78]
xor esi, 0x63
or esi, edx
jne 0x1000d437
lea edx, [eax + 0x28]
cmp dword [edx], 0
jne 0x1000cd0f
jmp 0x1000d437
lea edx, [eax + 0x40]
cmp dword [edx], 0
je 0x1000d437
cmp dword [edx + 4], ecx
jae 0x1000d437
mov esi, dword [eax + 0xcc]
cmp dword [eax + 0x14c], esi
jbe 0x1000d437
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
adc edi, 0
mov dword [esp + 0xa0], eax
push 2
push 0x1578d6c
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000cda5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000cdc6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000cd80
cmp dword [esp + 0x1b0], 0
je 0x1000ce68
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000d3d7
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x1000d3e0
cmp dword [esp + 4], 0x10
jne 0x1000cf0f
mov dword [esp + 0xe0], 0
mov dword [esp + 0x130], 0
jmp 0x1000cf94
mov ebx, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1bc]
pxor xmm1, xmm1
jmp 0x1000d271
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000d437
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578d94
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000d437
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000d437
xor ecx, ecx
lea edx, [0x1578611]
lea edi, [0x1578612]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000cf49
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000cf68
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1000cf24
movdqa xmm0, xmmword [0x15760a0]
xor ebx, 0x91
mov dword [esp + 0x130], 0
mov dword [esp + 0xe0], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor esi, esi
lea edi, [0x1578a49]
lea ebx, [0x1578a4a]
mov ecx, 0xfffffff9
xor eax, eax
nop dword [eax]
movzx edx, byte [edi]
mov edi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1000cfd5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x1000cff4
shld eax, esi, 4
inc ecx
test edi, edi
mov esi, edx
jne 0x1000cfb0
mov eax, dword [esp + 0xe0]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x20], edx
test eax, eax
je 0x1000d0a6
mov edi, dword [esp + 0x130]
mov dword [esp], eax
mov eax, dword [0x157e000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x78], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000d06d
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ecx, ecx
jmp 0x1000d083
movdqa xmm0, xmmword [esp + 0xe0]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
movq xmm1, qword [esp]
mov edi, dword [esp + 0x90]
movd eax, xmm1
test eax, eax
je 0x1000d0a6
xor dword [esp + 0x20], 0xfc
mov edi, ecx
jmp 0x1000eda7
xor eax, eax
cmp dword [esp + 0x1b0], 0x6578652e
je 0x1000d1ac
cmp dword [esp + 0x1b1], 0x6578652e
mov eax, 1
je 0x1000d1ac
cmp dword [esp + 0x1b2], 0x6578652e
mov eax, 2
je 0x1000d1ac
cmp dword [esp + 0x1b3], 0x6578652e
mov eax, 3
je 0x1000d1ac
cmp dword [esp + 0x1b4], 0x6578652e
mov eax, 4
je 0x1000d1ac
cmp dword [esp + 0x1b5], 0x6578652e
mov eax, 5
je 0x1000d1ac
cmp dword [esp + 0x1b6], 0x6578652e
mov eax, 6
je 0x1000d1ac
cmp dword [esp + 0x1b7], 0x6578652e
mov eax, 7
je 0x1000d1ac
cmp dword [esp + 0x1b8], 0x6578652e
mov eax, 8
je 0x1000d1ac
cmp dword [esp + 0x1b9], 0x6578652e
mov eax, 9
je 0x1000d1ac
cmp dword [esp + 0x1ba], 0x6578652e
mov eax, 0xa
je 0x1000d1ac
cmp dword [esp + 0x1bb], 0x6578652e
mov eax, 0xb
je 0x1000d1ac
cmp dword [esp + 0x1bc], 0x6578652e
mov eax, 0xc
je 0x1000d1ac
xor eax, eax
jmp 0x1000eda7
mov edx, dword [esp + 0x150]
add edi, eax
mov ecx, esp
adc esi, 0
add edi, 0xfffffdf0
adc esi, 0xffffffff
push 0
push 0x200
lea eax, [esp + 0x1b8]
push eax
push esi
push edi
push dword [esp + 0x74]
push dword [esp + 0x158]
call fcn.1002e130
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1000d208
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x60], ecx
jmp 0x1000ecad
cmp dword [esp + 4], 0x200
jne 0x1000ec2b
mov dword [esp + 0x90], 0
mov dword [esp + 0x60], 0
jmp 0x1000ecad
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [esp + 0x7c]
movd eax, xmm0
mov dword [edi], eax
mov dword [edi + 4], esi
movq xmm0, qword [esp]
xor ebx, 0x194
pxor xmm1, xmm1
movd eax, xmm0
test eax, eax
je 0x1000d271
movd xmm1, ebx
movd xmm2, edi
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm0
jmp 0x1000cc59
cmp ebx, 0x8000
mov eax, edi
sbb eax, 0
jb 0x1000cc59
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10015feb
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, ebx
mov ecx, edi
sub eax, edx
sbb ecx, 0
cmovb eax, esi
cmovb ecx, esi
cmp eax, 0x8000
sbb ecx, 0
jb 0x1000cc59
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x90], 0
mov dword [esp + 0xb0], edi
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10036630
add esp, 8
lea edx, [0x1578a49]
lea ecx, [0x1578a4a]
mov eax, 0xfffffff9
xor esi, esi
movzx edx, byte [edx]
mov dword [esp + 0x20], ecx
mov ecx, edx
add cl, 0xd0
cmp cl, 0xa
jb 0x1000d337
or dl, 0x20
mov ecx, edx
add cl, 0x9f
cmp cl, 6
jae 0x100177c9
add dl, 0xa9
mov ecx, edx
mov edx, esi
movzx edi, cl
shl edx, 4
or edi, edx
mov edx, dword [esp + 0x20]
test eax, eax
lea ecx, [edx + 1]
cmove ecx, edx
je 0x1000d35f
shld dword [esp + 0x90], esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x1000d310
cmp dword [esp + 0x1b0], 0
je 0x10014101
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x19e
mov dword [esp + 0xa0], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x100147ad
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x100147b6
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1000d437
xor edi, 0x1dc
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1b0], ecx
mov edx, 0x1576575
mov dword [esp + 0x1b8], edi
movd dword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
mov eax, dword [ebx]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x1578d98
call 0x10055e80
add esp, 8
cmp ax, 1
jne 0x1000d5a5
mov eax, dword [ebx]
mov ecx, edx
movzx ecx, cx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10015b4f
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov esi, dword [edx + ecx*8 + 0xc]
add edi, esi
adc ebx, 0
cmp dword [eax + 0x14c], esi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xd0], ebx
jbe 0x1000d4b7
mov eax, dword [edx + ecx*8 + 0x10]
cmp eax, 0x1000
mov dword [esp + 0x150], eax
jae 0x1000d7fa
mov al, 1
mov dword [esp + 0x130], eax
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000d4fe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1000d50d
inc eax
test ecx, ecx
jne 0x1000d4e0
cmp byte [esp + 0x130], 0
mov ebx, dword [ebp + 8]
jne 0x1000d5a5
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578d9d
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xc39eb295
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c71
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000d5a5
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.10043750
add esp, 4
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000d605
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000d626
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000d5e0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000d69f
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor edi, 0x238
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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x1000d6bf
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x1000d6d2
mov eax, dword [esp + 0x1b4]
mov edi, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 0x34]
dec dword [edi]
cmp eax, 1
je 0x1000d704
jmp 0x1000ddbe
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
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], edi
test ecx, ecx
jne 0x1000dd84
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov eax, dword [eax + 0x34]
dec dword [edi]
cmp eax, 1
jne 0x1000ddbe
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.10043750
add esp, 4
xor edi, edi
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000d755
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000d774
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1000d730
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000dc13
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x23c
mov edi, 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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x1000dd56
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x1000dd69
mov al, 1
pxor xmm0, xmm0
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x3c], 0
movdqa xmmword [esp], xmm0
mov dword [esp + 0x130], eax
nop dword [eax + eax]
cmp ecx, dword [esp + 0x150]
mov eax, esi
sbb eax, 0
jae 0x1000d4c0
mov eax, ecx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x90], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x1b0]
add eax, dword [esp + 0xe0]
mov edx, dword [edi]
adc esi, dword [esp + 0xd0]
push 1
push 0x10
lea ebx, [esp + 8]
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002e130
add esp, 0x1c
mov ecx, dword [esp + 0x1b0]
test ecx, ecx
je 0x1000d8a9
movq xmm0, qword [esp + 0x1b4]
mov eax, dword [esp + 0x1bc]
movdqa xmmword [esp + 0x140], xmm0
mov dword [esp + 0x90], eax
jmp 0x1000d950
xor ecx, ecx
cmp dword [esp + 0x1b4], 0x10
je 0x1000d950
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x1578612]
xor edx, edx
lea esi, [0x1578611]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000d8f5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000d914
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1000d8d0
movdqa xmm1, xmmword [0x15760a0]
xor ebx, 0x91
mov dword [esp + 0x90], 0
mov ecx, 0xc76970a8
movd xmm0, ebx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x140], xmm1
nop word cs:[eax + eax]
nop dword [eax]
inc dword [esp + 0x3c]
mov dword [esp + 0x120], ecx
xor esi, esi
mov ecx, 0xfffffff9
lea eax, [0x1578a4a]
lea ebx, [0x1578a49]
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx edx, byte [ebx]
mov ebx, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x1000d9a1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100177c9
add dl, 0xa9
mov eax, edx
mov edx, esi
movzx edi, al
lea eax, [ebx + 1]
shl edx, 4
or edi, edx
test ecx, ecx
cmove eax, ebx
je 0x1000d9c2
shld dword [esp + 0x20], esi, 4
inc ecx
test ebx, ebx
mov esi, edi
jne 0x1000d980
mov eax, dword [esp + 0x120]
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x90]
test eax, eax
je 0x1000da73
movdqa xmm0, xmmword [esp + 0x140]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x157e000]
movq qword [esp + 0x1b4], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x78], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000da4b
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ecx, ecx
movq xmm0, qword [esp + 0x1b0]
movd eax, xmm0
test eax, eax
je 0x1000da73
jmp 0x1000ea6a
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], ebx
movq xmm0, qword [esp + 0x1b0]
movd eax, xmm0
test eax, eax
jne 0x1000ea6a
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 [0x15760c0]
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 0x1000d4c0
add eax, dword [esp + 0xe0]
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x1b0]
adc esi, dword [esp + 0xd0]
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.1002e930
add esp, 0x14
xor esi, esi
mov eax, 0xfffffff9
lea ebx, [0x1578a4a]
xor edx, edx
lea ecx, [0x1578a49]
nop
mov edi, ecx
movzx ecx, byte [ecx]
mov dword [esp + 0x20], ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000db79
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
add cl, 0xa9
mov ch, cl
movzx edi, ch
mov ecx, dword [esp + 0x20]
mov ebx, esi
shl ebx, 4
or edi, ebx
test eax, eax
lea ebx, [ecx + 1]
cmove ebx, ecx
je 0x1000db9c
shld edx, esi, 4
inc eax
test ecx, ecx
mov esi, edi
jne 0x1000db50
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
test eax, eax
jne 0x1000e953
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x60]
lea eax, [ecx - 2]
cmp eax, 0xfd
jae 0x1000d4c0
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 0x1000d4c0
cmp dword [esp + 0x3c], 8
mov edx, dword [esp + 0x90]
jne 0x1000d820
mov dword [esp + 0x130], 0
jmp 0x1000d4c0
mov eax, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
cmp dword [eax + 0x34], 0
je 0x1000e781
mov eax, dword [eax + 0x30]
mov ecx, dword [ebx]
mov eax, dword [eax + 0xc]
cmp dword [ecx + 0x14c], eax
jbe 0x1000dd52
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
adc esi, 0
dec dword [edx]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 3
push 0x1578ef8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000dcc5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000dce6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1000dca0
cmp dword [esp + 0x1b0], 0
je 0x1000e87a
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x261
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000e921
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000e92a
dec dword [edx]
jmp 0x1000ddbe
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
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], edi
test ecx, ecx
je 0x1000e76c
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1b0], ecx
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov edx, 0x1576583
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1000dfc7
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x78]
adc esi, 0
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x1b0]
push 4
push 0x1578fb4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000de45
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000de66
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000de20
cmp dword [esp + 0x1b0], 0
je 0x1000dec7
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000df67
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x1000df70
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000dfc7
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579004
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xe2773f3
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c78
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000dfc7
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000dfc7
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1000dfc7
xor edi, 0x291
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1b0], ecx
mov edx, 0x157658b
mov dword [esp + 0x1b8], edi
movd dword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000e025
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000e046
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000e000
cmp dword [esp + 0x1b0], 0
je 0x1000e0ae
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x2a5
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000e1f2
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000e1fb
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov ebx, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1000e241
cmp dword [esp + 8], 0x1337c68
jne 0x1000e241
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 0xa
push 0x1579080
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000e165
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000e186
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1000e140
cmp dword [esp + 0x1b0], 0
je 0x1000e794
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x2b9
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000e83b
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000e844
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 ebx, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1000e241
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x1576593
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov eax, dword [ebx]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x1578d98
call 0x10055e80
add esp, 8
cmp ax, 1
jne 0x1000f06a
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov esi, dword [eax + 0x14c]
mov ebx, dword [eax + 0xc]
mov ecx, edi
add ecx, esi
mov dword [esp + 0x130], ecx
mov ecx, ebx
adc ecx, 0
mov dword [esp + 0x140], ecx
movzx ecx, dx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10015b5e
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x20], eax
mov eax, esi
mov esi, ebx
mov ebx, edi
mov dword [esp + 0x120], esi
mov esi, esi
add ebx, edx
adc esi, 0
cmp eax, edx
mov dl, 1
mov dword [esp + 0x90], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x150], edx
jbe 0x1000e2ef
mov edx, dword [esp + 0x20]
mov esi, eax
cmp dword [edx + ecx*8 + 0x10], 0x1000
jae 0x1000e3ce
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000e31e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1000e32d
inc eax
test ecx, ecx
jne 0x1000e300
cmp byte [esp + 0x150], 0
mov ebx, dword [ebp + 8]
jne 0x1000f06a
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157914c
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xcaa27b2b
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c7a
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000f06a
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000f06a
mov dword [esp + 0x174], esi
xor eax, eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x168], edi
inc ecx
mov dword [esp + 0xb0], eax
mov edi, dword [ebp + 0xc]
add eax, dword [esp + 0x90]
mov dword [esp + 0xe0], esi
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x1b0]
adc esi, dword [esp + 0x60]
mov edx, dword [edi]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002e930
add esp, 0x14
mov eax, 0xfffffff9
lea ebx, [0x1578a4a]
xor esi, esi
xor ecx, ecx
lea edx, [0x1578a49]
nop word cs:[eax + eax]
nop dword [eax]
mov edi, edx
movzx edx, byte [edx]
mov dword [esp + 0x20], ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1000e469
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
add dl, 0xa9
mov dh, dl
movzx edi, dh
mov edx, dword [esp + 0x20]
mov ebx, esi
shl ebx, 4
or edi, ebx
test eax, eax
lea ebx, [edx + 1]
cmove ebx, edx
je 0x1000e48c
shld ecx, esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x1000e440
mov ecx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b4]
test ecx, ecx
mov dword [esp + 0xd0], eax
jne 0x1000e9b7
test eax, eax
je 0x1000e2ef
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0xe0]
lea ecx, [esp + 0x1b0]
or eax, 4
mov edx, dword [edi]
add eax, dword [esp + 0x90]
adc esi, dword [esp + 0x60]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002e930
add esp, 0x14
xor edx, edx
mov eax, 0xfffffff9
lea ebx, [0x1578a4a]
lea esi, [0x1578a49]
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [esi]
mov edi, esi
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000e537
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x1000e558
shld dword [esp + 0x20], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x1000e510
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
test eax, eax
jne 0x1000ea0d
test ecx, ecx
je 0x1000e2ef
xor ecx, dword [esp + 0xd0]
cmp ecx, 0x68
jb 0x1000e2ef
cmp dword [esp + 0x174], ecx
jbe 0x1000e2ef
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xe0]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x1b0]
add eax, dword [esp + 0x90]
mov edx, dword [edi]
adc esi, dword [esp + 0x60]
add eax, 0x60
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
xor edx, edx
mov eax, 0xfffffff9
lea ebx, [0x1578a4a]
lea esi, [0x1578a49]
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000e625
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x1000e646
shld dword [esp + 0x20], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x1000e600
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000e6b1
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov ebx, dword [esp + 0x120]
je 0x1000e6d3
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x1000e6e6
mov edi, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x168]
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x3c]
jmp 0x1000e708
movdqa xmm0, xmmword [esp + 0x20]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp]
mov esi, dword [esp + 0x168]
mov ecx, dword [esp + 0x3c]
xor edi, 0x2fa
movd eax, xmm0
test eax, eax
jne 0x1000ea8b
add edi, dword [esp + 0xd0]
mov eax, 0xffffffff
adc edx, 0
cmovb edx, eax
cmovb edi, eax
cmp edi, esi
mov eax, edx
mov esi, ebx
sbb eax, ebx
jb 0x1000e2ef
cmp edi, dword [esp + 0x130]
sbb edx, dword [esp + 0x140]
jae 0x1000e2ef
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xe0]
add eax, 0x68
adc esi, 0
cmp ecx, 3
jne 0x1000e3e2
mov dword [esp + 0x150], 0
jmp 0x1000e2ef
pshufd xmm0, xmm0, 0x55
mov edx, edi
movd eax, xmm0
cmp dword [eax + 0x34], 0
jne 0x1000dc2e
xor ecx, ecx
xor edx, edx
push 0x1578da4
call fcn.10018ae0
add esp, 4
ud2
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000e241
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579148
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xd5bd7431
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c79
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000e241
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000e241
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov ebx, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1000e21c
jmp 0x1000e241
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000ddbe
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578f34
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x46ad7733
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c77
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000ddbe
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000ddbe
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
movq qword [esp], xmm0
mov dword [esp + 8], edi
test ecx, ecx
je 0x1000ddbe
movq xmm0, qword [esp + 4]
jmp 0x1000dd8a
mov esi, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x60], eax
mov eax, dword [0x157e000]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000eaa9
lea ecx, [esp + 0x78]
call fcn.1004da70
mov dword [esp + 0xe0], 0
xor edi, 0x20c
jmp 0x1000eabf
mov esi, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov eax, dword [0x157e000]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000ec11
lea ecx, [esp + 0x40]
call fcn.1004da70
mov dword [esp + 0xb0], 0
jmp 0x1000ec21
mov esi, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x60], eax
mov eax, dword [0x157e000]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000ef07
lea ecx, [esp + 0x40]
call fcn.1004da70
mov dword [esp + 0xb0], 0
jmp 0x1000ef17
xor edi, 0x205
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x60], eax
movd dword [esp + 0xb0], xmm0
jmp 0x1000eabf
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xb0], edx
mov dword [esp + 0x60], eax
movd dword [esp + 0xd0], xmm0
jmp 0x1000ef1e
mov eax, dword [esp + 0x44]
xor edi, 0x20c
mov dword [eax], esi
mov dword [esp + 0xe0], eax
mov dword [eax + 4], ebx
xor eax, eax
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
mov esi, 0xfffffff9
mov dword [esp + 0x90], 0
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [esp + 0x20], esi
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000eb09
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
add bl, 0xa9
mov edx, ebx
mov esi, eax
movzx ebx, dl
lea edx, [ecx + 1]
shl esi, 4
or ebx, esi
mov esi, dword [esp + 0x20]
test esi, esi
cmove edx, ecx
je 0x1000eb31
shld dword [esp + 0x90], eax, 4
inc esi
test ecx, ecx
mov eax, ebx
jne 0x1000eae0
movss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x60]
mov esi, dword [esp + 0xe0]
mov eax, dword [0x157e000]
xor ebx, 0x225
mov dword [esp], edi
unpcklps xmm1, xmm0
mov dword [esp + 4], esi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x1000eb8d
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x1000eb99
mov eax, dword [esp + 0x1b4]
mov dword [eax], edi
mov dword [eax + 4], esi
movaps xmm0, xmmword [esp + 0x20]
mov edx, 0x157657c
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x1b5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x1b7], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x1b4], cl
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 7
call fcn.1004e410
add esp, 8
mov ebx, dword [ebp + 8]
jmp 0x1000d5a5
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [esp + 0xb0], eax
mov dword [eax + 4], ebx
mov eax, 0x2e8
jmp 0x1000ef1c
xor ecx, ecx
lea edx, [0x1578611]
lea edi, [0x1578612]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1000ec65
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1000ec84
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1000ec40
movdqa xmm0, xmmword [0x15760a0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x90], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor esi, esi
lea eax, [0x1578a49]
lea ebx, [0x1578a4a]
mov ecx, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, byte [eax]
mov eax, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1000ecf5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
add dl, 0xa9
mov dh, dl
mov ebx, esi
movzx edx, dh
shl ebx, 4
or edx, ebx
lea ebx, [eax + 1]
test ecx, ecx
cmove ebx, eax
je 0x1000ed14
shld edi, esi, 4
inc ecx
test eax, eax
mov esi, edx
jne 0x1000ecd0
mov eax, dword [esp + 0x90]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x20], edx
test eax, eax
je 0x1000ede9
mov esi, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [0x157e000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x78], xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000ed7c
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edi, edi
jmp 0x1000ed92
movdqa xmm0, xmmword [esp + 0x90]
mov edi, dword [esp + 0x44]
movd eax, xmm0
mov dword [edi], eax
mov dword [edi + 4], esi
movq xmm1, qword [esp]
movd eax, xmm1
test eax, eax
je 0x1000ede9
xor dword [esp + 0x20], 0x10c
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x3c]
movd xmm0, eax
movss xmm1, xmm0
movaps xmmword [esp + 0x90], xmm1
push esi
call fcn.10032260
add esp, 4
mov ecx, esi
call fcn.1004d440
cmp dword [esi], 0
je 0x1000ee0b
mov ecx, dword [esp + 0x20]
mov esi, edi
jmp 0x1000c2f1
mov eax, 0xfffffe00
test eax, eax
je 0x1000ee35
movzx ecx, byte [esp + eax + 0x3b0]
inc eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x1000edee
jmp 0x1000eeb0
cmp dword [esi + 4], 0
mov ecx, dword [esp + 0x20]
jne 0x1000ee2e
mov eax, dword [0x157e000]
push 8
push 0x30
push esi
push 0x157d260
call dword [eax + 0x10]
mov ecx, dword [esp + 0x30]
add esp, 0x10
mov esi, edi
jmp 0x1000c2f1
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x1578a93
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov edx, 0x7c82936c
mov ecx, dword [eax]
push dword [esp + 0x44]
push esi
push 0xffff1c73
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000eeb0
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x3c]
push esi
call fcn.10032260
add esp, 4
mov ecx, esi
call fcn.1004d440
cmp dword [esi], 0
jne 0x1000eef2
cmp dword [esi + 4], 0
jne 0x1000eef2
mov eax, dword [0x157e000]
push 8
push 0x30
push esi
push 0x157d260
call dword [eax + 0x10]
add esp, 0x10
pxor xmm0, xmm0
movd eax, xmm0
test eax, eax
jne 0x1000c302
jmp 0x1000c336
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [esp + 0xb0], eax
mov dword [eax + 4], ebx
mov eax, 0x2ee
xor edi, eax
xor ebx, ebx
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x90], 0
nop dword [eax]
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000ef67
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
add cl, 0xa9
mov edx, ecx
mov ecx, ebx
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 0x1000ef8f
shld dword [esp + 0x90], ebx, 4
inc eax
test ecx, ecx
mov ebx, esi
jne 0x1000ef40
movss xmm0, dword [esp + 0xd0]
movss xmm1, dword [esp + 0x60]
mov ebx, dword [esp + 0xb0]
mov eax, dword [0x157e000]
xor esi, 0x310
mov dword [esp], edi
unpcklps xmm1, xmm0
mov dword [esp + 4], ebx
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x1000efeb
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x1000eff7
mov eax, dword [esp + 0x1b4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
mov edx, 0x157659b
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x1b5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x1b7], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0xd0]
mov byte [esp + 0x1b4], cl
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000f0c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000f0e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000f0a0
cmp dword [esp + 0x1b0], 0
je 0x1000f14e
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x322
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000f292
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000f29b
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1000f2e1
cmp dword [esp + 8], 0x7e3
jne 0x1000f2e1
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 6
push 0x15791d4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000f205
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000f226
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1000f1e0
cmp dword [esp + 0x1b0], 0
je 0x1000f96b
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x33a
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000fa12
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000fa1b
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 0x1000f2e1
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x15765a3
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
cmp dword [esp + 0x1a8], 0x63
ja 0x1000f571
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push edi
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000f355
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000f376
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000f330
cmp dword [esp + 0x1b0], 0
je 0x1000f3de
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x352
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1000f522
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1000f52b
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1000f571
cmp dword [esp + 8], 0x7e3
jne 0x1000f571
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 8
push 0x15792b4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1000f495
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000f4b6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1000f470
cmp dword [esp + 0x1b0], 0
je 0x1000fb18
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x36c
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10012b0d
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10012b16
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 0x1000f571
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x15765ab
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffffe00
add ecx, dword [eax + 0x2c]
cmp ecx, 0x7fdff
ja 0x1000fc66
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.100461b0
add esp, 4
xor esi, esi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x1000f5e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x1000f604
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1000f5c0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1000f681
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x382
mov dword [esp + 0x90], 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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1000f698
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor ebx, ebx
jmp 0x1000f6ab
mov eax, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1b4]
mov dword [esp + 0x90], eax
jmp 0x1000f6dd
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x7c]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov eax, dword [esp + 0x90]
movd edi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test edi, edi
je 0x1000f6d4
movsd xmm0, qword [esp + 0x44]
jmp 0x1000fc33
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x1579358
mov edx, 0x1c
call section..rdata
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x1b0], 4
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
test ecx, ecx
je 0x1000f7f0
imul ebx, ecx, 0x2c
xor edx, edx
mov dword [esp + 0x60], 4
mov dword [esp + 0x20], 0
add ebx, edi
add edi, 0x2c
jmp 0x1000f74b
cmp edi, ebx
lea edi, [edi + 0x2c]
je 0x1000f802
cmp dword [edi - 0x1c], 0
jne 0x1000f740
cmp eax, dword [edi - 0x18]
jne 0x1000f740
mov ecx, dword [edi - 8]
mov esi, 0xfffffe00
add ecx, esi
cmp ecx, 0x7fe00
jae 0x1000f740
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], eax
inc ecx
je 0x10017887
cmp ecx, dword [esp + 0x1b8]
jbe 0x1000f7b8
mov esi, ecx
call fcn.1004daa0
mov edx, esi
lea ecx, [esp + 0x1b0]
cmp eax, esi
jbe 0x1000f7ab
mov edx, eax
call fcn.1002cf70
mov edx, esi
lea ecx, [esp + 0x1b0]
cmp al, 8
je 0x1000f7b8
call fcn.1002cf70
cmp al, 8
jne 0x10017941
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
lea eax, [edi - 0x2c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xb0]
inc edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x20], edx
shr edx, 8
cmp edi, ebx
jne 0x1000f732
jmp 0x1000f802
mov dword [esp + 0x60], 4
xor edx, edx
mov dword [esp + 0x20], 0
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x1b8]
shl edx, 8
or eax, edx
mov dword [esp + 0xb0], ecx
je 0x1000f94d
mov esi, dword [esp + 0x60]
mov ecx, dword [ebp + 8]
mov edi, 0
mov eax, dword [esi]
mov ecx, dword [ecx]
mov eax, dword [eax + 0x20]
cmp dword [ecx + 0x14c], eax
jbe 0x1000f95f
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0xa0]
adc esi, 0
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 2
push 0x1579388
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000f8b5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000f8d6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000f890
cmp dword [esp + 0x1b0], 0
je 0x1000fa51
mov ebx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x1b4]
xor edi, 0x399
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x7c], eax
mov eax, dword [0x157e000]
movaps xmmword [esp + 0x20], xmm0
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov esi, dword [esp + 0x60]
je 0x1000fbbf
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ebx, ebx
jmp 0x1000fbd1
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x60]
xor edi, edi
jmp 0x1000fbf6
mov eax, dword [esp + 0xb0]
jmp 0x1000fbf6
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000f2e1
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157924c
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x41f68039
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c7b
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000f2e1
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000f2e1
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1000f2bc
jmp 0x1000f2e1
mov eax, dword [esp + 0x1b8]
mov esi, dword [esp + 0x60]
or eax, dword [esp + 0x1bc]
je 0x1000faf0
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x15793b0
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov edi, dword [esp]
mov edx, 0x6871a1e5
mov ecx, dword [eax]
push dword [esp + 4]
push edi
push 0xffff1c7d
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000faf0
mov ecx, dword [0x157e000]
push edx
push eax
push edi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0xb0]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10012f20
xor edi, edi
jmp 0x1000fc0d
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000f571
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579354
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x162d86a9
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c7c
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000f571
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000f571
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0xe0]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0xb0]
movq qword [esp], xmm0
mov dword [esp + 8], edi
movd edi, xmm0
movsd xmm0, qword [esp + 4]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000fc21
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x90]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test edi, edi
je 0x1000fc66
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1b0], edi
movlps qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], ebx
mov edx, 0x15765b3
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
cmp word [eax + 0x122], 3
jne 0x1000fea7
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x10015b6d
mov ecx, dword [eax + 0x128]
mov edx, 0xfffff800
add edx, dword [ecx + 0x38]
cmp edx, 0x480
jae 0x1000fea7
mov esi, dword [ecx + 0x34]
cmp dword [eax + 0x14c], esi
jbe 0x1000fea7
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x78]
lea ecx, [esp + 0x1b0]
adc edi, 0
mov dword [esp + 0x78], eax
push 8
push 0x1579438
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x1000fd25
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x1000fd46
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1000fd00
cmp dword [esp + 0x1b0], 0
je 0x1000fda7
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1000fe47
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x1000fe50
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x1000fea7
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x15794d8
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x6155e719
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c7e
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000fea7
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000fea7
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1000fea7
xor edi, 0x3cb
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1b0], ecx
mov edx, 0x15765bb
mov dword [esp + 0x1b8], edi
movd dword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov ecx, dword [ebx]
mov esi, dword [ecx + 0xcc]
test esi, esi
je 0x10010010
mov eax, dword [ecx + 0xc]
add esi, dword [ecx + 8]
adc eax, 0
test byte [ecx + 0x127], 0x20
je 0x10010010
mov ecx, dword [0x15760d0]
mov word [esp + 0x7c], 0xc300
mov word [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
lea ecx, [esp + 0x1b0]
push 5
push 6
lea edi, [esp + 0x48]
push edi
mov edi, esi
push eax
push esi
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002e130
add esp, 0x1c
mov ecx, dword [esp + 0x1b0]
test ecx, ecx
je 0x1000ff75
mov edx, dword [esp + 0x1b4]
mov edi, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
lea esi, [esp + 0x1b0]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1bc], eax
mov edx, 0x15765c3
mov ecx, dword [ecx]
push esi
push 3
call fcn.1004e410
add esp, 8
jmp 0x10010010
mov ecx, dword [esp + 0x1b4]
cmp ecx, 7
jae 0x10017873
cmp ecx, 6
jne 0x10010010
movzx ecx, word [esp + 0x44]
mov eax, dword [esp + 0x40]
xor cx, word [esp + 0x7c]
xor eax, dword [esp + 0x78]
movzx ecx, cx
or ecx, eax
jne 0x10010010
mov ecx, dword [ebx]
movq xmm0, qword [ecx + 0x30]
movd eax, xmm0
test eax, eax
mov dword [esp + 0xb0], eax
je 0x1001000d
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp eax, 0xc
jae 0x100132b1
lea ecx, [0x157d119]
lea edx, [0x157d11a]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1000fffe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1001000d
inc eax
test ecx, ecx
jne 0x1000ffe0
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push ebx
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea edi, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10010075
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10010096
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10010050
cmp dword [esp + 0x1b0], 0
je 0x100100fe
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x3df
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10010242
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1001024b
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov ebx, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x10010290
cmp dword [esp + 8], 0xc
jne 0x10010290
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 4
push 0x15794f8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100101b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x100101d6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10010190
cmp dword [esp + 0x1b0], 0
je 0x1001084d
xor esi, 0x413
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1001091f
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10010928
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 xmm1, xmmword [esp]
mov ebx, dword [ebp + 8]
movd eax, xmm1
test eax, eax
je 0x10010290
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm1
mov edx, 0x15765c6
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10010497
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x78]
adc esi, 0
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x1b0]
push 8
push 0x157972c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10010315
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10010336
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100102f0
cmp dword [esp + 0x1b0], 0
je 0x10010397
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10010437
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x10010440
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x10010497
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x15797cc
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x777a59a6
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c85
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10010497
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10010497
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10010497
xor edi, 0x447
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1b0], ecx
mov edx, 0x15765ce
mov dword [esp + 0x1b8], edi
movd dword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
mov eax, dword [ebx]
mov ecx, 0xfffff000
and ecx, dword [eax + 0x2c]
cmp ecx, 0x12000
jne 0x10010aba
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.100461b0
add esp, 4
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
xor esi, esi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10010505
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10010524
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100104e0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x100105a1
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x45d
mov dword [esp + 0x90], 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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x100105b8
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor ebx, ebx
jmp 0x100105cb
mov eax, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1b4]
mov dword [esp + 0x90], eax
jmp 0x100105fd
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x7c]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], esi
movq xmm0, qword [esp]
mov eax, dword [esp + 0x90]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test esi, esi
je 0x100105f4
movsd xmm0, qword [esp + 0x44]
jmp 0x10010a87
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x15797d0
mov edx, 0x16
call section..rdata
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x1b0], 4
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
test ecx, ecx
je 0x100106e9
imul ebx, ecx, 0x2c
mov edi, 4
xor edx, edx
xor ecx, ecx
add ebx, esi
jmp 0x1001065b
add esi, 0x2c
cmp esi, ebx
je 0x100106f2
cmp dword [esi], 0
je 0x10010650
cmp dword [esi + 4], 0xa
jne 0x10010650
cmp dword [esi + 0x10], 0
jne 0x10010650
cmp eax, dword [esi + 0x14]
jne 0x10010650
inc ecx
mov dword [esp + 0x20], eax
je 0x10017892
cmp ecx, dword [esp + 0x1b8]
jbe 0x100106ba
mov edi, ecx
call fcn.1004daa0
mov edx, edi
cmp eax, edi
jbe 0x100106a6
lea ecx, [esp + 0x1b0]
mov edx, eax
call fcn.1002cf70
mov edx, edi
cmp al, 8
je 0x100106ba
lea ecx, [esp + 0x1b0]
call fcn.1002cf70
cmp al, 8
jne 0x10017972
mov edi, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x20]
mov dword [edi + ecx*4], esi
inc ecx
add esi, 0x2c
mov edx, ecx
mov dword [esp + 0x1b4], ecx
shr edx, 8
cmp esi, ebx
jne 0x1001065b
jmp 0x100106f2
mov edi, 4
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x1b8]
mov eax, ecx
shl edx, 8
movzx esi, al
or esi, edx
mov dword [esp + 0x60], ebx
je 0x10010840
mov eax, dword [edi]
mov ecx, dword [ebp + 8]
mov esi, 0
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx]
cmp dword [ecx + 0x14c], eax
jbe 0x10010844
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0xa0]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xa0], ecx
adc esi, 0
lea ecx, [esp + 0x1b0]
push 2
push 0x1579808
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edi, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100107a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x100107c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10010780
cmp dword [esp + 0x1b0], 0
je 0x10010952
mov ebx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x1b4]
xor esi, 0x478
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x7c], eax
mov eax, dword [0x157e000]
movaps xmmword [esp + 0x20], xmm0
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [esp + 0xb0]
je 0x10010a16
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ebx, ebx
jmp 0x10010a28
xor esi, esi
jmp 0x10010844
mov eax, dword [esp + 0x60]
jmp 0x10010a4a
mov eax, dword [esp + 0x1b8]
xorps xmm1, xmm1
or eax, dword [esp + 0x1bc]
je 0x10010260
mov eax, dword [esp + 0x1c0]
mov esi, dword [esp + 0x1c4]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
push 1
push 0x1579648
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0x70], esi
push esi
mov dword [esp + 0xa4], eax
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x100108e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10010906
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100108c0
cmp dword [esp + 0x1b0], 0
je 0x10012b55
xor esi, 0x419
jmp 0x100101ea
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm1, qword [esp + 4]
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
jmp 0x10010263
mov eax, dword [esp + 0x1b8]
mov edi, dword [esp + 0xb0]
or eax, dword [esp + 0x1bc]
je 0x100109f4
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579830
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100109f4
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0x60]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10012fad
xor esi, esi
jmp 0x10010a61
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0xe0]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x60]
movq qword [esp], xmm0
mov dword [esp + 8], esi
movd esi, xmm0
movsd xmm0, qword [esp + 4]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10010a75
mov ecx, dword [0x157e000]
push edx
push eax
push edi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x90]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test esi, esi
je 0x10010aba
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1b0], esi
movlps qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], ebx
mov edx, 0x15765d6
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10010b25
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10010b46
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10010b00
cmp dword [esp + 0x1b0], 0
je 0x10010bae
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x48c
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10010cf2
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10010cfb
movq xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10010d44
cmp dword [esp + 8], 0x7e3
jne 0x10010d44
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 5
push 0x1579858
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x10010c65
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10010c86
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10010c40
cmp dword [esp + 0x1b0], 0
je 0x10011d9e
xor esi, 0x49f
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1001281d
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10012826
mov eax, dword [esp + 0x44]
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 xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x10010d44
mov eax, dword [esp + 0x38]
movdqu xmmword [esp + 0x1b0], xmm2
mov edx, 0x15765de
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push edi
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x10010da5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10010dc6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10010d80
cmp dword [esp + 0x1b0], 0
je 0x10010e2e
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x4c8
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10010f72
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10010f7b
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10010fc1
cmp dword [esp + 8], 0x13418bf
jne 0x10010fc1
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 0xd
push 0x15799a4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10010ee5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10010f06
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10010ec0
cmp dword [esp + 0x1b0], 0
je 0x10011e7f
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x4fb
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10012883
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1001288c
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 0x10010fc1
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x15765e6
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push edi
call fcn.1004c490
add esp, 8
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x10011025
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011046
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10011000
cmp dword [esp + 0x1b0], 0
je 0x100110ae
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x527
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100111f1
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x100111fa
movsd xmm0, qword [esp + 0x1b8]
movq xmm1, qword [esp + 0x1c0]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x10011244
cmp dword [esp + 8], 0x7a
jne 0x10011244
mov ecx, eax
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x100]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x1b0]
push 8
push 0x1579acc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10011165
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011186
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10011140
cmp dword [esp + 0x1b0], 0
je 0x10011f26
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x53a
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100128c2
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x100128cb
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
mov ecx, dword [esp]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
test ecx, ecx
je 0x10011244
mov eax, dword [esp + 0x38]
movaps xmm0, xmmword [esp]
mov edx, 0x15765ee
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
movups xmmword [esp + 0x1b0], xmm0
push eax
push 8
call fcn.1004e410
mov eax, dword [ebp + 0xc]
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push eax
push ebx
call fcn.1004c490
add esp, 8
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100112a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x100112c6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10011280
cmp dword [esp + 0x1b0], 0
je 0x1001132e
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x55d
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10011471
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1001147a
movsd xmm0, qword [esp + 0x1b8]
movq xmm1, qword [esp + 0x1c0]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100114c4
cmp dword [esp + 8], 0x7e3
jne 0x100114c4
mov ecx, eax
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x100]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x1b0]
push 4
push 0x1579b88
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100113e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011406
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100113c0
cmp dword [esp + 0x1b0], 0
je 0x10012061
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x56c
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100128ea
lea ecx, [esp + 0x40]
call fcn.1004da70
xor eax, eax
jmp 0x100128f3
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
mov esi, dword [esp]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
test esi, esi
je 0x100114c4
mov eax, dword [esp + 0x38]
movaps xmm0, xmmword [esp]
mov edx, 0x15765f6
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
movups xmmword [esp + 0x1b0], xmm0
push eax
push 8
call fcn.1004e410
mov eax, dword [ebp + 0xc]
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push eax
push ebx
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea edi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x10011525
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10011546
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10011500
cmp dword [esp + 0x1b0], 0
je 0x100115ae
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x582
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100116f2
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x100116fb
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10011740
cmp dword [esp + 8], 0x13418bf
jne 0x10011740
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 3
push 0x1579bf0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x10011665
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011686
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10011640
cmp dword [esp + 0x1b0], 0
je 0x10012188
xor esi, 0x5a8
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10012850
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10012859
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 xmm1, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm1
test eax, eax
je 0x10011740
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm1
mov edx, 0x15765fe
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push edi
call fcn.1004c490
add esp, 8
xor ebx, ebx
lea esi, [0x1578a49]
lea edx, [0x1578a4a]
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 0x100117a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x100117c6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10011780
cmp dword [esp + 0x1b0], 0
je 0x1001182e
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x5ca
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10011972
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1001197b
movsd xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100119c1
cmp dword [esp + 8], 0x134890d
jne 0x100119c1
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x1b0]
push 6
push 0x1579d58
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100118e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011906
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100118c0
cmp dword [esp + 0x1b0], 0
je 0x1001225f
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor edi, 0x5e3
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10012912
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1001291b
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 0x100119c1
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x1b0], xmm0
mov edx, 0x1576606
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 8
call fcn.1004e410
add esp, 8
lea edx, [esp + 0x178]
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
push edi
call fcn.1004c490
add esp, 8
xor edi, edi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x10011a25
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011a46
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10011a00
cmp dword [esp + 0x1b0], 0
je 0x10011aae
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x5f7
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10011c0c
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10011c15
movq xmm0, qword [esp + 0x1b8]
movq xmm1, qword [esp + 0x1c0]
mov ebx, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10011c5d
cmp dword [esp + 8], 0x7e3
jne 0x10011c5d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
add eax, 0x1000
mov edx, ecx
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0x1b0]
adc edx, 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0x3c], edx
mov edx, ebx
push dword [ebp + 0xc]
call fcn.100446d0
add esp, 4
xor esi, esi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x10011b65
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011b84
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10011b40
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10012306
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x5fe
mov dword [esp + 0x90], 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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10012951
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x10012964
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]
mov ebx, dword [ebp + 8]
test edi, edi
je 0x10011c5d
mov eax, dword [esp + 0x38]
movdqa xmm0, xmmword [esp]
mov edx, 0x157660e
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
movdqu xmmword [esp + 0x1b0], xmm0
push eax
push 8
call fcn.1004e410
add esp, 8
mov eax, dword [ebx]
cmp dword [eax + 0xec], 0xff30d
jne 0x100123a6
cmp word [eax + 0x122], 3
jb 0x100123a6
mov edx, ebx
mov dword [esp + 0xb0], eax
lea ecx, [esp + 0x1b0]
push dword [ebp + 0xc]
call fcn.100446d0
add esp, 4
xor esi, esi
lea edx, [0x157ac35]
lea ebx, [0x157ac36]
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 0x10011cd5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011cf4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10011cb0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10011d75
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
xor ecx, 0x11
mov dword [esp + 0x90], 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 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1001232f
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x10012342
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x100127b1
jmp 0x100163a5
mov eax, dword [esp + 0x1b8]
pxor xmm2, xmm2
or eax, dword [esp + 0x1bc]
je 0x10012a82
mov eax, dword [esp + 0x1c0]
mov esi, dword [esp + 0x1c4]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x90], eax
add eax, 8
mov dword [esp + 0x60], esi
adc esi, 0
push 1
push 0x15798bc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x10011e45
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011e66
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10011e20
cmp dword [esp + 0x1b0], 0
je 0x10012c68
xor esi, 0x4a7
jmp 0x10010c9a
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x10010fc1
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579aa8
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10010fc1
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10010fc1
mov eax, dword [esp + 0x1b8]
or eax, dword [esp + 0x1bc]
je 0x10012a8a
mov eax, dword [esp + 0x100]
mov byte [esp + 0x11a], 0
mov word [esp + 0x118], 0
mov edi, dword [esp + 0x1c4]
mov esi, dword [esp + 0x1c0]
lea ecx, [esp + 0x1b0]
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.1002f900
add esp, 0x14
xor esi, esi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x10011fc5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10011fe4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10011fa0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10012d31
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10012fbb
lea ecx, [esp + 0x78]
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10012fd8
mov eax, dword [esp + 0x1b8]
or eax, dword [esp + 0x1bc]
je 0x10012a98
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x1c4]
mov esi, dword [esp + 0x1c0]
lea ecx, [esp + 0x1b0]
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.1002f900
add esp, 0x14
xor esi, esi
lea edx, [0x1578a49]
lea ebx, [0x1578a4a]
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 0x100120f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10012114
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100120d0
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10012d45
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10013068
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ecx, ecx
jmp 0x1001307e
mov eax, dword [esp + 0x1b8]
xorps xmm1, xmm1
or eax, dword [esp + 0x1bc]
je 0x10011710
mov eax, dword [esp + 0x1c0]
mov esi, dword [esp + 0x1c4]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
push 5
push 0x1579c58
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0x70], esi
push esi
mov dword [esp + 0xa4], eax
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10012225
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10012246
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10012200
cmp dword [esp + 0x1b0], 0
je 0x10012d52
xor esi, 0x5ae
jmp 0x1001169a
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x100119c1
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579dd0
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100119c1
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100119c1
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x100129b5
jmp 0x100172d8
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x90]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10012799
movq xmm0, qword [esp + 0x44]
movq qword [esp], xmm0
mov dword [esp + 0x1b0], ecx
movq qword [esp + 0x1b4], xmm0
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x38]
mov edx, 0x1576616
mov ecx, dword [eax]
lea eax, [esp + 0x1b0]
push eax
push 6
call fcn.1004e410
add esp, 8
mov edi, dword [esp + 0xcc]
cmp byte [edi + 0x15], 0
je 0x100163c2
mov ecx, 0x1578122
mov edx, 8
call fcn.1001cfa0
test eax, eax
mov esi, 1
mov ecx, 0x157812a
mov edx, 6
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1001cfa0
test eax, eax
lea edi, [0x1578132]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x1578131]
xor ebx, ebx
mov dword [esp + 0x38], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10012435
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x10012454
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x10012410
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0xcc]
xor edx, 4
mov ebx, 0x4433
mov esi, 0x22110000
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x1b0]
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x90], ecx
mov edx, 0x157661c
push eax
push 5
call fcn.1004e410
add esp, 8
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x9c]
mov edx, dword [eax + 0x98]
xor ecx, ebx
xor edx, esi
or edx, ecx
jne 0x1001345d
cmp dword [eax + 0xec], 0x6d736b63
jne 0x1001345d
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1b0]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10036630
add esp, 8
lea edi, [0x157ac7c]
lea edx, [0x157ac7d]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], 0
movzx ebx, byte [edi]
mov edi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10012545
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
add bl, 0xa9
mov edx, ebx
mov ebx, dword [esp + 0x20]
movzx ecx, dl
lea edx, [edi + 1]
mov esi, ebx
shl esi, 4
or ecx, esi
test eax, eax
cmove edx, edi
je 0x1001256c
shld dword [esp + 0x38], ebx, 4
inc eax
test edi, edi
mov dword [esp + 0x20], ecx
jne 0x10012520
cmp dword [esp + 0x1b0], 0
je 0x100125d3
mov esi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov ebx, ecx
lea ecx, [esp + 0x40]
xor ebx, 0x1e
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10012753
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ecx, ecx
jmp 0x1001275c
mov esi, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x60]
mov eax, dword [esi + 0x2c]
cmp eax, dword [ebx + 8]
jne 0x1001784b
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0xcc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10015feb
mov edx, dword [esp + 0x1b8]
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x38], edx
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
cmp edx, 0x400
jne 0x10012788
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
pxor xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c0], 0
movdqa xmmword [esp + 0x1b0], xmm0
push 0
push 0x14
lea esi, [esp + 0x1b8]
push esi
push 0
push 0x400
push ebx
push eax
call fcn.1002e130
add esp, 0x1c
xor ecx, ecx
lea edx, [0x157ac7c]
lea edi, [0x157ac7d]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100126c5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x100126e4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100126a0
mov eax, dword [esp]
test eax, eax
je 0x10012b4c
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x157e000]
lea ecx, [esp + 0x78]
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 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10012e65
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor edx, edx
jmp 0x10012e78
mov ecx, dword [esp + 0x44]
mov dword [ecx], esi
mov dword [ecx + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [esp + 0xcc]
movq qword [esp], xmm0
movd eax, xmm0
mov edx, dword [esp + 4]
mov esi, edx
shr esi, 8
test eax, eax
jne 0x1001341b
jmp 0x1001345d
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], 0
jmp 0x100133a6
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x100163a5
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
xor eax, eax
mov edi, ecx
jmp 0x100127da
mov ecx, edi
sub edi, eax
jbe 0x100163a5
shr edi, 1
mov esi, dword [esp + 0x20]
xor edx, edx
add edi, eax
mov ebx, edi
shl ebx, 4
cmp dword [esi + ebx + 0xc], 0x67bbee4f
mov esi, 0xff
setne dl
cmovb edx, esi
cmp dl, 1
je 0x100127d0
movzx eax, dl
cmp eax, 0xff
jne 0x10012a1c
inc edi
mov eax, edi
mov edi, ecx
sub edi, eax
ja 0x100127da
jmp 0x100163a5
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], esi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x10010d16
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm1, qword [esp + 4]
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
jmp 0x10011713
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10010f9c
jmp 0x10010fc1
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd ecx, xmm0
jmp 0x10011211
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd esi, xmm0
jmp 0x10011491
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1001199c
jmp 0x100119c1
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x90]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x1001299d
movq xmm0, qword [esp + 0x44]
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
jmp 0x10011c32
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x100172d8
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor edi, edi
mov ecx, edx
mov dword [esp + 0x20], eax
jmp 0x100129da
mov edx, ecx
sub ecx, edi
jbe 0x100172d8
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 0x100129d0
movzx eax, al
cmp eax, 0xff
jne 0x10012aa6
inc ecx
mov edi, ecx
mov ecx, edx
sub ecx, edi
ja 0x100129da
jmp 0x100172d8
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ebx + 4]
test edx, edx
je 0x100163a5
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edi, dword [eax + ebx]
xor eax, eax
jmp 0x10012a43
mov ecx, edx
sub edx, eax
jbe 0x100163a5
shr edx, 1
xor ebx, ebx
add edx, eax
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0x5a0ddfdc
mov esi, 0xff
setne bl
cmovb ebx, esi
cmp bl, 1
je 0x10012a39
movzx eax, bl
cmp eax, 0xff
jne 0x10013250
inc edx
mov eax, edx
mov edx, ecx
sub edx, eax
ja 0x10012a43
jmp 0x100163a5
mov edi, dword [ebp + 8]
jmp 0x10010d16
xor ecx, ecx
mov dword [esp], 0
jmp 0x1001120e
xor esi, esi
mov dword [esp], 0
jmp 0x1001148e
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x100172d8
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, eax
mov ecx, dword [ecx + ebx]
jmp 0x10012acd
mov edi, eax
sub eax, edx
jbe 0x100172d8
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 0x10012ac3
movzx edx, bl
cmp edx, 0xff
jne 0x10013671
inc eax
mov edx, eax
mov eax, edi
sub eax, edx
ja 0x10012acd
jmp 0x100172d8
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1000f54c
jmp 0x1000f571
mov ebx, dword [esp + 4]
jmp 0x10012ec2
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
xorps xmm1, xmm1
or eax, dword [esp + 0x1bc]
je 0x10010263
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
push 3
push 0x157969c
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x70]
push dword [esp + 0xa4]
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x10012bdb
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10012bfc
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10012bb6
cmp dword [esp + 0x1b0], 0
je 0x10013afd
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x421
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100142bd
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x100142c6
mov eax, dword [esp + 0x1b8]
or eax, dword [esp + 0x1bc]
je 0x10013601
mov eax, dword [esp + 0x1c0]
mov esi, dword [esp + 0x1c4]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
add eax, 8
adc esi, 0
push 1
push 0x15798bc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x10012cf3
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10012d14
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10012cce
cmp dword [esp + 0x1b0], 0
pxor xmm2, xmm2
je 0x10013ba4
xor esi, 0x4ae
jmp 0x10010c9a
movzx eax, byte [esp + 0x1b4]
mov dword [esp + 0x90], eax
jmp 0x10013002
movzx eax, byte [esp + 0x1b4]
jmp 0x10013135
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
xorps xmm1, xmm1
or eax, dword [esp + 0x1bc]
je 0x10011713
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x1b0]
push 2
push 0x1579d00
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x70]
push dword [esp + 0xa4]
call fcn.10037100
add esp, 0x18
xor ebx, ebx
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
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 0x10012dd8
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10012df9
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10012db3
cmp dword [esp + 0x1b0], 0
je 0x10013ccc
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
xor esi, 0x5b6
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100142ed
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x100142f6
movdqa xmm0, xmmword [esp + 0x20]
mov edx, dword [esp + 0x7c]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp + 0x40]
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0x3c]
movd ecx, xmm0
test ecx, ecx
je 0x10012eb9
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xe0], edx
xor ebx, 0x2b
movd edx, xmm0
mov eax, edx
mov dword [esp + 0x20], edx
shr edx, 8
mov dword [esp + 0xd0], edx
jmp 0x100133a2
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov eax, dword [ebp + 8]
mov ecx, esp
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
push 0
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f900
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x10012f41
movzx esi, byte [esp + 7]
movzx edx, word [esp + 5]
movzx eax, byte [esp + 4]
mov ebx, dword [esp + 8]
shl esi, 0x10
mov dword [esp + 0x20], eax
or edx, esi
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xe0], edx
jmp 0x10013397
mov eax, dword [esp + 0x90]
dec dword [eax]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
cmp word [eax + 0x122], 3
je 0x1000fc79
jmp 0x1000fea7
xor ecx, ecx
cmp byte [esp + 4], 0x4d
jne 0x10013393
mov eax, dword [ebp + 0xc]
add esi, 1
mov ecx, esp
adc edi, 0
mov edx, dword [eax]
push 0
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f900
add esp, 0x14
mov eax, dword [esp]
test eax, eax
je 0x10014198
movzx ecx, byte [esp + 4]
movzx edx, word [esp + 5]
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 7]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xe0], ecx
mov ecx, eax
jmp 0x10013397
mov eax, dword [esp + 0x90]
dec dword [eax]
jmp 0x10010aba
movdqa xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xe0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp]
mov ecx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x90], ecx
je 0x10013002
mov dword [esp + 0x60], eax
xor esi, 0x50c
mov eax, ecx
mov dword [esp + 0xb0], esi
jmp 0x1001386a
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x1b0]
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.1002e130
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10013197
movq xmm0, qword [esp + 0x1b4]
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], ecx
jmp 0x10013746
movdqa xmm0, xmmword [esp + 0x90]
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]
mov dword [esp + 0x90], eax
test eax, eax
mov eax, edx
je 0x10013135
xor esi, 0x54c
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x60], eax
shr edx, 8
xor ebx, ebx
lea eax, [0x1578a4a]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0xe0], esi
lea esi, [0x1578a49]
mov dword [esp + 0xd0], edx
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 0x10013101
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100177c9
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 0x10013122
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x100130e0
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x90]
jmp 0x10013f96
xor edi, edi
test al, al
mov ecx, 0
js 0x100131ba
mov esi, ecx
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1001317e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1001318d
inc eax
test ecx, ecx
jne 0x10013160
mov ebx, dword [ebp + 8]
mov edx, esi
jmp 0x1001406a
cmp dword [esp + 0x1b4], 3
jne 0x100136c7
mov dword [esp + 0x20], 0
mov dword [esp + 0x60], 0
jmp 0x10013746
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
push dword [esp + 0x60]
push dword [esp + 0x24]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f210
add esp, 0x10
lea esi, [0x1578a49]
lea ebx, [0x1578a4a]
mov eax, 0xfffffff9
xor edx, edx
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10013218
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10013237
shld edi, edx, 4
inc eax
test esi, esi
mov edx, ecx
jne 0x100131f3
cmp dword [esp + 0x1b0], 0
je 0x10013d73
xor ecx, 0x550
jmp 0x10013e48
mov ecx, dword [esp + 0x60]
xor eax, eax
jmp 0x10013266
mov ecx, edi
sub edi, eax
mov dword [esp + 0x60], edi
jbe 0x100163a5
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
xor ebx, ebx
shr edi, 1
add edi, eax
mov edx, edi
shl edx, 4
cmp dword [esi + edx + 0xc], 0x67bbee4f
mov esi, 0xff
setne bl
cmovb ebx, esi
cmp bl, 1
je 0x10013258
movzx eax, bl
cmp eax, 0xff
jne 0x1001431d
inc edi
mov eax, edi
mov edi, ecx
sub edi, eax
mov dword [esp + 0x60], edi
ja 0x10013266
jmp 0x100163a5
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
xor ebx, ebx
mov dword [esp + 0xe0], edx
sub edi, edx
mov edx, 0xaaaaaaab
mov dword [esp + 0xd0], ecx
mul edx
shr edx, 3
dec edx
jmp 0x100132e6
mov edx, dword [esp + 0x90]
inc ebx
cmp ebx, edx
jg 0x1000ffcf
lea eax, [edx + ebx]
mov dword [esp + 0x60], ebx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x90], 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 + 0x1b0]
add eax, dword [esp + 0xe0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
adc esi, 0
mov edx, dword [eax]
push 1
mov dword [esp + 0x40], esi
push esi
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002e930
add esp, 0x14
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
test eax, eax
jne 0x10014919
xor eax, eax
cmp ecx, edi
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 1
je 0x100132d6
movzx eax, al
cmp eax, 0xff
jne 0x10014891
dec ebx
mov edx, ebx
mov ebx, dword [esp + 0x60]
cmp ebx, edx
jle 0x100132e6
jmp 0x1000ffcf
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x38]
push esi
call fcn.10032260
add esp, 4
mov ecx, esi
call fcn.1004d440
cmp dword [esi], 0
je 0x100133e2
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0xd0]
test eax, eax
jne 0x1001341b
jmp 0x1001345d
cmp dword [esi + 4], 0
mov edx, dword [esp + 0x20]
jne 0x10013405
mov eax, dword [0x157e000]
push 8
push 0x30
push esi
push 0x157d260
call dword [eax + 0x10]
mov edx, dword [esp + 0x30]
add esp, 0x10
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 0xd0]
test eax, eax
je 0x1001345d
mov dword [esp + 0x1b0], eax
movzx eax, dl
shl esi, 8
mov dword [esp + 0x1b8], ebx
mov edx, 0x1576621
or eax, esi
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x1b0]
push eax
push 0xc
call fcn.1004e410
add esp, 8
mov ebx, dword [ebp + 8]
mov ecx, 0x4433
mov edx, 0x22110000
mov eax, dword [ebx]
xor ecx, dword [eax + 0x9c]
xor edx, dword [eax + 0x98]
or edx, ecx
jne 0x100163c2
cmp dword [eax + 0xec], 0x73747373
jne 0x100163c2
cmp dword [eax + 0xcc], 0x2000
jne 0x100163c2
cmp dword [eax + 0xe4], 0x3000
jne 0x100163c2
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x100163c2
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x100163c2
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 + 0x1b0]
adc edi, 0
mov dword [esp + 0x20], eax
or edx, 1
push 4
lea eax, [esp + 0x44]
push eax
push edi
push esi
push ebx
push dword [esp + 0x34]
call fcn.1002ece0
add esp, 0x18
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x100135d7
mov ecx, dword [esp + 0x1b4]
movq xmm0, qword [esp + 0x1b8]
mov byte [esp + 0x1b0], 2
mov dword [esp + 0x1b4], eax
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b8], ecx
mov ecx, esp
movq qword [esp + 0x1bc], xmm0
call fcn.1004cc50
movzx eax, byte [esp]
xor ebx, ebx
lea esi, [0x15783f6]
mov ecx, 0xfffffff9
xor edi, edi
mov dword [esp + 0x20], eax
lea eax, [0x15783f5]
movzx edx, byte [eax]
mov eax, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1001359b
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x100135ba
shld edi, ebx, 4
inc ecx
test eax, eax
mov ebx, edx
jne 0x10013576
mov eax, dword [esp + 0x20]
cmp al, 3
jne 0x1001360d
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
jmp 0x10014511
cmp dword [esp + 0x1b8], 4
jne 0x10013ea0
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x20], 1
mov eax, dword [eax]
bswap eax
mov dword [esp + 0x38], eax
jmp 0x10013ea8
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
jmp 0x10010d16
mov edi, edx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x38], esi
je 0x10014417
cmp eax, 1
jne 0x10014455
movzx eax, byte [esp + 1]
mov esi, edx
mov edx, 0xa
mov ecx, dword [eax*4 + 0x15778f4]
mov eax, dword [eax*4 + 0x1577914]
mov dword [esp + 0x20], ecx
mov ecx, 0x157aa8c
mov dword [esp + 0x60], eax
call fcn.1001cfa0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov ebx, eax
test eax, eax
mov eax, 1
cmove ebx, eax
jmp 0x1001443e
mov edx, dword [esp + 0x60]
xor edi, edi
mov ecx, edx
jmp 0x10013685
mov edx, ecx
sub ecx, edi
jbe 0x100172d8
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 0x1001367b
movzx eax, al
cmp eax, 0xff
jne 0x10014746
inc ecx
mov edi, ecx
mov ecx, edx
sub ecx, edi
ja 0x10013685
jmp 0x100172d8
xor ecx, ecx
lea edx, [0x1578611]
lea edi, [0x1578612]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10013701
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10013720
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100136dc
movdqa xmm0, xmmword [0x15760a0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor esi, esi
lea edi, [0x1578a49]
lea ebx, [0x1578a4a]
mov ecx, 0xfffffff9
xor eax, eax
nop dword [eax + eax]
movzx edx, byte [edi]
mov edi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10013785
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
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 0x100137a4
shld eax, esi, 4
inc ecx
test edi, edi
mov esi, edx
jne 0x10013760
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xb0], edx
test eax, eax
je 0x1001394d
mov esi, dword [esp + 0x60]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x157e000]
movq qword [esp + 0x1b4], 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 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1001381c
lea ecx, [esp + 0x40]
call fcn.1004da70
mov dword [esp + 0xe0], 0
jmp 0x10013836
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [esp + 0xe0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp + 0x1b0]
movd eax, xmm0
test eax, eax
je 0x1001394d
xor dword [esp + 0xb0], 0x510
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x60], eax
movd eax, xmm0
mov dword [esp + 0x90], eax
shr eax, 8
xor ebx, ebx
lea esi, [0x1578a49]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0xd0], eax
lea eax, [0x1578a4a]
nop
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x100138b1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100177c9
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 0x100138d2
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10013890
mov ecx, dword [esp + 0xd0]
movzx eax, byte [esp + 0x90]
movd xmm1, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xe0]
xor edi, 0x53e
shl ecx, 8
mov dword [esp], esi
mov dword [esp + 4], ebx
or eax, ecx
movd xmm0, eax
mov eax, dword [0x157e000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10013aa7
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x10013ab3
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 0x10013970
xor bl, byte [esp + 0x118]
cmp bl, 0x74
jne 0x100139c3
mov edx, ecx
add al, 0xbc
add cl, 0x2f
add dl, 0xb0
cmp dl, 0xa0
ja 0x1001398e
xor cl, byte [esp + 0x119]
cmp cl, 0x74
jne 0x100139c3
mov ecx, eax
add al, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x100139a9
xor al, byte [esp + 0x11a]
cmp al, 0x70
sete al
jmp 0x100139c5
xor eax, eax
lea edx, [0x1578a49]
lea esi, [0x1578a4a]
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 0x100139fe
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x10013a0d
inc ecx
test edx, edx
jne 0x100139e0
mov ebx, dword [ebp + 8]
test al, al
je 0x10013a9f
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579b6c
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xf565af26
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c89
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10013a9f
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [ebp + 0xc]
jmp 0x10011244
mov eax, dword [esp + 0x1b4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
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 ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x90]
mov dword [esp], ecx
mov byte [esp + 4], al
jmp 0x10011211
mov eax, dword [esp + 0x1b8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x10010290
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x15796d8
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xa424d249
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c84
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10010290
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10010290
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x10010d16
mov eax, dword [esp + 0x1c4]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
push 1
push dword [esp + 0x64]
push dword [esp + 0x98]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f590
add esp, 0x14
xor esi, esi
lea edx, [0x1578a49]
lea edi, [0x1578a4a]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10013c39
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10013c58
shld ebx, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10013c14
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10014ddc
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10014e2a
lea ecx, [esp + 0x78]
call fcn.1004da70
xor ecx, ecx
jmp 0x10014e40
mov eax, dword [esp + 0x1b8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x1bc]
je 0x10011740
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579d28
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10011740
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10011740
mov eax, dword [esp + 0x1c4]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1c0]
add esi, 0x10
adc edi, 0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x100]
mov edx, dword [eax]
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f210
add esp, 0x10
xor esi, esi
lea edi, [0x1578a49]
lea edx, [0x1578a4a]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10013e13
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10013e34
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10013dee
cmp dword [esp + 0x1b0], 0
je 0x1001482b
xor ecx, 0x551
mov edi, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [0x157e000]
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10013eef
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x10013ef8
mov dword [esp + 0x20], 0
lea ecx, [0x15783f5]
lea edx, [0x15783f6]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10013ed7
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10014511
inc eax
test ecx, ecx
jne 0x10013eb9
jmp 0x10014511
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov dword [esp + 0xb0], eax
xor ebx, ebx
lea esi, [0x1578a49]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
movlps qword [esp], xmm0
movss dword [esp + 0x90], xmm0
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
shr eax, 8
mov dword [esp + 0xd0], eax
lea eax, [0x1578a4a]
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x10013f5f
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100177c9
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 0x10013f80
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10013f3e
mov ecx, dword [esp + 0x90]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x60]
test ecx, ecx
je 0x1001406a
mov esi, dword [esp + 0xd0]
movzx eax, dl
movd xmm1, ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x90], ecx
shl esi, 8
or eax, esi
mov esi, dword [esp + 0xe0]
movd xmm0, eax
mov eax, dword [esp + 0xb0]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [0x157e000]
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10014008
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x1001401b
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0xb0]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov esi, dword [esp + 0x90]
movaps xmm0, xmmword [esp + 0x20]
mov edx, dword [esp + 0x60]
test esi, esi
movlps qword [esp + 0xa0], xmm0
je 0x1001406a
movzx ecx, byte [esp + 0xa7]
xor edi, 0x570
mov byte [esp + 7], cl
movzx ecx, word [esp + 0xa5]
mov word [esp + 5], cx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov byte [esp + 4], dl
jmp 0x10011491
test dl, dl
je 0x100140f9
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1579bd8
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x6915bb2a
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c8a
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100140f9
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [ebp + 0xc]
jmp 0x100114c4
mov esi, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x60]
mov eax, dword [esi + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x1001784b
mov eax, dword [esp + 0x1b8]
mov edi, dword [esp + 0xb0]
mov edx, dword [esi + 0x18]
add ebx, 0xfffffff0
lea ecx, [esp + 0x1b0]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x1bc]
adc edi, 0xffffffff
mov dword [esp + 0x90], eax
lea eax, [esp + 0x40]
push 0
push 0x10
push eax
push edi
push ebx
push dword [esp + 0x74]
push dword [esi + 0x1c]
call fcn.1002e130
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x20], esi
test eax, eax
je 0x10014db6
movq xmm0, qword [esp + 0x1b4]
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x60], eax
mov dword [esp + 0xb0], ecx
jmp 0x100151bb
cmp byte [esp + 4], 0x5a
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0x3c]
jne 0x10014d2f
cmp ebx, 0x15
jae 0x100179d9
cmp ebx, 0x14
jne 0x10014275
movdqa xmm0, xmmword [esp + 0x1b0]
movd xmm1, dword [esp + 0x1c0]
pcmpeqb xmm1, xmmword [0x15760e0]
pcmpeqb xmm0, xmmword [0x15760f0]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x10014275
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x157aca8
call fcn.1002c110
add esp, 8
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov edx, 0x549a2aa6
push dword [esp + 0x44]
push esi
push 0xddf2
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10014271
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x38]
push esi
call fcn.10032260
add esp, 4
mov ecx, esi
call fcn.1004d440
cmp dword [esi], 0
jne 0x1001345d
cmp dword [esi + 4], 0
jne 0x1001345d
mov eax, dword [0x157e000]
push 8
push 0x30
push esi
push 0x157d260
call dword [eax + 0x10]
add esp, 0x10
jmp 0x1001345d
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm1, qword [esp + 4]
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
jmp 0x10010260
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm1, qword [esp + 4]
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
jmp 0x10011710
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edx + 4]
test ecx, ecx
je 0x100163a5
mov eax, dword [esp + 0x20]
xor ebx, ebx
mov edi, ecx
mov eax, dword [eax + edx]
jmp 0x10014344
mov eax, dword [esp + 0x1b8]
or eax, dword [esp + 0x1bc]
je 0x100177ba
mov eax, dword [esp + 0x114]
mov dword [esp + 0x110], 0
mov edi, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x1c0]
lea esi, [esp + 0x110]
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
push 1
push 4
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002e130
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x60], edi
mov dword [esp + 0xb0], ebx
test eax, eax
je 0x10015113
movq xmm0, qword [esp + 0x1b4]
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x90], ecx
jmp 0x10015c03
mov esi, edx
mov ecx, 0x1577979
mov edx, 0xd
call fcn.1001cfa0
mov ebx, eax
test eax, eax
mov ecx, 1
mov edx, 0xb
cmove ebx, ecx
mov ecx, 0x1577986
call fcn.1001cfa0
mov edx, esi
mov esi, dword [esp + 0x38]
test eax, eax
mov ecx, 1
cmove eax, ecx
jmp 0x1001445d
mov ebx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [0x157e000]
mov dword [esp + 0x40], edx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x44], esi
push 4
push 8
push 0x157d260
push ecx
mov esi, edx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x1001449e
lea ecx, [esp + 0x40]
call fcn.1004da70
xor edx, edx
jmp 0x100144ae
mov edx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x38]
mov dword [edx], esi
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x20]
xor edi, 0x2df
test ebx, ebx
je 0x1001450d
cmp ebx, 0xc76970a8
jne 0x100147cf
cmp eax, 0x76d4030
jne 0x100147cf
pxor xmm1, xmm1
test edx, edx
je 0x100145ea
mov ecx, edx
mov esi, edx
call fcn.1004da70
mov eax, dword [0x157e000]
push 4
push 8
push esi
push 0x157d260
call dword [eax + 0x10]
pxor xmm1, xmm1
add esp, 0x10
jmp 0x100145ea
mov dword [esp + 0x38], edi
xor edi, edi
lea esi, [0x15783f5]
lea ebx, [0x15783f6]
mov ecx, 0xfffffff9
xor eax, eax
nop word cs:[eax + eax]
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10014555
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100177c9
add dl, 0xa9
mov dh, dl
mov ebx, edi
movzx edx, dh
shl ebx, 4
or edx, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x10014574
shld eax, edi, 4
inc ecx
test esi, esi
mov edi, edx
jne 0x10014530
cmp dword [esp + 0x20], 0
je 0x1001458f
movd xmm0, dword [esp + 0x38]
movdqa xmm1, xmmword [0x1576100]
punpckldq xmm1, xmm0
jmp 0x100145ea
xor edx, 0x2e1
mov ecx, 0x157d2c9
mov edi, edx
mov edx, 0x13
call fcn.1001cfa0
mov ebx, eax
test eax, eax
mov esi, 1
mov ecx, 0x157d2a5
mov edx, 6
cmove ebx, esi
call fcn.1001cfa0
test eax, eax
cmove eax, esi
xor edx, edx
cmp ebx, 0xc76970a8
jne 0x100147c8
mov ecx, dword [esp + 0x90]
pxor xmm1, xmm1
cmp eax, 0x76d4030
jne 0x100147cf
mov edi, dword [esp + 0xcc]
mov ebx, dword [ebp + 8]
movd eax, xmm1
test eax, eax
je 0x100163c2
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
cmp eax, 0x33c0c300
jne 0x100163c2
mov eax, dword [ebx]
mov edi, 0x2004
lea ecx, [esp + 0x1b0]
mov esi, dword [eax + 0xc]
add edi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
adc esi, 0
push 1
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002e930
add esp, 0x14
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1001467d
mov edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x1bc]
movq xmm0, qword [esp + 0x1b4]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x90]
jmp 0x100147f2
mov eax, dword [ebx]
mov ecx, dword [esp + 0x1b4]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x1b0], ecx
mov edi, edx
mov esi, ebx
mov eax, edx
mov dword [esp + 0xe0], edx
add edi, 0x2008
adc esi, 0
add eax, ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x20], eax
mov eax, ebx
adc eax, 0
mov dword [esp + 0x38], eax
call fcn.1001cd10
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb0], edx
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
push 1
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
je 0x10014d3a
mov edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x90]
mov ebx, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 0xc], eax
movd eax, xmm0
mov dword [esp + 8], esi
test eax, eax
jne 0x100147f2
jmp 0x100163c2
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x100172d8
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, eax
mov ecx, dword [ecx + ebx]
jmp 0x1001476d
shr eax, 1
xor ebx, ebx
add eax, edx
mov esi, eax
shl esi, 4
cmp dword [ecx + esi + 0xc], 0xe9b7ea0f
mov esi, 0xff
setne bl
cmovb ebx, esi
cmp bl, 1
je 0x10014763
mov eax, dword [esp + 0x7c]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movlps qword [esp], xmm2
mov dword [esp + 8], edi
jmp 0x1000cc44
mov ecx, dword [esp + 0x90]
movd xmm0, edi
mov dword [esp], ebx
mov edi, dword [esp + 0xcc]
mov ebx, dword [ebp + 8]
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], edx
movq xmm0, qword [esp]
movq xmm1, qword [esp + 8]
lea eax, [esp + 0x1b0]
mov edx, 0x157662d
movq qword [esp + 0x1b8], xmm1
movq qword [esp + 0x1b0], xmm0
push eax
push 6
call fcn.1004e410
add esp, 8
jmp 0x100163c2
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xe0]
xor ecx, dword [esp + 0x1bc]
xor eax, dword [esp + 0x1c4]
xor edx, dword [esp + 0x1b8]
or eax, ecx
mov ecx, dword [esp + 0x90]
xor ecx, dword [esp + 0x1c0]
or ecx, edx
or ecx, eax
setne al
test ecx, 0xc0c0c0c0
sete cl
and cl, al
jmp 0x10013140
mov dword [esp + 0x60], eax
mov eax, ecx
xor edi, 0x1c
mov dword [esp + 0xd0], edx
jmp 0x10014a39
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov edx, dword [ecx]
add eax, 4
mov ebx, esi
lea ecx, [esp + 0x1b0]
adc ebx, 0
push 1
push ebx
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002e930
add esp, 0x14
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x10014912
mov eax, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x90], 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.1002e930
add esp, 0x14
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10016119
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1bc]
cmp eax, 0xc76970a8
jne 0x1001495f
cmp ecx, 0x76d4030
jne 0x1001495f
test esi, esi
je 0x1000ffcf
mov ecx, esi
call fcn.1004da70
mov eax, dword [0x157e000]
push 4
push 8
push esi
push 0x157d260
call dword [eax + 0x10]
add esp, 0x10
jmp 0x1000ffcf
mov dword [esp + 0xe0], edx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x90], eax
xor esi, esi
lea edx, [0x157d119]
lea ebx, [0x157d11a]
mov eax, 0xfffffff9
mov dword [esp + 0x60], ecx
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100149b8
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x100149d9
shld dword [esp + 0x20], esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x10014993
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0xb0]
mov eax, dword [0x157e000]
xor edi, 0x58
mov dword [esp], ebx
mov dword [esp + 4], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10014df3
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x10014dff
mov dword [esp + 0x60], eax
mov eax, ecx
mov dword [esp + 0xd0], esi
xor edi, 0x1e
shr eax, 8
mov dword [esp + 0x90], edi
shl eax, 8
movzx ecx, cl
lea esi, [0x157bb55]
lea edx, [0x157bb56]
xor edi, edi
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 0x10014a8e
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10014ab1
shld edi, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10014a67
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0xd0]
mov eax, dword [0x157e000]
xor ebx, 0x4d
mov dword [esp], edi
mov dword [esp + 4], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10014afa
mov ecx, esp
call fcn.1004da70
xor eax, eax
jmp 0x10014b06
mov eax, dword [esp + 0x1b4]
mov dword [eax], edi
mov dword [eax + 4], esi
mov ecx, dword [esp + 0x3c]
movd xmm0, dword [esp + 0xb0]
movd xmm1, ebx
mov ebx, dword [ebp + 8]
dec dword [ecx]
mov ecx, dword [esp + 0x60]
punpckldq xmm0, xmm1
jmp 0x1000a35f
mov edx, dword [esp + 4]
mov dword [edx], esi
mov dword [edx + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
movd esi, xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x100], xmm0
mov dword [esp + 0x104], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x90], edx
xor edx, edx
lea eax, [0x157af93]
lea esi, [0x157af94]
mov ecx, 0xfffffff9
xor edi, edi
movzx ebx, byte [eax]
mov eax, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10014b96
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10014bb5
shld edi, edx, 4
inc ecx
test eax, eax
mov edx, ebx
jne 0x10014b71
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10014c1a
movsd xmm0, qword [esp + 0x100]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x157e000]
mov ecx, esp
movsd qword [esp + 0x1b4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x40], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10014c24
lea ecx, [esp + 0x40]
call fcn.1004da70
xor esi, esi
jmp 0x10014c37
movzx edx, byte [esp + 0x100]
jmp 0x10014c94
movdqa xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 4]
movd eax, xmm0
mov dword [esi], eax
mov dword [esi + 4], edi
movq xmm0, qword [esp + 0x1b0]
movd eax, xmm0
pextrw edx, xmm0, 2
movq qword [esp + 0x118], xmm0
test eax, eax
je 0x10014c94
movzx ecx, byte [esp + 0x11f]
movzx edi, word [esp + 0x11d]
xor ebx, 0x141
mov byte [esp + 7], cl
mov word [esp + 5], di
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov byte [esp + 4], dl
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x1000a0e5
jmp 0x1000a110
mov ebx, dword [ebp + 8]
test dl, dl
je 0x1000a110
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157b114
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x25f65687
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1000a110
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1000a110
mov dword [esp + 0x20], eax
xor ecx, ecx
jmp 0x100133a2
xor esi, dword [esp + 0x60]
xor eax, dword [esp + 0xb0]
mov dword [esp + 0x3c], ebx
lea ecx, [esp + 0x1b0]
mov dword [esp], esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, esp
mov edx, dword [esi]
push 1
push 8
push eax
mov eax, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x30]
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
je 0x100154e7
mov ecx, dword [esp + 0x1bc]
movq xmm0, qword [esp + 0x1b4]
mov ebx, dword [ebp + 8]
mov dword [esp + 0xc], ecx
movq qword [esp + 4], xmm0
mov dword [esp], eax
jmp 0x10014671
cmp dword [esp + 0x1b4], 0x10
jne 0x10015139
mov dword [esp + 0x60], 0
mov dword [esp + 0xb0], 0
jmp 0x100151bb
mov esi, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
jmp 0x10014e4e
mov eax, dword [esp + 0x1b4]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
jmp 0x1000ff37
mov dword [esp + 0x60], eax
mov eax, ecx
xor esi, 0x21
shr eax, 8
mov dword [esp + 0x90], esi
jmp 0x10014a43
movdqa xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov edi, dword [ebp + 8]
movq xmm2, qword [esp]
xor esi, 0x4b4
movd eax, xmm2
test eax, eax
je 0x10014e6b
movd xmm0, esi
movd xmm1, ecx
punpckldq xmm0, xmm1
punpcklqdq xmm2, xmm0
jmp 0x10010d16
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x90], 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.1002f590
add esp, 0x14
xor edi, edi
lea ecx, [0x1578a49]
lea edx, [0x1578a4a]
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 0x10014ee1
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100177c9
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 0x10014f02
shld dword [esp + 0x20], edi, 4
inc eax
test ecx, ecx
mov edi, ebx
jne 0x10014ebc
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10015b38
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10016008
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
jmp 0x1001601b
mov edi, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x60], eax
mov eax, dword [0x157e000]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x157d260
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100160f5
lea ecx, [esp + 0x40]
call fcn.1004da70
mov dword [esp + 0xd0], 0
jmp 0x10016105
cmp dword [esp + 0x1b4], 4
jne 0x10015b81
mov dword [esp + 0x20], 0
mov dword [esp + 0x90], 0
jmp 0x10015c03
xor ecx, ecx
lea edx, [0x1578611]
lea edi, [0x1578612]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10015173
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10015192
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1001514e
movdqa xmm0, xmmword [0x15760a0]
xor ebx, 0x91
mov dword [esp + 0xb0], 0
mov dword [esp + 0x60], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea eax, [0x1578a49]
lea edi, [0x1578a4a]
mov ecx, 0xfffffff9
xor esi, esi
movzx ebx, byte [eax]
mov eax, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100151f5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10015214
shld esi, edx, 4
inc ecx
test eax, eax
mov edx, ebx
jne 0x100151d0
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x10015316
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x157e000]
xor ebx, 0x1a2
movq qword [esp + 0x1b4], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1001528f
lea ecx, [esp + 0xa0]
call fcn.1004da70
xor eax, eax
jmp 0x100152a2
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp + 0x1b0]
movq qword [esp], xmm0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
movd eax, xmm0
test eax, eax
je 0x10015316
movd xmm1, dword [esp + 4]
movq xmm0, qword [esp + 8]
movd xmm2, eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x90]
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
movdqa xmmword [esp + 0x60], xmm2
push esi
call fcn.10032260
add esp, 4
mov ecx, esi
call fcn.1004d440
cmp dword [esi], 0
jne 0x1001530b
cmp dword [esi + 4], 0
je 0x100161fe
movdqa xmm1, xmmword [esp + 0x60]
jmp 0x1000cc59
movzx eax, byte [esp + 0x40]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x41]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x42]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x43]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x44]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x45]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x46]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x47]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x48]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x49]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x4a]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x4b]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x4c]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x4d]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x4e]
add al, 0xbf
cmp al, 0x19
ja 0x10015491
movzx eax, byte [esp + 0x4f]
add al, 0xbf
cmp al, 0x1a
jae 0x10015491
mov edi, esi
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x1578d28
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x38d5dc59
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c76
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1001548f
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov esi, edi
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x90]
push esi
call fcn.10032260
add esp, 4
mov ecx, esi
call fcn.1004d440
cmp dword [esi], 0
mov ebx, dword [ebp + 8]
jne 0x100154d2
cmp dword [esi + 4], 0
jne 0x100154d2
mov eax, dword [0x157e000]
push 8
push 0x30
push esi
push 0x157d260
call dword [eax + 0x10]
add esp, 0x10
pxor xmm1, xmm1
movd eax, xmm1
test eax, eax
jne 0x1000cc64
jmp 0x1000cc8a
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
dec eax
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xb0], edx
lea ecx, [esp + 0x1b0]
mov edx, dword [ebx]
add eax, 0x2010
adc esi, 0
push 1
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x1001471e
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add ecx, 8
adc edi, 0
xor eax, dword [esp + 0xb0]
xor esi, dword [esp + 0x60]
mov dword [esp + 0x120], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0x130]
mov edi, dword [esp + 0xe0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
test eax, eax
jne 0x10014d91
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
add eax, 0xfffffffe
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x3c]
mov ebx, edx
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add eax, 0x2018
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x10014717
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add ecx, 0x10
adc edi, 0
xor eax, ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0xc0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
jne 0x10014d91
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
add eax, 0xfffffffd
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x3c]
mov ebx, edx
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add eax, 0x2020
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x10014717
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add ecx, 0x18
adc edi, 0
xor eax, ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0xc0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
jne 0x10014d91
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
add eax, 0xfffffffc
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x3c]
mov ebx, edx
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add eax, 0x2028
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x10014717
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add ecx, 0x20
adc edi, 0
xor eax, ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0xc0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
jne 0x10014d91
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
add eax, 0xfffffffb
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x3c]
mov ebx, edx
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add eax, 0x2030
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x10014717
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add ecx, 0x28
adc edi, 0
xor eax, ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0xc0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
jne 0x10014d91
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
add eax, 0xfffffffa
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x3c]
mov ebx, edx
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add eax, 0x2038
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x10014717
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add ecx, 0x30
adc edi, 0
xor eax, ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0xc0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
jne 0x10014d91
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0x1b0]
add eax, 0xfffffff9
mov dword [esp + 0x1b0], eax
call fcn.1001cd10
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x3c]
mov ebx, edx
lea ecx, [esp + 0x1b0]
mov edx, dword [eax]
add esi, 0x2040
adc edi, 0
push 1
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002f590
add esp, 0x14
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1b8]
movd edx, xmm0
test edx, edx
jne 0x10014717
add dword [esp + 0x20], 0x38
mov edi, dword [esp + 0x38]
lea ecx, [esp + 0x1b0]
adc edi, 0
xor eax, ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 8
lea ebx, [esp + 8]
push ebx
push edi
push dword [esp + 0x30]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1002fa50
add esp, 0x1c
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0xcc]
test eax, eax
jne 0x10014d91
mov ebx, dword [ebp + 8]
jmp 0x100163c2
mov ebx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
pxor xmm2, xmm2
jmp 0x10016026
push 0x1579e98
call fcn.10018ae0
add esp, 4
ud2
push 0x1579ec0
call fcn.10018ae0
add esp, 4
ud2
mov ecx, 1
push 0x15793b4
call fcn.10018ae0
add esp, 4
ud2
xor ecx, ecx
lea edx, [0x1578611]
lea edi, [0x1578612]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10015bbb
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10015bda
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10015b96
movdqa xmm0, xmmword [0x15760a0]
xor ebx, 0x91
mov dword [esp + 0x90], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea esi, [0x157af93]
lea edi, [0x157af94]
mov ecx, 0xfffffff9
xor eax, eax
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10015c3d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10015c5c
shld eax, edx, 4
inc ecx
test esi, esi
mov edx, ebx
jne 0x10015c18
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10015ced
mov esi, dword [esp + 0x90]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x157e000]
movq qword [esp + 0x1b4], xmm0
pshufd xmm0, xmm0, 0x55
mov ecx, esp
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10015cbe
lea ecx, [esp + 0x40]
call fcn.1004da70
xor edx, edx
jmp 0x10015cd1
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 + 0x1b0]
movd esi, xmm0
test esi, esi
je 0x10015ced
xor ebx, 0xfd
jmp 0x10014b3c
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
xor eax, eax
mov byte [esp + 0x1c0], 2
movd xmm0, edx
movd xmm1, ecx
xor edx, 0xffffffe8
not ecx
or ecx, edx
punpckldq xmm0, xmm1
sete al
pshufd xmm0, xmm0, 0x44
movd xmm1, eax
paddq xmm0, xmmword [0x15760b0]
pshufd xmm1, xmm1, 0x44
psllq xmm1, 0x3f
psrad xmm1, 0x1f
pshufd xmm1, xmm1, 0xf5
movdqa xmm2, xmm1
pand xmm1, xmmword [0x1576070]
pandn xmm2, xmm0
por xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movdqu xmmword [esp], xmm1
mov byte [esp + 0x10], 0
movd eax, xmm0
pshufd xmm0, xmm1, 0xff
movd edx, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
cmp esi, ecx
lea ecx, [esp + 0x1b0]
sbb edx, eax
mov eax, esp
cmovb eax, ecx
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov ecx, dword [eax + 0x11]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xf8], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
mov dword [esp + 0xfb], eax
jb 0x100178a3
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
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 + 0x78]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
xor ecx, ecx
lea edx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10015e53
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10015e72
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10015e2e
cmp dword [esp + 0x78], 0
je 0x10015ed0
mov esi, dword [esp + 0x84]
movsd xmm0, qword [esp + 0x7c]
mov edi, dword [esp + 0x88]
mov eax, dword [0x157e000]
xor ebx, 0x107
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x1bc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1b0], 0
je 0x10015ffc
mov ecx, esp
jmp 0x1000b64b
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x100177ba
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x90], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002ee80
add esp, 0x10
xor ecx, ecx
lea edx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10015f5d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10015f7c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10015f38
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x1001629e
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1001651b
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x10016530
xor edx, edx
push 0x157d240
call fcn.10018ae0
add esp, 4
ud2
mov edx, dword [esp + 0x1b4]
jmp 0x10014b2d
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm2, qword [esp]
xor ebx, 0x4b4
movd ecx, xmm2
test ecx, ecx
je 0x10016046
mov edi, dword [ebp + 8]
movd xmm0, ebx
movd xmm1, eax
punpckldq xmm0, xmm1
punpcklqdq xmm2, xmm0
jmp 0x10010d16
xor eax, dword [esp + 0x60]
xor ebx, dword [esp + 0x90]
mov edi, dword [ebp + 8]
xor ebx, 0x61656843
xor eax, 0x74
or eax, ebx
jne 0x10010d44
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x15798d0
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0x45dea372
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c87
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x10010d44
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10010d44
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], ebx
xor dword [esp + 0x90], 0x24
mov eax, esi
mov ecx, esi
shr eax, 8
jmp 0x10014a43
mov esi, dword [esp + 0x90]
lea ecx, [0x157d119]
lea edx, [0x157d11a]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1001614f
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100177c9
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1001615e
inc eax
test ecx, ecx
jne 0x10016131
xor eax, eax
sub esi, edi
cmovb esi, eax
cmp esi, 6
jbe 0x1001000d
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov ecx, esp
push 4
push 0x157d144
call fcn.1002c110
add esp, 8
mov eax, dword [esp + 0x38]
mov esi, dword [esp]
mov edx, 0xd7df84ac
mov ecx, dword [eax]
push dword [esp + 4]
push esi
push 0xffff1c82
call fcn.10051f00
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x1001000d
mov ecx, dword [0x157e000]
push edx
push eax
push esi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1001000d
mov eax, dword [0x157e000]
push 8
push 0x30
push esi
push 0x157d260
call dword [eax + 0x10]
add esp, 0x10
movdqa xmm1, xmmword [esp + 0x60]
jmp 0x1000cc59
push 0x1578a58
call fcn.10018ae0
add esp, 4
ud2
movzx ecx, word [esp + 0x1b4]
jmp 0x10016577
mov eax, dword [esp + 0x90]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0xcc]
dec dword [eax]
cmp byte [edi + 0x15], 0
jne 0x100123b7
cmp byte [edi + 0x14], 0
je 0x10016502
lea eax, [esp + 0x178]
mov edx, ebx
lea ecx, [esp + 0x1b0]
push dword [edi + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.100389c0
add esp, 0xc
xor edi, edi
lea edx, [0x157b7de]
lea ebx, [0x157b7df]
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 0x10016435
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100177c9
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 0x10016456
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10016410
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10016502
movsd xmm0, qword [esp + 0x1b4]
mov edi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x157d260
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100164e2
lea ecx, [esp + 0x78]
call fcn.1004da70
xor eax, eax
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
je 0x10016502
mov ecx, dword [esp + 0x16c]
xor esi, 0x110
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
movq qword [ecx], xmm0
jmp 0x10016513
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 0x100164c9
mov eax, dword [esp + 0x16c]
mov byte [eax + 4], 0
mov dword [eax], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
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 0x10016577
movzx eax, word [esp + 0xa6]
xor ebx, 0x10c
mov word [esp + 0x102], ax
mov dword [esp + 0x104], ebx
mov word [esp + 0x100], cx
jmp 0x10014b51
movzx eax, cx
mov cl, 1
cmp eax, 0x8580
mov dword [esp + 0x60], ecx
jle 0x1001659e
cmp eax, 0x8581
je 0x100165b4
cmp eax, 0xa5c1
je 0x100165b4
cmp eax, 0xb581
je 0x100165b4
jmp 0x100165ac
cmp eax, 0x65c1
je 0x100165b4
cmp eax, 0x856b
je 0x100165b4
mov dword [esp + 0x60], 0
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1c0], 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 + 0x1b0]
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 + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
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 + 0x78]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
lea ecx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100166dd
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x100166fc
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x100166b8
cmp dword [esp + 0x78], 0
jne 0x10015e79
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x100177ba
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x90], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002ee80
add esp, 0x10
xor ecx, ecx
lea edx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10016794
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x100167b3
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1001676f
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x100169b5
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100169bf
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x100169d7
movzx ecx, word [esp + 0x1b4]
jmp 0x100169f8
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 0x1001654d
movzx eax, cx
cmp eax, 0x8580
jle 0x10016a19
cmp eax, 0x8581
je 0x10016a27
cmp eax, 0xb581
je 0x10016a27
cmp eax, 0xa5c1
je 0x10016a27
jmp 0x10016a41
cmp eax, 0x65c1
je 0x10016a27
cmp eax, 0x856b
jne 0x10016a41
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
je 0x10016a41
mov byte [esp + 0x100], 1
jmp 0x100177c2
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1c0], 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 + 0x1b0]
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 + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
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 + 0x78]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
lea ecx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10016b6a
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10016b89
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x10016b45
cmp dword [esp + 0x78], 0
jne 0x10015e79
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x100177ba
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x90], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002ee80
add esp, 0x10
xor ecx, ecx
lea edx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10016c21
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x10016c40
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10016bfc
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x100173a8
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100174de
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x100174f6
mov dword [esp], 0
xor edi, edi
mov eax, dword [esp + 0x90]
dec dword [eax]
mov ebx, dword [ebp + 8]
test edi, edi
jne 0x10011c32
jmp 0x10011c5d
movzx ecx, word [esp + 0x1b4]
jmp 0x10017517
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 0x1001654d
movzx eax, cx
cmp eax, 0x8580
jle 0x10017538
cmp eax, 0x8581
je 0x10017546
cmp eax, 0xb581
je 0x10017546
cmp eax, 0xa5c1
je 0x10017546
jmp 0x10017557
cmp eax, 0x65c1
je 0x10017546
cmp eax, 0x856b
jne 0x10017557
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
jne 0x10016a34
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1c0], 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 ecx, esp
lea eax, [esp + 0x1b0]
mov byte [esp + 0x10], 0
sbb edi, 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 + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x100178a3
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
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 + 0x78]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10046c00
add esp, 0xc
lea ecx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10017680
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1001769f
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1001765b
cmp dword [esp + 0x78], 0
jne 0x10015e79
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x100177ba
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x1b0]
mov edx, dword [edi]
add esi, 0xfffffffa
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1002ee80
add esp, 0x10
xor ecx, ecx
lea edx, [0x157af93]
lea edi, [0x157af94]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1001772c
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100177c9
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 0x1001774b
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10017707
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x10017899
movsd xmm0, qword [esp + 0x1b4]
mov esi, dword [esp + 0x1bc]
mov dword [esp], eax
mov eax, dword [0x157e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x157d260
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100178bc
lea ecx, [esp + 0x78]
call fcn.1004da70
xor edx, edx
jmp 0x100178d1
mov byte [esp + 0x100], 0
xor esi, esi
jmp 0x10014b51
mov ecx, 0x157beb4
mov edx, 0xe
push 0x1577700
call fcn.100194a0
add esp, 4
ud2
mov ecx, 0x1578720
mov edx, 0x41
push 0x1578764
call fcn.100194a0
add esp, 4
ud2
mov edx, 6
push 0x157d124
call fcn.10018fb0
add esp, 4
ud2
mov esi, dword [esp + 0x60]
mov bl, 7
jmp 0x1001794a
mov bl, 7
jmp 0x1001797b
movzx ecx, word [esp + 0x1b4]
jmp 0x100178f2
mov ecx, 0x157d3e4
mov edx, 0x2b
push 0x157aa3c
call fcn.100194a0
add esp, 4
ud2
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 0x1001654d
movzx eax, cx
cmp eax, 0x8580
jle 0x10017913
cmp eax, 0x8581
je 0x10017921
cmp eax, 0xb581
je 0x10017921
cmp eax, 0xa5c1
je 0x10017921
jmp 0x1001792c
cmp eax, 0x65c1
je 0x10017921
cmp eax, 0x856b
jne 0x1001792c
cmp byte [esp + 0x60], 0
jne 0x10016a34
mov byte [esp + 0x100], 0
mov dword [esp + 0x20], 0
jmp 0x10014b5c
mov esi, dword [esp + 0x1b0]
mov ebx, eax
mov edx, 4
mov ecx, 4
push dword [esp + 0x1b8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100179ac
mov ecx, dword [0x157e000]
push edx
push eax
push esi
jmp 0x100179a1
mov edi, dword [esp + 0x1b0]
mov ebx, eax
mov edx, 4
mov ecx, 4
push dword [esp + 0x1b8]
call fcn.1001b720
add esp, 4
test eax, eax
je 0x100179ac
mov ecx, dword [0x157e000]
push edx
push eax
push edi
push 0x157d260
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, 0x157d1d0
mov edx, 0x2b
mov byte [esp + 0x1b0], bl
push 0x15781b4
push 0x15783e4
lea eax, [esp + 0x1b8]
push eax
call fcn.10019cf0
add esp, 0xc
ud2
mov ecx, ebx
mov edx, 0x14
push 0x157ac84
call fcn.10018fb0
add esp, 4
ud2