Function at 0x1004a390
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 0x100741ef
mov eax, dword [edx + 0x18]
mov edi, dword [ebp + 8]
mov dword [esp + 0x160], 6
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x140], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x178], eax
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov eax, dword [edi]
movzx ecx, word [eax + 0x120]
cmp ecx, 0x8664
jne 0x1005b50f
movzx ecx, word [eax + 0x106]
and ecx, 0xfffffffe
cmp cx, 2
jne 0x1004a542
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 0x1004a46a
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x1004b781
mov esi, dword [eax + 0x128]
cmp byte [esi + 0x2f], 0
jne 0x1004a46a
cmp byte [esi + 0x2e], 0
jne 0x1004a46a
cmp byte [esi + 0x2d], 0
jne 0x1004a46a
cmp byte [esi + 0x2c], 0
je 0x1004ab9f
mov edx, dword [eax + 0x12c]
test edx, edx
je 0x1004a542
mov ecx, dword [eax + 0x128]
shl edx, 3
lea edx, [edx + edx*4]
add ecx, 8
jmp 0x1004a49c
add ecx, 0x28
add edx, 0xffffffd8
je 0x1004a542
mov esi, dword [ecx + 0x18]
not esi
test esi, 0xa0000000
jne 0x1004a490
mov esi, dword [eax + 0xcc]
sub esi, dword [ecx + 4]
jb 0x1004a490
cmp esi, dword [ecx]
jae 0x1004a490
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647a935
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xda41f9ad
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004a540
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [edi]
movzx ecx, word [eax + 0x122]
add ecx, 0xfffffffe
cmp cx, 2
ja 0x1004a57e
movzx ecx, word [eax + 0x106]
and ecx, 0xfffffffe
cmp cx, 2
jne 0x1004a57e
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x1004a57e
cmp dword [eax + 0xcc], 0
je 0x1004a918
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x1004a5ba
cmp dword [eax + 0x18], 0
je 0x1004a5ba
cmp dword [eax + 0x12c], 3
jb 0x1004a5ba
mov edx, dword [eax + 0x128]
cmp byte [edx + 0x2f], 0
jne 0x1004a5ba
cmp byte [edx + 0x2e], 0
jne 0x1004a5ba
cmp byte [edx + 0x2d], 0
je 0x1004aa60
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1004aff9
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.100709c0
add esp, 4
xor edi, edi
lea esi, [0x647c7e2]
lea edx, [0x647c7e3]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a615
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004a636
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004a5f0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004a6b3
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x4e
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1004a6ca
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004a6e0
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], ecx
jmp 0x1004a744
movdqa xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x20]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x1004a73b
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
mov edx, 0x647b125
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
jmp 0x1004aff9
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
lea ecx, [esp + 0x190]
mov dword [esp + 0x80], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x1190], 0
mov dword [esp + 0x8c], 0
xor ebx, ebx
mov dword [esp + 0x108], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x30]
lea eax, [edx + edx*8]
add edx, ecx
lea eax, [eax + eax*2]
add edx, eax
nop
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
je 0x1004adbd
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1004a7a0
mov esi, dword [ecx - 8]
cmp esi, 3
jbe 0x1004a7a0
mov dword [esp + 0xb0], ecx
movzx ecx, byte [eax]
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], ebx
xor esi, esi
mov ebx, 0
mov edx, ecx
add dl, 0x81
cmp dl, 0xa1
jb 0x1004a815
mov bl, 2
cmp cl, 0x5f
je 0x1004a815
mov edx, ecx
mov bl, 3
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a815
mov edx, ecx
mov bl, 4
add dl, 0xbf
cmp dl, 0x1a
jb 0x1004a815
add cl, 0x9f
cmp cl, 0x1a
setb bl
shl bl, 2
or bl, 1
mov ecx, dword [esp + 0x60]
inc eax
lea edi, [ecx - 1]
jmp 0x1004a831
xor ecx, ecx
inc eax
xor edx, edx
cmp bl, cl
mov ebx, ecx
setne dl
add esi, edx
dec edi
je 0x1004a86e
movzx edx, byte [eax]
mov dh, dl
add dh, 0x81
cmp dh, 0xa1
jb 0x1004a820
mov cl, 2
cmp dl, 0x5f
je 0x1004a822
mov dh, dl
mov cl, 3
add dh, 0xd0
cmp dh, 0xa
jb 0x1004a822
mov dh, dl
mov cl, 4
add dh, 0xbf
cmp dh, 0x1a
jb 0x1004a822
add dl, 0x9f
cmp dl, 0x1a
setb cl
shl cl, 2
or cl, 1
jmp 0x1004a822
push 0
push dword [esp + 0x64]
push esi
push 0
call 0x10074214
add esp, 0x10
test edx, edx
jne 0x1004c431
mov ebx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x80]
mov ecx, ebx
inc ecx
je 0x1004ab79
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
jbe 0x1004a8da
mov ebx, ecx
call fcn.1001fce0
mov edx, ebx
test eax, eax
je 0x1004a8cb
cmp eax, edx
jbe 0x1004a8cb
mov ecx, esi
mov edx, eax
call fcn.1002de60
mov edx, ebx
cmp al, 8
je 0x1004a8da
mov ecx, esi
call fcn.1002de60
cmp al, 8
jne 0x1004adb6
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xd0]
mov dword [eax + ebx*4], ecx
mov ecx, dword [esp + 0xb0]
inc ebx
mov dword [esp + 0x88], ebx
add ecx, 0x1c
lea eax, [ecx - 0x1c]
cmp eax, edx
jne 0x1004a7ae
jmp 0x1004adbd
cmp dword [eax + 0x18], 0
je 0x1004a57e
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x1004a57e
mov edx, dword [eax + 0x12c]
cmp edx, 1
jbe 0x1004c19c
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x128]
mov edi, dword [ebp + 0xc]
add ecx, dword [eax + 0x34]
mov edx, dword [edi]
adc esi, 0
add ecx, dword [eax + 0x30]
mov eax, ecx
adc esi, 0
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x190]
add eax, 0xfffffff8
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
xor esi, esi
lea ebx, [0x647a929]
lea edx, [0x647a92a]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a9c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004a9e6
shld edi, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x1004a9a0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004ab85
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004ac43
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004ac56
cmp byte [edx + 0x2c], 0
je 0x1004a5ba
movzx eax, byte [edx + 0x2c]
mov ecx, 0x7865742e
xor ecx, dword [edx + 0x28]
xor eax, 0x74
or eax, ecx
jne 0x1004a5ba
mov dword [esp + 0x70], edx
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.100709c0
add esp, 4
xor esi, esi
lea ebx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004aad3
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004aaf4
shld edi, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x1004aaae
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004b398
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x23
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004b53d
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004b553
mov dword [esp + 0x118], ebx
jmp 0x1004add5
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1004ac61
cmp byte [esi + 0x2b], 0
je 0x1004a46a
cmp dword [esi + 0x28], 0x30585055
jne 0x1004a46a
test dword [esi + 0x30], ecx
jne 0x1004a46a
cmp dword [esi + 0x38], 0
jne 0x1004a46a
cmp dword [esi + 0x48], 0xe0000080
jne 0x1004a46a
cmp edx, 3
jb 0x1004c4d3
cmp byte [esi + 0x57], 0
jne 0x1004a46a
cmp byte [esi + 0x56], 0
jne 0x1004a46a
cmp byte [esi + 0x55], 0
jne 0x1004a46a
cmp byte [esi + 0x54], 0
jne 0x1004a46a
cmp byte [esi + 0x53], 0
je 0x1004a46a
cmp dword [esi + 0x50], 0x31585055
jne 0x1004a46a
test dword [esi + 0x58], ecx
jne 0x1004a46a
cmp dword [esi + 0x60], 0
je 0x1004a46a
cmp dword [esi + 0x70], 0xe0000040
jne 0x1004a46a
jmp 0x1004a542
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x23
movd ecx, xmm0
test ecx, ecx
je 0x1004acaf
movd ecx, xmm0
test ecx, ecx
je 0x1004a57e
movq qword [esp + 0x190], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x198], esi
mov edx, 0x647b11c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 3
call fcn.10061220
add esp, 8
jmp 0x1004a57e
or esi, eax
je 0x1004a57e
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x70]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
add eax, 8
adc esi, 0
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
xor esi, esi
lea edx, [0x647a929]
lea ebx, [0x647a92a]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ad1d
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004ad3c
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004acf8
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004b381
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004b3af
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004b3c2
mov ebx, dword [esp + 0x88]
cmp ebx, 2
mov dword [esp + 0x118], ebx
jae 0x1004add5
mov eax, dword [esp + 0x8c]
jmp 0x1004af69
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x80]
mov ecx, 0x20
cmp ebx, edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0x60], eax
mov eax, 0x20
cmovb edx, ebx
test edx, edx
je 0x1004ae07
bsr ecx, edx
xor ecx, 0x1f
sub eax, ecx
mov ecx, dword [esp + 0x60]
mov esi, esp
push eax
push 0
push esi
mov esi, ecx
call fcn.100688b0
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x70], ebx
mov dword [esp + 0xf8], eax
mov eax, ebx
and eax, 0xfffffffe
cmp ebx, 4
mov eax, dword [esi + eax*2]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + ebx*4 - 4]
mov dword [esp + 0x40], eax
jae 0x1004ae4e
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x1004aeaf
mov eax, ebx
lea ecx, [esi + 8]
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm0, xmm0
and eax, 0xfffffffc
mov edx, eax
nop word cs:[eax + eax]
nop
movq xmm3, qword [ecx - 8]
movq xmm4, qword [ecx]
add ecx, 0x10
add edx, 0xfffffffc
punpckldq xmm3, xmm1
punpckldq xmm4, xmm1
paddq xmm2, xmm3
paddq xmm0, xmm4
jne 0x1004ae70
paddq xmm0, xmm2
cmp ebx, eax
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movd edx, xmm0
je 0x1004aecb
mov ebx, dword [esp + 0x70]
sub ebx, eax
lea eax, [esi + eax*4]
nop dword [eax + eax]
add ecx, dword [eax]
adc edx, 0
add eax, 4
dec ebx
jne 0x1004aec0
push 0
push dword [esp + 0x74]
push edx
push ecx
call 0x10074214
add esp, 0x10
test edx, edx
jne 0x1004c450
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x647c7ea
mov esi, dword [eax + 0x28]
lea eax, [esp + 0x118]
mov ecx, esi
push eax
push 0xa
call fcn.10061800
add esp, 8
lea eax, [esp + 0xf8]
mov ecx, esi
mov edx, 0x647c7f4
push eax
push 8
call fcn.10061800
add esp, 8
lea eax, [esp + 0xa0]
mov ecx, esi
mov edx, 0x647c7fc
push eax
push 0xb
call fcn.10061800
add esp, 8
mov eax, esp
mov ecx, esi
mov edx, 0x647c807
push eax
push 0xc
call fcn.10061800
add esp, 8
lea eax, [esp + 0x40]
mov ecx, esi
mov edx, 0x647c813
push eax
push 8
call fcn.10061800
add esp, 8
mov eax, dword [esp + 0xb0]
mov edx, 4
mov ecx, 4
push eax
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004aff3
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 0x1000]
mov edi, dword [ecx + 0x1004]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
test ebx, ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edi
je 0x1004c316
cmp ebx, eax
jne 0x1004c316
cmp edi, edx
jne 0x1004c316
cmp ecx, esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xa0], ecx
jne 0x1004c3d6
mov edi, dword [ebp + 8]
mov dword [ecx + 0x1000], 0
mov eax, dword [esp + 0x20]
dec dword [eax]
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.1006ebd0
add esp, 4
xor edi, edi
lea esi, [0x64749f5]
lea edx, [0x64749f6]
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 0x1004b055
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004b076
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004b030
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004b0f0
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0xd
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004b116
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004b12c
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x1004b1a5
jmp 0x1004c5d7
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x70]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1004b18d
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], edx
mov edx, 0x647b12c
mov ecx, dword [ecx + 0x28]
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10061220
add esp, 8
jmp 0x1004c5e3
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x1004c5d7
mov ebx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, ebx
mov dword [esp + 0x20], eax
jmp 0x1004b1ca
mov ebx, esi
sub esi, ecx
jbe 0x1004c5d7
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 0x1004b1c0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004b20a
inc esi
mov ecx, esi
mov esi, ebx
sub esi, ecx
ja 0x1004b1ca
jmp 0x1004c5d7
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004c5d7
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b23a
mov ecx, edx
sub edx, ebx
jbe 0x1004c5d7
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 0x1004b230
movzx eax, al
cmp eax, 0xff
jne 0x1004b274
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b23a
jmp 0x1004c5d7
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b288
mov ecx, esi
sub esi, ebx
jbe 0x1004c5d7
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 0x1004b27e
movzx edx, dl
cmp edx, 0xff
jne 0x1004b2c8
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b288
jmp 0x1004c5d7
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004c5d7
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b2ef
mov ecx, edx
sub edx, ebx
jbe 0x1004c5d7
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 0x1004b2e5
movzx eax, al
cmp eax, 0xff
jne 0x1004b329
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b2ef
jmp 0x1004c5d7
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b33d
mov ecx, esi
sub esi, ebx
jbe 0x1004c5d7
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 0x1004b333
movzx edx, dl
cmp edx, 0xff
jne 0x1004b4d8
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b33d
jmp 0x1004c5d7
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1004b3cd
mov eax, dword [esp + 0x198]
mov edi, dword [esp + 0x194]
mov dword [esp + 0x20], eax
jmp 0x1004b5ba
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x26
movd ecx, xmm0
test ecx, ecx
jne 0x1004ac69
or esi, eax
je 0x1004a57e
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 0
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a890
add esp, 0x14
xor esi, esi
lea edx, [0x647a929]
lea ebx, [0x647a92a]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004b43f
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004b45e
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004b41a
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004b5d4
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004b666
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004b679
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004c5d7
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b4ff
mov ecx, edx
sub edx, ebx
jbe 0x1004c5d7
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 0x1004b4f5
movzx eax, al
cmp eax, 0xff
jne 0x1004b729
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b4ff
jmp 0x1004c5d7
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x20]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x1004b5b1
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x647b11f
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10061220
add esp, 8
jmp 0x1004a5ba
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
cmp dword [edi + 0x18], 0xa
ja 0x1004b5c6
cmp dword [edi + 0x14], 0
je 0x1004b5ee
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
dec dword [eax]
jmp 0x1004a5ba
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1004b684
mov ecx, 0x647d694
mov edx, 0x11
call 0x10073b90
mov edx, dword [edi + 0x34]
mov ebx, dword [edi + 0x30]
lea ecx, [edx + edx*8]
mov dword [esp + 0x60], edx
lea edi, [ecx + ecx*2]
lea ecx, [edi + edx]
lea edx, [ebx + ecx]
mov dword [esp + 0xb0], edx
mov edx, ebx
test ecx, ecx
je 0x1004b5c6
mov esi, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [esi], 0
je 0x1004b61c
cmp dword [esi + 4], eax
jne 0x1004b61c
mov ecx, 0x647d6a5
mov edx, 0x13
call 0x10073b90
add edi, dword [esp + 0x60]
mov ecx, ebx
test edi, edi
je 0x1004b795
mov edx, ecx
add edi, 0xffffffe4
add ecx, 0x1c
cmp dword [edx], 0
je 0x1004b647
cmp dword [edx + 4], eax
jne 0x1004b647
jmp 0x1004b5c6
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x29
movd ecx, xmm0
test ecx, ecx
jne 0x1004ac69
or esi, eax
jne 0x1004a57e
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647a931
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x15c9146b
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004a57e
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004a57e
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b73d
mov ecx, esi
sub esi, ebx
jbe 0x1004c5d7
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 0x1004b733
movzx edx, dl
cmp edx, 0xff
jne 0x1004b84d
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b73d
jmp 0x1004c5d7
mov ecx, 1
push 0x647c680
call fcn.10007630
add esp, 4
ud2
cmp dword [esp + 0x60], 0
je 0x1004b5c6
cmp dword [ebx + 0xc], 0
jne 0x1004b5c6
cmp dword [esp + 0x60], 1
mov dword [esp + 0x120], ebx
jne 0x1004b906
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647d6b8
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0xb1d111b0
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push edi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004b5c6
mov ecx, dword [0x647e000]
push edx
push eax
push edi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004b5c6
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004c5d7
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b874
mov ecx, edx
sub edx, ebx
jbe 0x1004c5d7
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 0x1004b86a
movzx eax, al
cmp eax, 0xff
jne 0x1004b8ae
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b874
jmp 0x1004c5d7
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b8c2
mov ecx, esi
sub esi, ebx
jbe 0x1004c5d7
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 0x1004b8b8
movzx edx, dl
cmp edx, 0xff
jne 0x1004c1b0
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b8c2
jmp 0x1004c5d7
mov eax, dword [ebp + 8]
add dword [esp + 0x120], 0x1c
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 0xc]
mov edx, eax
sub eax, dword [ecx + 0x34]
jb 0x1004b5c6
mov ecx, dword [esp + 0x70]
cmp eax, dword [ecx + 0x30]
jae 0x1004b5c6
add edx, dword [esp + 0x130]
mov edi, dword [esp + 0x180]
adc edi, 0
mov eax, edx
mov esi, edx
mov ecx, edi
xor eax, 0xffffffe0
add esi, 0x1f
mov ebx, edi
not ecx
adc ebx, 0
or ecx, eax
mov eax, 0
mov ecx, 1
cmove edx, ecx
cmove ebx, eax
cmove esi, eax
cmove edi, eax
cmp esi, edx
mov eax, ebx
mov dword [esp + 0xe0], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x9c], ebx
sbb eax, edi
jb 0x10060e92
add dword [esp + 0x120], 0x1c
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov esi, 0
sub eax, ebx
sbb ecx, edi
add eax, 1
adc ecx, 0
setb dl
neg ecx
mov ecx, esp
sbb esi, esi
or esi, eax
test dl, dl
mov edx, dword [ebp + 0xc]
mov eax, 0xffffffff
cmovne esi, eax
push esi
push edi
push ebx
call fcn.10069740
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
jne 0x1004bfb6
cmp dword [esp + 0xd0], 0
je 0x1004bff0
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x1004ba46
cmp byte [eax + edx + 1], 0x3c
lea esi, [edx + 1]
mov edx, esi
jne 0x1004ba30
jmp 0x1004ba9d
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0xe0]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x9c]
or ecx, eax
je 0x1004c0ca
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
add eax, dword [esp + 0xd0]
adc edi, 0
cmp dword [esp + 0x60], eax
mov dword [esp + 0xe0], eax
sbb ecx, edi
jae 0x1004b9af
jmp 0x10060e92
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
add eax, esi
adc edi, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x647d663]
lea esi, [0x647d662]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004bb1f
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x1004bb40
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x1004bafa
cmp dword [esp + 0xcc], 0
jne 0x1004c215
movdqu xmm0, xmmword [esp + 0x194]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004b5c6
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd edx, xmm1
movd edi, xmm0
mov eax, edi
mov ecx, edx
mov esi, edx
mov ebx, edi
xor ecx, 0xffffffe0
add esi, 0x1f
not eax
adc ebx, 0
or ecx, eax
mov eax, 0
mov ecx, 1
cmove edx, ecx
cmove ebx, eax
cmove esi, eax
cmove edi, eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x60], esi
cmp esi, edx
mov dword [esp + 0x9c], ebx
mov eax, ebx
sbb eax, edi
jb 0x10060e92
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov esi, 0
sub eax, ebx
sbb ecx, edi
add eax, 1
adc ecx, 0
setb dl
neg ecx
mov ecx, esp
sbb esi, esi
or esi, eax
test dl, dl
mov edx, dword [ebp + 0xc]
mov eax, 0xffffffff
cmovne esi, eax
push esi
push edi
push ebx
call fcn.10069740
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
jne 0x1004c012
cmp dword [esp + 0xd0], 0
je 0x1004c04c
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x1004bc5e
cmp byte [eax + edx + 1], 0x88
lea esi, [edx + 1]
mov edx, esi
jne 0x1004bc48
jmp 0x1004bcb5
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0xe0]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x9c]
or ecx, eax
je 0x1004c110
mov eax, dword [esp + 0xe0]
add eax, dword [esp + 0xd0]
adc edi, 0
mov dword [esp + 0xe0], eax
cmp dword [esp + 0x60], eax
mov eax, dword [esp + 0x9c]
sbb eax, edi
jae 0x1004bbc7
jmp 0x10060e92
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
add eax, esi
adc edi, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x647d663]
lea esi, [0x647d662]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004bd37
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x1004bd58
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x1004bd12
cmp dword [esp + 0xcc], 0
jne 0x1004c21a
movdqu xmm0, xmmword [esp + 0x194]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004b5c6
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd edx, xmm1
movd edi, xmm0
mov eax, edi
mov ecx, edx
mov esi, edx
mov ebx, edi
xor ecx, 0xffffffe0
add esi, 0x1f
not eax
adc ebx, 0
or ecx, eax
mov eax, 0
mov ecx, 1
cmove edx, ecx
cmove ebx, eax
cmove esi, eax
cmove edi, eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x60], esi
cmp esi, edx
mov dword [esp + 0x9c], ebx
mov eax, ebx
sbb eax, edi
jb 0x10060e92
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov esi, 0
sub eax, ebx
sbb ecx, edi
add eax, 1
adc ecx, 0
setb dl
neg ecx
mov ecx, esp
sbb esi, esi
or esi, eax
test dl, dl
mov edx, dword [ebp + 0xc]
mov eax, 0xffffffff
cmovne esi, eax
push esi
push edi
push ebx
call fcn.10069740
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
jne 0x1004c06e
cmp dword [esp + 0xd0], 0
je 0x1004c0a8
mov ecx, dword [esp + 0xd0]
mov edx, 0xffffffff
neg ecx
lea esi, [ecx + edx]
cmp esi, 0xffffffff
je 0x1004be76
cmp byte [eax + edx + 1], 0x1c
lea esi, [edx + 1]
mov edx, esi
jne 0x1004be60
jmp 0x1004becd
mov eax, dword [esp + 0xd0]
mov ecx, edi
dec eax
add eax, dword [esp + 0xe0]
adc ecx, 0
xor eax, dword [esp + 0x60]
xor ecx, dword [esp + 0x9c]
or ecx, eax
je 0x1004c156
mov eax, dword [esp + 0xe0]
add eax, dword [esp + 0xd0]
adc edi, 0
mov dword [esp + 0xe0], eax
cmp dword [esp + 0x60], eax
mov eax, dword [esp + 0x9c]
sbb eax, edi
jae 0x1004bddf
jmp 0x10060e92
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
add eax, esi
adc edi, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0xd0], 0
xor eax, eax
mov ecx, 0xfffffff9
lea ebx, [0x647d663]
lea esi, [0x647d662]
mov dword [esp + 0x60], 0
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004bf4f
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x1004bf70
shld dword [esp + 0x60], eax, 4
inc ecx
test esi, esi
mov eax, edi
jne 0x1004bf2a
cmp dword [esp + 0xcc], 0
jne 0x1004c21f
movdqu xmm0, xmmword [esp + 0x194]
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
or eax, dword [esp + 0x194]
jne 0x1004b5c6
mov eax, dword [esp + 0xb0]
cmp dword [esp + 0x120], eax
jne 0x1004b927
jmp 0x1004b7bc
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ecx
jmp 0x1004badf
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 1
jmp 0x1004bac6
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ecx
jmp 0x1004bcf7
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 1
jmp 0x1004bcde
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ecx
jmp 0x1004bf0f
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 1
jmp 0x1004bef6
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe0], eax
jmp 0x1004badf
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe0], eax
jmp 0x1004bcf7
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe0], eax
jmp 0x1004bf0f
mov ecx, 1
push 0x6474c08
call fcn.10007630
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004c5d7
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004c1d7
mov ecx, edx
sub edx, ebx
jbe 0x1004c5d7
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 0x1004c1cd
movzx eax, al
cmp eax, 0xff
jne 0x1004c2c2
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004c1d7
jmp 0x1004c5d7
xor edi, 0x3e
jmp 0x1004c222
xor edi, 0x43
jmp 0x1004c222
xor edi, 0x48
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0x190]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xe0]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], eax
mov eax, dword [0x647e000]
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004c27b
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004c292
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xe0]
mov dword [eax], ecx
mov dword [eax + 4], edx
movdqa xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x20]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movd ecx, xmm0
mov edi, dword [ebp + 8]
movq xmm0, qword [esp + 0x44]
dec dword [edx]
test ecx, ecx
jne 0x1004b577
jmp 0x1004a5ba
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov esi, ecx
jmp 0x1004c2d6
mov ecx, esi
sub esi, ebx
jbe 0x1004c5d7
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 0x1004c2cc
movzx edx, dl
cmp edx, 0xff
jne 0x1004c371
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004c2d6
jmp 0x1004c5d7
lea eax, [esp + 0xf8]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
mov dword [esp], 0x647ab60
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x646de10
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x647ab78
mov dword [esp + 0x4c], 0x646de10
mov dword [esp + 0xc], 2
call fcn.100075c0
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004c5d7
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004c398
mov ecx, edx
sub edx, ebx
jbe 0x1004c5d7
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 0x1004c38e
movzx eax, al
cmp eax, 0xff
jne 0x1004c471
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004c398
jmp 0x1004c5d7
lea eax, [esp + 0xf8]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
mov dword [esp], 0x647ab20
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x643d260
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x647ab38
mov dword [esp + 0x4c], 0x643d260
mov dword [esp + 0xc], 2
call fcn.100075c0
ud2
mov eax, esp
mov ecx, 0x647d9dc
mov edx, 0x2b
mov byte [esp], 1
push 0x647d164
push 0x647c954
jmp 0x10060e87
mov ecx, 0x647d9dc
mov edx, 0x2b
mov byte [esp], 1
push 0x647d164
push 0x647c954
lea eax, [esp + 8]
jmp 0x10060e87
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0xff
jmp 0x1004c490
mov ecx, dword [esp + 0x60]
sub dword [esp + 0x60], esi
jbe 0x1004c5d7
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 0x1004c482
movzx esi, bl
cmp esi, 0xff
jne 0x1004c4ec
mov esi, dword [esp + 0x60]
mov dword [esp + 0x60], ecx
inc esi
sub dword [esp + 0x60], esi
ja 0x1004c490
jmp 0x1004c5d7
mov ecx, 2
mov edx, 2
push 0x647c690
call fcn.10007630
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x1004c5d7
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov esi, ecx
mov eax, dword [edx + eax]
jmp 0x1004c513
mov esi, ecx
sub ecx, ebx
jbe 0x1004c5d7
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 0x1004c509
movzx edx, dl
cmp edx, 0xff
jne 0x1004c54f
inc ecx
mov ebx, ecx
mov ecx, esi
sub ecx, ebx
ja 0x1004c513
jmp 0x1004c5d7
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64749fd
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe5d4cb4f
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004c5d7
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
mov edx, esi
lea ecx, [esp + 0x190]
push edi
call fcn.1006ebd0
add esp, 4
xor esi, esi
lea edx, [0x647c775]
lea ebx, [0x647c776]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004c635
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004c654
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004c610
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004c6d1
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x15
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004c6f7
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004c70d
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0xb0], eax
mov edi, dword [ebx + 0x10]
cmp edi, 1
jne 0x1004c798
jmp 0x1004cc77
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0xb0]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1004c783
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], edx
mov edx, 0x647b132
mov ecx, dword [ecx + 0x28]
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10061220
add esp, 8
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
je 0x1004cc98
jmp 0x1004ec6d
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov edi, dword [ebx + 0x10]
cmp edi, 1
je 0x1004cc77
mov ecx, 0x647c77d
mov edx, 8
call 0x10073b90
test edi, edi
mov dword [esp + 0x20], eax
je 0x1004cc77
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x60], edi
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov esi, dword [esp + 0x70]
jmp 0x1004c7dc
mov dword [esp + 0x60], edi
sub edi, ecx
jbe 0x1004cc77
shr edi, 1
mov eax, dword [esp + 0x20]
xor edx, edx
add edi, ecx
mov ebx, edi
shl ebx, 4
cmp dword [esi + ebx + 0xc], eax
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x1004c7d0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004c81a
inc edi
mov ecx, edi
mov edi, dword [esp + 0x60]
sub edi, ecx
ja 0x1004c7dc
jmp 0x1004cc77
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ebx + 4]
cmp eax, 9
mov dword [esp + 0xd0], eax
ja 0x1004cc77
mov ecx, 0x647c785
mov edx, 0xc
call 0x10073b90
cmp dword [esp + 0xd0], 0
mov dword [esp + 0x60], eax
je 0x1004cc77
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0xd0]
add eax, ebx
mov edx, edi
mov dword [esp + 0x70], edi
xor ebx, ebx
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x20]
jmp 0x1004c880
mov dword [esp + 0x70], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x60]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c874
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c8be
inc edx
mov ebx, edx
mov edx, dword [esp + 0x70]
sub edx, ebx
ja 0x1004c880
jmp 0x1004cc77
mov ecx, 0x647c791
mov edx, 8
call 0x10073b90
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c8f2
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c8e6
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c930
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c8f2
jmp 0x1004cc77
mov ecx, 0x647c799
mov edx, 0xd
call 0x10073b90
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c964
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c958
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004c9a2
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c964
jmp 0x1004cc77
mov ecx, 0x647c7a6
mov edx, 0xc
call 0x10073b90
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004c9d6
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004c9ca
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004ca14
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004c9d6
jmp 0x1004cc77
mov ecx, 0x647c7b2
mov edx, 0xc
call 0x10073b90
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004ca48
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004ca3c
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004ca86
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004ca48
jmp 0x1004cc77
mov ecx, 0x647c7be
mov edx, 0xe
call 0x10073b90
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004caba
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004caae
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004caf8
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004caba
jmp 0x1004cc77
mov ecx, 0x647c7cc
mov edx, 5
call 0x10073b90
mov edi, dword [esp + 0xd0]
xor ebx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jmp 0x1004cb2c
mov dword [esp + 0x60], edx
sub edx, ebx
jbe 0x1004cc77
shr edx, 1
mov eax, dword [esp + 0x70]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], eax
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004cb20
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004cb6a
inc edx
mov ebx, edx
mov edx, dword [esp + 0x60]
sub edx, ebx
ja 0x1004cb2c
jmp 0x1004cc77
mov ecx, 0x647c7d1
mov edx, 0xc
call 0x10073b90
mov edx, dword [esp + 0xd0]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x20]
jmp 0x1004cba3
mov dword [esp + 0x60], edi
sub edi, ecx
mov dword [esp + 0xd0], edi
jbe 0x1004cc77
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x70]
xor ebx, ebx
shr esi, 1
add esi, ecx
mov edi, esi
shl esi, 4
cmp dword [edx + esi + 0xc], eax
mov eax, 0xff
setne bl
cmovb ebx, eax
cmp bl, 1
je 0x1004cb90
movzx esi, bl
cmp esi, 0xff
jne 0x1004cbef
mov ecx, edi
mov edi, dword [esp + 0x60]
inc ecx
sub edi, ecx
mov dword [esp + 0xd0], edi
ja 0x1004cba3
jmp 0x1004cc77
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647c7dd
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x8f1ee398
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push edi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004cc77
mov ecx, dword [0x647e000]
push edx
push eax
push edi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 8]
dec dword [eax]
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x1004ec6d
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004ec6d
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1004ec6d
mov esi, dword [eax + 0xcc]
test esi, esi
je 0x1004ec6d
mov ebx, dword [eax + 0xc]
add esi, dword [eax + 8]
mov edx, dword [ebp + 0xc]
lea edi, [esp + 0x190]
mov ecx, edi
adc ebx, 0
push 0xa
push 0x647d66a
mov dword [esp + 0x78], ebx
push ebx
push esi
call fcn.1006afa0
add esp, 0x10
lea ecx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004cd1e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004cd2d
inc eax
test ecx, ecx
jne 0x1004cd00
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004cd9c
movsd xmm0, qword [esp + 0x194]
mov ebx, esi
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004cda6
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004cdbb
movzx eax, byte [esp + 0x194]
jmp 0x1004cdcf
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov eax, ecx
mov dword [ecx + 4], esi
cmp dword [esp], 0
mov esi, ebx
je 0x1004cdcb
mov edi, dword [ebp + 0xc]
jmp 0x1004d0b8
mov eax, dword [esp + 4]
test al, al
je 0x1004cf94
mov ebx, dword [esp + 0x70]
mov eax, esi
xor edx, edx
movd xmm0, esi
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], esi
xor eax, 0xffffffc0
mov ecx, ebx
movd xmm1, ebx
not ecx
punpckldq xmm0, xmm1
or ecx, eax
pshufd xmm1, xmm0, 0x44
sete dl
paddq xmm1, xmmword [0x64745a0]
movd xmm0, edx
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x64745b0]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
cmovae edi, eax
mov eax, dword [edi + 0x11]
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa3], ecx
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x10060e92
movq xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa3]
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0x190]
mov edx, esi
movq qword [esp + 0x198], xmm1
movq qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x40]
push edi
push 6
push 0x647d674
call fcn.10072760
add esp, 0xc
lea ecx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004cf3e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004cf4d
inc eax
test ecx, ecx
jne 0x1004cf20
cmp dword [esp + 0x40], 0
je 0x1004cfa0
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0x647e000]
mov dword [esp], edi
mov dword [esp + 4], ebx
push 4
push 8
push 0x647da08
push esi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004d0a5
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1004d0b1
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
jmp 0x1004d0de
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1004d883
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x190]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [esp + 0x60]
call fcn.10072d60
add esp, 0x10
xor edi, edi
lea ebx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d007
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004d028
shld esi, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004cfe2
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004d890
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x1004d9c1
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004d9d6
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x1004d0da
mov ecx, eax
mov ebx, eax
call fcn.10006530
mov eax, dword [0x647e000]
push 4
push 8
push ebx
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov edx, edi
mov word [esp + 0x110], 0x24
lea ecx, [esp + 0x190]
push 3
push 0x647d686
mov dword [esp + 0x68], eax
push eax
mov dword [esp + 0x2c], esi
push esi
call fcn.1006afa0
add esp, 0x10
xor edi, edi
lea esi, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d145
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004d166
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004d120
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004d1d5
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov edi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d1e9
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1004d1fc
movzx ecx, byte [esp + 0x194]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x20]
jmp 0x1004d2b5
movdqa xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x20]
test esi, esi
je 0x1004d2b2
xor edi, 0xa7
mov dword [esp + 0x70], esi
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], edi
mov eax, ecx
mov dword [esp + 0xb0], ecx
shr ecx, 8
lea edi, [0x647d662]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
shr eax, 0x10
mov dword [esp + 0x9c], ecx
lea ecx, [0x647d663]
mov dword [esp + 0xe0], eax
xor eax, eax
nop dword [eax]
movzx ebx, byte [edi]
mov edi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004d285
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
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 0x1004d2a6
shld dword [esp + 0x20], eax, 4
inc edx
test edi, edi
mov eax, esi
jne 0x1004d260
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
jmp 0x1004d6d5
mov edi, dword [ebp + 8]
test cl, cl
je 0x1004ec2b
mov ebx, dword [esp + 0x60]
mov edx, eax
mov edi, eax
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
xor edx, 0xffffffc0
add eax, 0x3f
mov esi, ebx
mov ecx, ebx
not esi
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, edi
cmove eax, esi
cmove ebx, esi
cmove ecx, esi
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
mov byte [esp + 0x10], 0
sbb ecx, ebx
lea ecx, [esp + 0x190]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfb], eax
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x10060e92
movsd xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
lea edx, [esp + 0x190]
movq qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x647d689
call fcn.10072760
add esp, 0xc
lea esi, [0x647d662]
lea ecx, [0x647d663]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax]
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004d3f5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
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 0x1004d416
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004d3d0
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], edx
je 0x1004d484
xor dword [esp + 0x60], 0xad
mov esi, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
mov edi, dword [esp + 0x50]
mov eax, dword [0x647e000]
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004d60d
mov ecx, esp
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004d620
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x1004ec2b
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
mov ebx, edi
mov eax, esi
mov ecx, edi
mov edx, esi
xor ebx, 0xffffffe0
add ecx, 0x1f
not eax
adc edx, 0
or eax, ebx
mov ebx, 0
mov eax, 1
cmovne eax, edi
cmove edx, ebx
cmove ecx, ebx
cmove esi, ebx
cmp ecx, eax
mov ebx, edx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, esp
lea ecx, [esp + 0x190]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0
sbb ebx, esi
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfb], ecx
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x10060e92
movsd xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfb]
lea edx, [esp + 0x190]
movq qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x647d68c
call fcn.10072760
add esp, 0xc
lea esi, [0x647d662]
lea ecx, [0x647d663]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004d5d0
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
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 0x1004d5f1
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004d5ab
cmp dword [esp + 0x40], 0
mov dword [esp + 0x60], edx
je 0x1004d8aa
xor dword [esp + 0x60], 0xb8
jmp 0x1004d429
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0xa0], xmm0
movss dword [esp + 0x70], xmm0
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb0], edx
mov ecx, eax
shld ecx, edx, 0x18
mov dword [esp + 0x9c], ecx
mov ecx, edx
shrd edx, eax, 0x10
mov dword [esp + 0xe0], edx
xor eax, eax
lea ecx, [0x647d662]
lea edi, [0x647d663]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004d6a5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1004d6c6
shld dword [esp + 0x20], eax, 4
inc edx
test ecx, ecx
mov eax, esi
jne 0x1004d680
mov edx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
test edx, edx
je 0x1004d7e4
mov eax, dword [esp + 0x9c]
movzx ecx, byte [esp + 0xb0]
mov ebx, dword [esp + 0x60]
movd xmm1, edx
mov dword [esp + 0x70], edx
shl eax, 8
mov dword [esp], ebx
movzx eax, ax
or ecx, eax
mov eax, dword [esp + 0xe0]
shl eax, 0x10
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0xd0]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], eax
mov eax, dword [0x647e000]
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004d751
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1004d764
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x70]
movaps xmm0, xmmword [esp + 0x20]
test edx, edx
movlps qword [esp + 0x118], xmm0
je 0x1004d7e4
movzx ecx, word [esp + 0x11d]
xor esi, 0xe8
mov word [esp + 0x195], cx
movzx ecx, byte [esp + 0x11f]
mov byte [esp + 0x197], cl
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x190], edx
mov edx, 0x647b138
mov byte [esp + 0x194], cl
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10061220
add esp, 8
jmp 0x1004ec6d
cmp byte [esp + 0xb0], 0
je 0x1004ec6d
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647d6bc
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xafee5d80
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004ec6d
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004ec6d
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
jmp 0x1004d0de
mov ebx, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x1004d9ea
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x1004ec2b
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
mov dword [esp + 0x24], esi
push esi
mov dword [esp + 0x68], edi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
xor edi, edi
lea esi, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d923
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004d944
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004d8fe
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004dcc4
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x1004ddc6
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1004ddd9
movdqa xmm0, xmmword [esp + 0x60]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov eax, ecx
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x20]
cmp dword [esp], 0
jne 0x1004d0b8
xor ebx, 0x84
lea ecx, [esp + 0x190]
mov edx, edi
push 3
push 0x647d67a
mov dword [esp + 0x68], eax
push eax
mov dword [esp + 0xbc], ebx
push ebx
call fcn.1006afa0
add esp, 0x10
lea ecx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004da3e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004da4d
inc eax
test ecx, ecx
jne 0x1004da20
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004dabd
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004dace
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004dae4
movzx eax, byte [esp + 0x194]
mov ecx, dword [esp + 0xb0]
jmp 0x1004dafe
movdqa xmm0, xmmword [esp + 0xd0]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
cmp dword [esp], 0
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xb0]
jne 0x1004d0b8
movzx eax, byte [esp + 4]
test al, al
je 0x1004d0da
mov edx, ecx
movd xmm0, ecx
mov ecx, dword [esp + 0x60]
xor eax, eax
mov byte [esp + 0x1a0], 2
xor edx, 0xffffff50
movd xmm1, ecx
not ecx
or ecx, edx
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x64745c0]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x64745b0]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov ecx, esp
lea eax, [esp + 0x190]
cmovb ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa3], ecx
movq qword [esp + 0x80], xmm0
movq qword [esp + 0x88], xmm1
jb 0x10060e92
movq xmm0, qword [esp + 0x80]
movq xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa3]
lea edi, [esp + 0x190]
lea esi, [esp + 0x40]
mov edx, edi
movq qword [esp + 0x198], xmm1
movq qword [esp + 0x190], xmm0
mov byte [esp + 0x1a0], 0
mov dword [esp + 0x1a1], eax
mov dword [esp + 0x1a4], ecx
mov ecx, esi
push dword [ebp + 0xc]
push 9
push 0x647d67d
call fcn.10072760
add esp, 0xc
lea ecx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004dc6e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004dc7d
inc eax
test ecx, ecx
jne 0x1004dc50
cmp dword [esp + 0x40], 0
je 0x1004dcd4
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov eax, dword [0x647e000]
mov dword [esp], esi
mov dword [esp + 4], ebx
push 4
push 8
push 0x647da08
push edi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
jne 0x1004cf86
mov eax, dword [esp + 0x194]
mov dword [eax], esi
jmp 0x1004d0ae
movzx ecx, byte [esp + 0x194]
mov edi, dword [ebp + 0xc]
jmp 0x1004ddfe
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1004e1da
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov eax, edi
mov dword [esp + 0x60], ebx
add eax, 4
adc ebx, 0
push 9
push 0x647d67d
push ebx
push eax
call fcn.1006afa0
add esp, 0x10
lea ecx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004dd40
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004dd4f
inc eax
test ecx, ecx
jne 0x1004dd22
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004e160
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push esi
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e16a
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004e182
movdqa xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, dword [esp]
mov ecx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x70], eax
je 0x1004ddfe
xor ebx, 0xbd
mov dword [esp + 0xd0], edx
mov dword [esp + 0x60], ebx
jmp 0x1004d224
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
xor eax, eax
mov byte [esp + 0x111], cl
mov byte [esp + 0x1a0], 2
movd xmm0, esi
movd xmm1, edx
xor esi, 0xffffffdb
not edx
or edx, esi
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x64745d0]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x64745b0]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
lea ecx, [esp + 0x190]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10b], eax
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x40]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [esp + 0x51], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x80]
push edi
push 2
push eax
call fcn.10072760
add esp, 0xc
xor edi, edi
lea edx, [0x647d662]
lea ebx, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004df65
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004df84
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004df40
cmp dword [esp + 0x80], 0
je 0x1004dffc
mov esi, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x84]
mov edi, dword [esp + 0x90]
mov eax, dword [0x647e000]
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 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1004e12e
mov ecx, esp
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004e141
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004ec2b
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0xe0], eax
add eax, 0xfffffffc
mov dword [esp + 0x20], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor edi, edi
lea esi, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004e088
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004e0a9
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004e063
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1004e1ea
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e1fb
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004e215
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0xf8], xmm0
movss dword [esp + 0x70], xmm0
mov edx, dword [esp + 0xfc]
jmp 0x1004d63a
movzx eax, byte [esp + 0x194]
jmp 0x1004e191
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 0x1004d0b1
movzx eax, byte [esp + 4]
test al, al
je 0x1004e1da
mov edx, edi
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [esp + 0x6c]
call fcn.10072d60
add esp, 0x10
mov eax, dword [esp + 0x19c]
cmp dword [esp + 0x190], 0
mov esi, dword [esp + 0x20]
jne 0x1004d0b8
mov esi, dword [esp + 0x198]
jmp 0x1004d0de
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x1004d0de
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004e25b
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
je 0x1004e25b
mov eax, dword [esp + 0xb0]
movzx ecx, word [esp + 0xb0]
xor dword [esp + 0x60], 0xc7
shr eax, 0x10
shr ecx, 8
mov dword [esp + 0xe0], eax
mov dword [esp + 0x9c], ecx
jmp 0x1004d65f
movzx eax, word [esp + 0xb0]
mov cl, 1
mov dword [esp + 0x9c], ecx
cmp eax, 0x64c0
jg 0x1004e28a
cmp eax, 0x446b
je 0x1004e2aa
cmp eax, 0x4481
je 0x1004e2aa
cmp eax, 0x4c81
je 0x1004e2aa
jmp 0x1004e29f
cmp eax, 0x64c1
je 0x1004e2aa
cmp eax, 0x6cc1
je 0x1004e2aa
cmp eax, 0x7481
je 0x1004e2aa
mov dword [esp + 0x9c], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xe0]
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
mov edx, ebx
mov esi, edi
mov eax, ebx
mov ecx, edi
xor edx, 0xffffffe0
add eax, 0x1f
not esi
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, ebx
cmove ecx, esi
cmove eax, esi
cmove edi, esi
cmp eax, edx
mov esi, ecx
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb esi, edi
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov ecx, dword [esp + 0x10b]
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
lea ecx, [esp + 0x80]
mov dword [edx], eax
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
lea esi, [0x647d662]
lea ecx, [0x647d663]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004e3dd
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
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 0x1004e3fe
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004e3b8
cmp dword [esp + 0x80], 0
mov ecx, edx
jne 0x1004df8e
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004ec2b
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0xe0], eax
add eax, 0xfffffffc
mov dword [esp + 0x20], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor edi, edi
lea edx, [0x647d662]
lea esi, [0x647d663]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e49a
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004e4b9
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004e475
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1004e533
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e544
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004e55e
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004e578
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
jne 0x1004e22b
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x1004e59e
cmp eax, 0x446b
je 0x1004e5b3
cmp eax, 0x4481
je 0x1004e5b3
cmp eax, 0x4c81
je 0x1004e5b3
jmp 0x1004e5f2
cmp eax, 0x64c1
je 0x1004e5b3
cmp eax, 0x7481
je 0x1004e5b3
cmp eax, 0x6cc1
jne 0x1004e5f2
cmp byte [esp + 0x9c], 0
mov al, 1
mov dword [esp + 0xb0], eax
je 0x1004e5e9
mov dword [esp + 0x9c], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0x70], 0
jmp 0x1004d65f
mov al, 1
mov dword [esp + 0x9c], eax
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xe0]
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x20], 0
mov edx, ebx
mov esi, edi
mov eax, ebx
mov ecx, edi
xor edx, 0xffffffe0
add eax, 0x1f
not esi
adc ecx, 0
or esi, edx
mov esi, 0
mov edx, 1
cmovne edx, ebx
cmove ecx, esi
cmove eax, esi
cmove edi, esi
cmp eax, edx
mov esi, ecx
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb esi, edi
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov ecx, dword [esp + 0x10b]
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
lea ecx, [esp + 0x80]
mov dword [edx], eax
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
lea esi, [0x647d662]
lea ecx, [0x647d663]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004e725
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
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 0x1004e746
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004e700
cmp dword [esp + 0x80], 0
mov ecx, edx
jne 0x1004df8e
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004ec2b
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffc
mov dword [esp + 0xe0], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor edi, edi
lea edx, [0x647d662]
lea esi, [0x647d663]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e7e2
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004e801
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004e7bd
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x1004e87b
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e88c
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004e8a6
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004e8c0
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
jne 0x1004e22b
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x1004e8e6
cmp eax, 0x446b
je 0x1004e8fb
cmp eax, 0x4481
je 0x1004e8fb
cmp eax, 0x4c81
je 0x1004e8fb
jmp 0x1004e91b
cmp eax, 0x64c1
je 0x1004e8fb
cmp eax, 0x7481
je 0x1004e8fb
cmp eax, 0x6cc1
jne 0x1004e91b
cmp byte [esp + 0x9c], 0
mov al, 1
mov dword [esp + 0xb0], eax
jne 0x1004e5c6
mov al, 1
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0xe0]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov esi, ebx
mov ecx, ebx
xor edx, 0xffffffe0
add eax, 0x1f
not esi
adc ecx, 0
xor edi, edi
or esi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, edi
cmove eax, edi
cmove ebx, edi
mov esi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov ecx, esp
lea eax, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb esi, ebx
cmovb ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
lea esi, [0x647d662]
lea ecx, [0x647d663]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004ea43
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
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 0x1004ea64
shld edi, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x1004ea1e
cmp dword [esp + 0x80], 0
mov ecx, ebx
jne 0x1004df8e
mov eax, dword [esp + 0x88]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x8c]
je 0x1004ec2b
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
add esi, 0xfffffffc
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor edi, edi
lea edx, [0x647d662]
lea esi, [0x647d663]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004eaf5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004eb1a
shld ebx, edi, 4
mov edi, dword [esp + 0x60]
inc eax
test edx, edx
jne 0x1004ead0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004eb90
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004eba1
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
jmp 0x1004ebbb
movzx eax, word [esp + 0x194]
mov dword [esp + 0xb0], eax
jmp 0x1004ebd5
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xd0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x70], ecx
jne 0x1004e22b
movzx eax, word [esp + 0xb0]
cmp eax, 0x64c0
jg 0x1004ebfb
cmp eax, 0x446b
je 0x1004ec10
cmp eax, 0x4481
je 0x1004ec10
cmp eax, 0x4c81
je 0x1004ec10
jmp 0x1004ec28
cmp eax, 0x64c1
je 0x1004ec10
cmp eax, 0x7481
je 0x1004ec10
cmp eax, 0x6cc1
jne 0x1004ec28
cmp byte [esp + 0x9c], 0
je 0x1004ec28
mov al, 1
mov dword [esp + 0xb0], eax
jmp 0x1004e5c6
mov edi, dword [ebp + 8]
lea ecx, [0x647d662]
lea edx, [0x647d663]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004ec5e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004ec6d
inc eax
test ecx, ecx
jne 0x1004ec40
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1004ef4d
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004ef4d
movzx eax, word [eax + 0x126]
not eax
test eax, 0x2022
jne 0x1004ef4d
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea edi, [0x647d662]
lea edx, [0x647d663]
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 0x1004ed05
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004ed26
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x1004ece0
cmp dword [esp + 0x190], 0
je 0x1004ed97
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x128
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004eefb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004ef04
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 1
jne 0x1004ef4d
cmp dword [esp + 8], 0x7dd
jne 0x1004ef4d
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0x144]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x144], ecx
mov ecx, esp
push edi
push 0xb
push 0x647d730
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x647d662]
lea edi, [0x647d663]
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 0x1004ee75
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004ee96
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1004ee50
cmp dword [esp], 0
je 0x100504dc
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x13c
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10050608
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10050614
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1004ef4d
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp]
mov edx, 0x647b13e
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movdqu xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10061220
add esp, 8
mov ecx, dword [edi]
pxor xmm0, xmm0
lea ebx, [esp + 0x190]
lea edx, [esp + 0x80]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 0xcc]
mov ecx, dword [ebp + 0xc]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push ebx
push 8
push 0x647a884
push esi
push eax
call fcn.100698e0
add esp, 0x14
mov eax, dword [esp]
test eax, eax
jne 0x1004f052
cmp dword [esp + 8], 1
jne 0x1004f052
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
lea ecx, [esp + 0x40]
push 4
push 0x647a924
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x82e3ee5a
mov ecx, dword [eax + 0x28]
push dword [esp + 0x44]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004f07a
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
jmp 0x1004f077
test eax, eax
je 0x1004f07a
mov esi, dword [esp + 0x10]
test esi, esi
je 0x1004f07a
mov ecx, esi
call fcn.10006530
mov eax, dword [0x647e000]
push 4
push 8
push esi
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [edi]
test byte [eax + 0x127], 0x20
je 0x1004fa47
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004fa47
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
je 0x1004fa47
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.100709c0
add esp, 4
xor esi, esi
lea edx, [0x6474a5d]
lea ebx, [0x6474a5e]
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 0x1004f105
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004f124
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004f0e0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004f19f
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x41
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1004f1b2
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1004f1c8
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov edi, dword [ebp + 8]
jmp 0x1004f228
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test edx, edx
je 0x1004f21f
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], edx
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x647b146
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 6
call fcn.10061220
add esp, 8
jmp 0x1004fa47
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov dword [esp + 0x9c], ebx
mov ebx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
mov ecx, 5
mov dword [esp + 0x20], 0
lea eax, [ebx + ebx*8]
add ebx, edx
lea eax, [eax + eax*2]
add ebx, eax
mov dword [esp + 0x60], ebx
jmp 0x1004f279
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
add edx, 0x1c
mov dword [esp + 0x20], eax
dec ecx
je 0x1004f965
cmp edx, ebx
je 0x1004f961
mov dword [esp + 0x70], ecx
mov ecx, dword [edi]
mov eax, dword [edx + 0xc]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
add esi, eax
adc edi, 0
cmp dword [ecx + 0x14c], eax
jbe 0x1004f260
cmp dword [esp + 0x20], 3
mov eax, 3
je 0x1004f264
mov eax, dword [ebp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0xb0], edx
mov ecx, esp
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x190]
push eax
push 2
push 0x6474a18
push edi
push esi
call fcn.100698e0
add esp, 0x14
mov eax, dword [esp]
test eax, eax
jne 0x1004f4aa
cmp dword [esp + 8], 1
jne 0x1004f4aa
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
pxor xmm0, xmm0
lea eax, [esp + 0x190]
mov byte [esp + 0x40], 4
mov dword [esp + 0x44], 0x40
mov dword [esp + 0x48], 0x6474a48
mov dword [esp + 0x4c], 1
mov ecx, esp
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
push eax
push 1
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.100698e0
add esp, 0x14
mov eax, dword [esp]
test eax, eax
jne 0x1004f4c0
cmp dword [esp + 8], 1
jne 0x1004f4c0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x190]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
push 0
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea ebx, [0x6474a5e]
xor edx, edx
lea esi, [0x6474a5d]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f415
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004f434
shld edx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004f3f0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004f4e3
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x120], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f4ed
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1004f503
test eax, eax
je 0x1004f4b7
lea ecx, [esp + 0xc]
call fcn.10006530
mov edx, dword [esp + 0xb0]
jmp 0x1004f4d8
test eax, eax
je 0x1004f4cd
lea ecx, [esp + 0xc]
call fcn.10006530
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
xor eax, eax
add eax, dword [esp + 0x20]
jmp 0x1004f264
movzx ecx, byte [esp + 0x194]
jmp 0x1004f515
movdqa xmm0, xmmword [esp + 0x120]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
mov eax, dword [esp]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x1005d540
mov edi, dword [esp + 0xa0]
movzx eax, cl
mov esi, dword [esp + 0xe0]
lea ecx, [esp + 0x190]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [edi]
add eax, 0xfffffffe
adc esi, 0xffffffff
push 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003b310
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x6474a5e]
xor edx, edx
lea ebx, [0x6474a5d]
nop word [eax + eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f595
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004f5b4
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004f570
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004f63b
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov dword [esp + 0xcc], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x60]
je 0x1004f650
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0x130], 0
jmp 0x1004f66d
movzx ecx, byte [esp + 0x194]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
jmp 0x1004f68c
movdqa xmm0, xmmword [esp + 0x130]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0x130], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov eax, dword [esp]
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xb0]
test eax, eax
jne 0x1005d6ee
mov ecx, esi
mov eax, ecx
and al, 0xc7
cmp al, 0x44
jne 0x1004f7c8
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 0
push dword [esp + 0xe4]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1004f88c
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x19c]
movq xmm0, qword [esp + 0x194]
xor edi, edi
mov ecx, 0xfffffff9
lea esi, [0x6474a5e]
lea ebx, [0x6474a5d]
mov dword [esp + 0xd0], eax
xor eax, eax
nop dword [eax + eax]
movzx edx, byte [ebx]
mov ebx, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1004f735
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x1004f754
shld eax, edi, 4
inc ecx
test ebx, ebx
mov edi, edx
jne 0x1004f710
mov eax, dword [esp + 0xe0]
mov edi, dword [esp + 0xd0]
mov esi, edx
mov dword [esp + 0x190], eax
mov eax, dword [0x647e000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004f8ec
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0x130], 0
jmp 0x1004f909
not cl
test cl, 0x84
jne 0x1004f4d8
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 0
push dword [esp + 0xe4]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a340
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea esi, [0x6474a5e]
xor edx, edx
lea ebx, [0x6474a5d]
nop word cs:[eax + eax]
movzx ecx, byte [ebx]
mov ebx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f845
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004f864
shld edx, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x1004f820
mov eax, dword [esp + 0x190]
mov esi, dword [esp + 0x194]
test eax, eax
jne 0x1005df15
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
mov ecx, esi
jmp 0x1004f930
movzx eax, byte [esp + 0x194]
lea edx, [0x6474a5e]
lea ecx, [0x6474a5d]
mov esi, eax
mov eax, 0xfffffff9
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f8ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
mov ebx, dword [esp + 0x60]
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004f8e1
inc eax
test ecx, ecx
jne 0x1004f8b0
mov edx, dword [esp + 0xb0]
mov ecx, esi
jmp 0x1004f92d
movdqa xmm0, xmmword [esp + 0xe0]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [esp + 0x130], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x190]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x1005ddbb
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 0x1004f4da
mov eax, dword [esp + 0x20]
lea edx, [0x6474a5d]
lea esi, [0x6474a5e]
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 0x1004f99e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1004f9ad
inc ecx
test edx, edx
jne 0x1004f980
mov ecx, dword [esp + 0x9c]
dec dword [ecx]
cmp eax, 3
jne 0x1004fa47
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6474a65
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x9fff997c
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004fa47
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
lea ebx, [esp + 0x190]
lea edx, [esp + 0x148]
mov ecx, ebx
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
cmp dword [esp + 0x190], 0
je 0x1004fb98
movdqu xmm0, xmmword [esp + 0x194]
movd eax, xmm0
test eax, eax
je 0x1004faa1
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b14c
mov ecx, dword [eax + 0x28]
push ebx
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x1004fb05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004fb26
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004fae0
cmp dword [esp + 0x190], 0
je 0x1004fce1
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x60
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004fe41
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1004fe4a
cmp dword [esp + 0x198], 0
jne 0x1004faa1
cmp dword [esp + 0x19c], 0x7e3
jne 0x1004faa1
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push ebx
push 7
push 0x6474ab4
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea esi, [0x6474a5d]
lea edx, [0x6474a5e]
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 0x1004fc55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1004fc76
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004fc30
cmp dword [esp], 0
je 0x100500e2
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x76
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10050226
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10050232
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004fe91
cmp dword [esp + 8], 0x7e3
jne 0x1004fe91
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x6478248
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x1004fdb5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1004fdd6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004fd90
cmp dword [esp], 0
je 0x10050184
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x67
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10050270
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005027c
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 0x1004fe91
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b154
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 5
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
cmp ecx, 7
mov dword [esp + 0x190], ecx
jae 0x1004fef6
lea ecx, [0x6478311]
lea edx, [0x6478312]
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 0x1004fede
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10050c57
inc eax
test ecx, ecx
jne 0x1004fec0
jmp 0x10050c57
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x647d68f
call fcn.10039a20
add esp, 8
cmp ax, 1
jne 0x1004fea5
mov esi, edx
cmp dx, 3
jb 0x1004fea5
mov eax, dword [esp + 0x3c]
mov edx, 0x6479dc4
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
mov dword [esp + 0x20], ecx
push eax
push 0x16
call fcn.10061800
add esp, 8
movzx ecx, si
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004ff7e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1004ff8d
inc eax
test edx, edx
jne 0x1004ff60
mov eax, dword [edi]
add ecx, 0xfffffffe
mov edx, dword [eax + 0x12c]
cmp ecx, edx
jae 0x1005f6c3
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffffc00
add esi, dword [edx + ecx*8 + 8]
cmp esi, 0xbff
ja 0x10050c57
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 0x10050c57
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov dword [esp + 0x60], ebx
mov edx, dword [eax]
push ebx
mov dword [esp + 0x74], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003af90
add esp, 0x10
xor edi, edi
lea ebx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10050045
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10050066
shld esi, edi, 4
inc eax
test ebx, ebx
mov edi, ecx
jne 0x10050020
cmp dword [esp + 0x190], 0
je 0x100502b3
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor ecx, 0x9f
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x100503c6
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100503cf
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004faa1
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6474b40
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x1e0c01b6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004faa1
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004faa1
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004fe91
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478319
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xfdf0f7ce
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c6f
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004fe91
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004fe91
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
lea ebx, [esp + 0x190]
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
movd eax, xmm0
test eax, eax
jne 0x1004fa82
jmp 0x1004faa1
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004fe6b
jmp 0x1004fe91
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x60]
or ecx, dword [esp + 0x1a4]
or eax, dword [esp + 0x1a0]
or eax, ecx
mov eax, dword [esp + 0x70]
jne 0x10050c57
mov edi, dword [ebp + 0xc]
add eax, 0x10
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003af90
add esp, 0x10
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005033e
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1005035d
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10050319
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
je 0x10050641
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor ecx, 0xa5
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
jne 0x100500cf
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov esi, eax
shr eax, 8
movq qword [esp], xmm0
movd edx, xmm0
shld esi, ebx, 0x18
mov ecx, dword [esp + 4]
shld ebx, ecx, 0x18
test edx, edx
je 0x10050445
mov dword [esp + 0x190], edx
mov byte [esp + 0x194], cl
mov ecx, dword [esp + 0x20]
mov word [esp + 0x19d], ax
shr eax, 0x10
mov dword [esp + 0x195], ebx
mov dword [esp + 0x199], esi
mov edx, 0x647b159
mov byte [esp + 0x19f], al
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
jmp 0x10050c57
test cl, 1
je 0x10050c57
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478330
call fcn.1001ee00
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.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10050c57
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10050c57
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10050633
mov ecx, dword [esp + 0x144]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0x114]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x114], ecx
mov ecx, esp
push edi
push 1
push 0x647d6d8
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ecx, ecx
lea edx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050584
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x100505a3
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005055f
cmp dword [esp], 0
je 0x100593dd
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor ebx, 0xf7
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005eee7
lea ecx, [esp + 0x40]
call fcn.10006530
xor edx, edx
jmp 0x1005eef3
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd eax, xmm0
jmp 0x1004ef1d
xor eax, eax
mov dword [esp], 0
jmp 0x1004ef1a
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1a4]
mov esi, dword [esp + 0x60]
add ecx, 0xffffffff
adc edx, 0xffffffff
adc eax, 0xffffffff
cmp ecx, 0xffffffff
sbb edx, 0
sbb eax, 0
mov eax, dword [esp + 0x70]
jae 0x10050c57
mov edi, dword [ebp + 0xc]
add eax, 0x50
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003af90
add esp, 0x10
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100506d2
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100506f1
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100506ad
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050c57
mov ebx, dword [ebp + 0xc]
add eax, 0x90
lea ecx, [esp + 0x190]
mov dword [esp + 0xb0], 0
adc esi, 0
mov edx, dword [ebx]
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1003af90
add esp, 0x10
lea ecx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100507ac
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x100507d0
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x10050787
cmp dword [esp + 0x190], 0
mov ecx, ebx
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050c57
mov edi, dword [ebp + 0xc]
add eax, 0xd0
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003af90
add esp, 0x10
lea ecx, [0x6478311]
lea esi, [0x6478312]
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 0x10050881
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x100508a0
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005085c
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050c57
mov edi, dword [ebp + 0xc]
add eax, 0x110
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003af90
add esp, 0x10
lea ecx, [0x6478311]
lea esi, [0x6478312]
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 0x10050954
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10050973
shld edi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005092f
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
mov dword [esp + 0xb0], 0
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050c57
mov edi, dword [ebp + 0xc]
add eax, 0x150
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003af90
add esp, 0x10
lea ecx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050a30
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10050a54
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x10050a0b
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
mov dword [esp + 0xb0], 0
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov eax, 0
mov esi, dword [esp + 0x60]
sbb eax, ecx
mov eax, 0
sbb eax, edx
mov eax, dword [esp + 0x70]
jb 0x10050c57
mov edi, dword [ebp + 0xc]
add eax, 0x190
lea ecx, [esp + 0x190]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003af90
add esp, 0x10
lea ecx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050b11
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10050b35
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x10050aec
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov esi, 0xffffffff
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xb0], 0
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, 0xfffffffe
cmp esi, eax
mov esi, dword [esp + 0x70]
mov eax, 0
sbb eax, ecx
mov eax, 0
sbb eax, edx
jb 0x10050c57
mov eax, dword [ebp + 0xc]
add esi, 0x1d0
lea ecx, [esp + 0x190]
adc ebx, 0
mov edx, dword [eax]
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003af90
add esp, 0x10
lea ecx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050bf3
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10050c17
shld dword [esp + 0xb0], edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x10050bce
cmp dword [esp + 0x190], 0
mov edi, dword [ebp + 8]
mov ecx, ebx
jne 0x1005036e
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov edx, 0xffffffff
add eax, edx
adc ecx, edx
adc edx, dword [esp + 0x1a4]
cmp eax, 0xffffffff
sbb ecx, 0
sbb edx, 0
jb 0x1005044e
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x10050f6a
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.100709c0
add esp, 4
xor edi, edi
lea esi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10050cb5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10050cd6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10050c90
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10050d54
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0xd4
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10050d74
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10050d8a
mov esi, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov edi, dword [ebp + 8]
cmp dword [esi + 0x34], 5
je 0x10050df6
jmp 0x10050f68
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, ebx
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x10050de3
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
mov edx, 0x647b160
movsd qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
jmp 0x10050f6a
pshufd xmm0, xmm0, 0x55
movd esi, xmm0
cmp dword [esi + 0x34], 5
jne 0x10050f68
mov ecx, 0x6478334
mov edx, 6
call 0x10073b90
mov esi, dword [esi + 0x30]
cmp dword [esi], 0
je 0x10050e12
cmp dword [esi + 4], eax
je 0x10050e46
cmp dword [esi + 0x1c], 0
je 0x10050e1d
cmp dword [esi + 0x20], eax
je 0x10050e46
cmp dword [esi + 0x38], 0
je 0x10050e28
cmp dword [esi + 0x3c], eax
je 0x10050e46
cmp dword [esi + 0x54], 0
je 0x10050e33
cmp dword [esi + 0x58], eax
je 0x10050e46
cmp dword [esi + 0x70], 0
je 0x10050f68
cmp dword [esi + 0x74], eax
jne 0x10050f68
mov ecx, 0x647833a
mov edx, 9
call 0x10073b90
cmp dword [esi], 0
je 0x10050e5f
cmp dword [esi + 4], eax
je 0x10050e93
cmp dword [esi + 0x1c], 0
je 0x10050e6a
cmp dword [esi + 0x20], eax
je 0x10050e93
cmp dword [esi + 0x38], 0
je 0x10050e75
cmp dword [esi + 0x3c], eax
je 0x10050e93
cmp dword [esi + 0x54], 0
je 0x10050e80
cmp dword [esi + 0x58], eax
je 0x10050e93
cmp dword [esi + 0x70], 0
je 0x10050f68
cmp dword [esi + 0x74], eax
jne 0x10050f68
mov ecx, 0x6478343
mov edx, 0x14
call 0x10073b90
cmp dword [esi], 0
je 0x10050eac
cmp dword [esi + 4], eax
je 0x10050ee0
cmp dword [esi + 0x1c], 0
je 0x10050eb7
cmp dword [esi + 0x20], eax
je 0x10050ee0
cmp dword [esi + 0x38], 0
je 0x10050ec2
cmp dword [esi + 0x3c], eax
je 0x10050ee0
cmp dword [esi + 0x54], 0
je 0x10050ecd
cmp dword [esi + 0x58], eax
je 0x10050ee0
cmp dword [esi + 0x70], 0
je 0x10050f68
cmp dword [esi + 0x74], eax
jne 0x10050f68
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478357
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10050f68
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
dec dword [ebx]
push 0x200
push 0
lea eax, [esp + 0x198]
push eax
call 0x10073eb0
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x148]
push edi
call fcn.10005d80
add esp, 4
xor ecx, ecx
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050fd5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10050ff4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10050fb0
mov eax, dword [esp]
test eax, eax
je 0x10051061
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x647e000]
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 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1005106e
lea ecx, [esp + 0xa0]
call fcn.10006530
xor esi, esi
jmp 0x10051086
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edi, dword [ebp + 8]
jmp 0x1005109e
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov esi, ecx
movq xmm0, qword [esp + 0x40]
xor ebx, 0xf8
movd eax, xmm0
test eax, eax
jne 0x100517bd
cmp ebx, 0x8000
mov eax, esi
xorps xmm0, xmm0
sbb eax, 0
jae 0x100510bf
movd eax, xmm0
test eax, eax
jne 0x100517c5
jmp 0x100517fa
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005f2aa
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor edi, edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x20], 0
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov ecx, esi
sub ebx, edx
sbb ecx, 0
cmovb ecx, edi
cmovb ebx, edi
mov edi, dword [ebp + 8]
cmp ebx, 0x8000
sbb ecx, 0
jb 0x100517bd
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x60], esi
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0xb4], eax
push dword [eax + 8]
call fcn.10039000
add esp, 8
lea esi, [0x6478311]
lea ecx, [0x6478312]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x10051175
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
add bl, 0xa9
mov ecx, ebx
mov edx, edi
movzx ebx, cl
lea ecx, [esi + 1]
shl edx, 4
or ebx, edx
test eax, eax
cmove ecx, esi
je 0x10051196
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, ebx
jne 0x10051150
cmp dword [esp], 0
je 0x100511fd
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor ebx, 0x104
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10051297
lea ecx, [esp + 0x80]
call fcn.10006530
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x100517b7
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x10060d79
mov eax, dword [esp + 8]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov ecx, esp
mov dword [esp + 0x130], edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
adc esi, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x198]
push edi
push esi
push eax
push dword [esp + 0xc4]
push dword [esp + 0x38]
call fcn.10039b30
add esp, 0x1c
mov eax, dword [esp]
mov dword [esp + 0xe0], ebx
test eax, eax
je 0x100512aa
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], ecx
jmp 0x10051351
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
mov esi, eax
jmp 0x100517b7
cmp dword [esp + 4], 0x10
jne 0x100512cc
mov dword [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
jmp 0x10051351
xor ecx, ecx
lea edx, [0x647c965]
lea esi, [0x647c966]
mov eax, 0xfffffff9
xor edi, edi
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10051306
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x10051325
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100512e1
movdqa xmm0, xmmword [0x64745e0]
xor ebx, 0x91
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea edi, [0x6478311]
lea esi, [0x6478312]
mov ecx, 0xfffffff9
xor eax, eax
nop word cs:[eax + eax]
movzx ebx, byte [edi]
mov edi, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10051395
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
add bl, 0xa9
mov bh, bl
mov esi, edx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edi + 1]
test ecx, ecx
cmove esi, edi
je 0x100513b4
shld eax, edx, 4
inc ecx
test edi, edi
mov edx, ebx
jne 0x10051370
mov eax, dword [esp + 0xd0]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x60]
test eax, eax
je 0x1005145e
mov esi, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [0x647e000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10051428
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x1005143e
movdqa xmm0, xmmword [esp + 0xd0]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm1, qword [esp]
mov esi, dword [esp + 0x60]
movd eax, xmm1
test eax, eax
je 0x1005145e
xor ebx, 0x10c
mov dword [esp + 0x60], ecx
jmp 0x10051759
xor eax, eax
cmp dword [esp + 0x190], 0x6578652e
je 0x10051564
cmp dword [esp + 0x191], 0x6578652e
mov eax, 1
je 0x10051564
cmp dword [esp + 0x192], 0x6578652e
mov eax, 2
je 0x10051564
cmp dword [esp + 0x193], 0x6578652e
mov eax, 3
je 0x10051564
cmp dword [esp + 0x194], 0x6578652e
mov eax, 4
je 0x10051564
cmp dword [esp + 0x195], 0x6578652e
mov eax, 5
je 0x10051564
cmp dword [esp + 0x196], 0x6578652e
mov eax, 6
je 0x10051564
cmp dword [esp + 0x197], 0x6578652e
mov eax, 7
je 0x10051564
cmp dword [esp + 0x198], 0x6578652e
mov eax, 8
je 0x10051564
cmp dword [esp + 0x199], 0x6578652e
mov eax, 9
je 0x10051564
cmp dword [esp + 0x19a], 0x6578652e
mov eax, 0xa
je 0x10051564
cmp dword [esp + 0x19b], 0x6578652e
mov eax, 0xb
je 0x10051564
cmp dword [esp + 0x19c], 0x6578652e
mov eax, 0xc
je 0x10051564
xor eax, eax
jmp 0x10051759
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x130]
mov ecx, esp
add edi, eax
adc esi, 0
add edi, 0xfffffdf0
adc esi, 0xffffffff
push 0
push 0x200
lea eax, [esp + 0x198]
push eax
push esi
push edi
push dword [esp + 0xc4]
push dword [esp + 0x38]
call fcn.10039b30
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x100515c1
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], ecx
jmp 0x1005165c
cmp dword [esp + 4], 0x200
jne 0x100515dd
mov dword [esp + 0x20], 0
mov dword [esp + 0x70], 0
jmp 0x1005165c
xor ecx, ecx
lea edx, [0x647c965]
lea edi, [0x647c966]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10051617
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10051636
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100515f2
movdqa xmm0, xmmword [0x64745e0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea eax, [0x6478311]
lea esi, [0x6478312]
mov ecx, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [eax]
mov eax, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x100516a5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x100516c4
shld edi, edx, 4
inc ecx
test eax, eax
mov edx, ebx
jne 0x10051680
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
test eax, eax
je 0x100523cf
mov esi, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [0x647e000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005172b
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x1005173e
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm1, qword [esp]
movd eax, xmm1
test eax, eax
je 0x100523cf
mov dword [esp + 0x60], ecx
xor ebx, 0x11c
mov esi, dword [esp + 0xe0]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x9c]
movd xmm0, eax
movss xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
push esi
call fcn.1003dd60
add esp, 4
dec dword [esi]
jne 0x100517b3
inc dword [esi + 4]
lea ecx, [esi + 8]
call fcn.1002f240
mov eax, dword [esi + 4]
dec eax
mov dword [esi + 4], eax
or eax, dword [esi]
jne 0x100517b3
mov eax, dword [0x647e000]
push 8
push 0x30
push esi
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
mov esi, dword [esp + 0x60]
movdqa xmm0, xmmword [esp + 0x20]
movd eax, xmm0
test eax, eax
je 0x100517fa
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x190], xmm0
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], esi
mov edx, 0x647b167
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10051a30
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0x80]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push edi
push 3
push 0x6478390
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x100518b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100518d6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10051890
cmp dword [esp], 0
je 0x10051931
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100519cc
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x100519d8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10051a30
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64783cc
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xebe78076
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c74
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10051a30
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10051a30
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10051a30
xor esi, 0x141
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x647b16e
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
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 0x10051a95
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10051ab6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10051a70
cmp dword [esp + 0x190], 0
je 0x10051b27
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x16a
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10051c94
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10051c9d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x10051ce4
cmp dword [esp + 8], 0x1ec
jne 0x10051ce4
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x6478468
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051c05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10051c26
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10051be0
cmp dword [esp], 0
je 0x10052195
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x171
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005234c
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10052358
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 0x10051ce4
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b175
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
xorps xmm0, xmm0
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
movaps xmmword [esp + 0x40], xmm0
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051d55
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10051d76
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10051d30
cmp dword [esp + 0x190], 0
je 0x10051ded
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x196
mov dword [esp + 0xa0], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10051f64
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10051f70
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
pxor xmm1, xmm1
cmp dword [esp + 4], 0
jne 0x10052344
cmp dword [esp + 8], 0x13418bf
mov edi, dword [ebp + 8]
jne 0x10051f8b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0xf8]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xf8], ecx
mov ecx, esp
push edi
push 9
push 0x647853c
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051ed5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10051ef6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10051eb0
cmp dword [esp], 0
je 0x10052237
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x19e
mov dword [esp + 0xa0], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005238f
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1005239b
mov eax, dword [esp + 0x84]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm1, xmmword [esp]
movd eax, xmm1
test eax, eax
je 0x10051fba
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x190], xmm1
mov edx, 0x647b17c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x1005279c
mov edx, dword [eax + 0x128]
lea esi, [ecx + ecx*4]
mov ecx, dword [edx + esi*8 - 0x20]
lea edi, [ecx - 0x20000]
cmp edi, 0x1dffff
mov edi, dword [ebp + 8]
ja 0x1005279c
lea edx, [edx + esi*8]
mov esi, 0x636f6c
movq xmm0, qword [edx - 0x28]
mov edx, 0x6c65722e
movq qword [esp + 0x80], xmm0
xor edx, dword [esp + 0x80]
xor esi, dword [esp + 0x83]
or esi, edx
je 0x10052045
mov edx, 0x7273722e
movzx esi, word [esp + 0x84]
xor edx, dword [esp + 0x80]
xor esi, 0x63
or esi, edx
jne 0x1005279c
lea edx, [eax + 0x28]
cmp dword [edx], 0
jne 0x10052051
jmp 0x1005279c
lea edx, [eax + 0x40]
cmp dword [edx], 0
je 0x1005279c
cmp dword [edx + 4], ecx
jae 0x1005279c
mov esi, dword [eax + 0xcc]
cmp dword [eax + 0x14c], esi
jbe 0x1005279c
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], eax
adc edi, 0
lea eax, [esp + 0x190]
push eax
push 2
push 0x6478634
push edi
push esi
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x10052115
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10052136
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100520f0
cmp dword [esp], 0
je 0x10052416
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10052738
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10052744
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10051ce4
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478530
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x36c5fd6c
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c75
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10051ce4
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10051ce4
mov eax, dword [esp + 8]
pxor xmm1, xmm1
or eax, dword [esp + 0xc]
je 0x10052344
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 8]
call fcn.10005d80
add esp, 4
xor esi, esi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100522a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100522c4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10052280
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100523fc
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005258f
lea ecx, [esp + 0xa0]
call fcn.10006530
xor ebx, ebx
jmp 0x100525a5
mov edi, dword [ebp + 8]
jmp 0x10051f8b
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10051cbe
jmp 0x10051ce4
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movlps qword [esp + 0x80], xmm2
mov dword [esp + 0x88], esi
movsd xmm1, qword [esp + 0x84]
mov edi, dword [ebp + 8]
movd xmm0, eax
shufps xmm0, xmm1, 0xd4
unpcklps xmm1, xmm2
shufps xmm1, xmm0, 0x21
jmp 0x10051f8b
mov ebx, dword [esp + 0xe0]
mov eax, 0xfffffe00
test eax, eax
je 0x100524b8
movzx ecx, byte [esp + eax + 0x390]
inc eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x100523db
jmp 0x10052534
mov esi, dword [esp + 0x198]
mov ebx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm1, xmm1
jmp 0x100525d8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1005279c
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647865c
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005279c
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005279c
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x647835b
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x7c82936c
mov ecx, dword [eax + 0x28]
push dword [esp + 0x44]
push esi
push 0xffff1c73
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10052534
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x9c]
push ebx
call fcn.1003dd60
add esp, 4
dec dword [ebx]
jne 0x1005257a
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002f240
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x1005257a
mov eax, dword [0x647e000]
push 8
push 0x30
push ebx
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
pxor xmm0, xmm0
movd eax, xmm0
test eax, eax
jne 0x100517c5
jmp 0x100517fa
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
xor esi, 0x1a4
pxor xmm1, xmm1
movd eax, xmm0
test eax, eax
je 0x100525d8
movd xmm1, esi
movd xmm2, ebx
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm0
jmp 0x10051f8b
cmp esi, 0x8000
mov eax, ebx
sbb eax, 0
jb 0x10051f8b
mov eax, dword [edi]
mov dword [esp + 0x70], esi
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005f2aa
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor esi, esi
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, ebx
sub eax, edx
sbb ecx, 0
cmovb eax, esi
cmovb ecx, esi
cmp eax, 0x8000
sbb ecx, 0
jb 0x10051f8b
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x190]
mov dword [esp + 0x20], 0
mov dword [esp + 0xb0], ebx
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10039000
add esp, 8
lea esi, [0x6478311]
lea ecx, [0x6478312]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1005269c
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x100610d8
add bl, 0xa9
mov ecx, ebx
mov ebx, edx
movzx edi, cl
lea ecx, [esi + 1]
shl ebx, 4
or edi, ebx
test eax, eax
cmove ecx, esi
je 0x100526bd
shld dword [esp + 0x20], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x10052677
cmp dword [esp + 0x190], 0
je 0x10059311
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x1ae
mov dword [esp + 0xa0], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005d331
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1005d33d
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1005279c
xor esi, 0x1ec
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x647b183
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x6478660
call fcn.10039a20
add esp, 8
cmp ax, 1
jne 0x10052d03
mov eax, dword [edi]
mov ecx, edx
movzx ecx, cx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x1005eb61
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov ebx, dword [eax + 8]
mov esi, dword [edx + ecx*8 + 0xc]
add ebx, esi
mov dword [esp + 0xd0], ebx
mov ebx, dword [eax + 0xc]
adc ebx, 0
cmp dword [eax + 0x14c], esi
mov al, 1
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xcc], eax
jbe 0x10052c28
mov eax, dword [edx + ecx*8 + 0x10]
cmp eax, 0x1000
mov dword [esp + 0x180], eax
jb 0x10052c28
pxor xmm0, xmm0
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x9c], 0
movdqa xmmword [esp], xmm0
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, dword [esp + 0x180]
mov eax, esi
sbb eax, 0
jae 0x10052c28
mov eax, ecx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x70], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x190]
add eax, dword [esp + 0xd0]
mov edx, dword [edi]
adc esi, dword [esp + 0xe0]
push 1
push 0x10
lea ebx, [esp + 8]
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10039b30
add esp, 0x1c
mov ecx, dword [esp + 0x190]
test ecx, ecx
je 0x100528d3
movq xmm0, qword [esp + 0x194]
mov eax, dword [esp + 0x19c]
movdqa xmmword [esp + 0x130], xmm0
mov dword [esp + 0x70], eax
jmp 0x10052970
xor ecx, ecx
cmp dword [esp + 0x194], 0x10
je 0x10052970
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x647c966]
xor edx, edx
lea esi, [0x647c965]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10052925
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10052944
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10052900
movdqa xmm1, xmmword [0x64745e0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov ecx, 0xc76970a8
movd xmm0, ebx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x130], xmm1
inc dword [esp + 0x9c]
mov dword [esp + 0x120], ecx
xor edi, edi
mov ecx, 0xfffffff9
lea eax, [0x6478312]
lea ebx, [0x6478311]
mov dword [esp + 0x20], 0
nop dword [eax]
movzx edx, byte [ebx]
mov ebx, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x100529c1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100610d8
add dl, 0xa9
mov eax, edx
mov edx, edi
movzx esi, al
lea eax, [ebx + 1]
shl edx, 4
or esi, edx
test ecx, ecx
cmove eax, ebx
je 0x100529e2
shld dword [esp + 0x20], edi, 4
inc ecx
test ebx, ebx
mov edi, esi
jne 0x100529a0
mov eax, dword [esp + 0x120]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x70]
test eax, eax
je 0x10052a8d
movdqa xmm0, xmmword [esp + 0x130]
mov dword [esp + 0x190], eax
mov eax, dword [0x647e000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
mov edi, edx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10052a62
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x10052a75
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
movq xmm0, qword [esp + 0x190]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10057bd6
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 [0x6474600]
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 0x10052c28
add eax, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
mov esi, ebx
lea ecx, [esp + 0x190]
adc esi, dword [esp + 0xe0]
mov edx, dword [edi]
add eax, 0x10
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a340
add esp, 0x14
xor esi, esi
mov eax, 0xfffffff9
lea ebx, [0x6478312]
xor edx, edx
lea edi, [0x6478311]
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10052b95
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx ecx, ch
shl ebx, 4
or ecx, ebx
lea ebx, [edi + 1]
test eax, eax
cmove ebx, edi
je 0x10052bb4
shld edx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10052b70
mov eax, dword [esp + 0x190]
mov esi, ecx
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x100576de
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x60]
lea eax, [ecx - 2]
cmp eax, 0xfd
jae 0x10052c25
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 0x10052c25
cmp dword [esp + 0x9c], 8
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
jne 0x10052850
mov dword [esp + 0xcc], 0
jmp 0x10052c28
mov edi, dword [ebp + 8]
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052c5e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10052c6d
inc eax
test ecx, ecx
jne 0x10052c40
cmp byte [esp + 0xcc], 0
jne 0x10052d03
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478665
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xc39eb295
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c71
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10052d03
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.100709c0
add esp, 4
xor ebx, ebx
lea edi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052d65
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10052d86
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10052d40
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10052dff
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor esi, 0x248
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10052e1f
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10052e35
mov eax, dword [esp + 0x194]
mov esi, dword [esp + 0x198]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x34]
dec dword [esi]
cmp eax, 1
je 0x10052e6a
jmp 0x1005321d
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], esi
test ecx, ecx
jne 0x100531e2
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov eax, dword [eax + 0x34]
dec dword [esi]
cmp eax, 1
jne 0x1005321d
lea ecx, [esp + 0x190]
mov edx, edi
push dword [ebp + 0xc]
call fcn.100709c0
add esp, 4
xor ecx, ecx
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10052ec5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10052ee4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10052ea0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10052f67
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ebx, 0x24c
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x100530c9
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x100530df
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov edi, dword [ebp + 8]
cmp dword [eax + 0x34], 0
je 0x1005310d
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
mov eax, dword [eax + 0xc]
cmp dword [ecx + 0x14c], eax
jbe 0x100530c2
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
adc esi, 0
dec dword [ebx]
mov dword [esp + 0xa0], ecx
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
push edi
push 3
push 0x64787c0
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ecx, ecx
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
nop word [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10053035
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10053054
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10053010
cmp dword [esp], 0
je 0x10053120
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor ebx, 0x271
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100531bb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100531c7
dec dword [ebx]
jmp 0x1005321d
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
jne 0x100531e2
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp dword [eax + 0x34], 0
jne 0x10052f82
xor ecx, ecx
xor edx, edx
push 0x647866c
call fcn.10007630
add esp, 4
ud2
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1005321d
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64787fc
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x46ad7733
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c77
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005321d
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005321d
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x1005321d
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], ecx
mov edx, 0x647b191
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10053450
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0x80]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push edi
push 4
push 0x647887c
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100532d5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100532f6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100532b0
cmp dword [esp], 0
je 0x10053351
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100533ec
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x100533f8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10053450
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64788cc
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe2773f3
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c78
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10053450
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10053450
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10053450
xor esi, 0x2a1
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x647b199
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
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 0x100534b5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x100534d6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10053490
cmp dword [esp + 0x190], 0
je 0x10053547
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x2b5
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100536b4
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100536bd
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10053704
cmp dword [esp + 8], 0x1337c68
jne 0x10053704
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x6478920
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053625
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10053646
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10053600
cmp dword [esp], 0
je 0x10054591
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x2c9
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100546d5
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100546e1
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 0x10053704
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b1a1
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x6478660
call fcn.10039a20
add esp, 8
cmp ax, 1
jne 0x100537dd
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0x14c]
mov edi, dword [eax + 0xc]
mov ecx, esi
add ecx, ebx
mov dword [esp + 0xcc], ecx
mov ecx, edi
adc ecx, 0
mov dword [esp + 0x130], ecx
movzx ecx, dx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x1005eb70
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x120], esi
mov dword [esp + 0x9c], edi
mov edx, dword [eax + ecx*8 + 0xc]
add esi, edx
adc edi, 0
cmp ebx, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x70], edi
jbe 0x1005379b
cmp dword [eax + ecx*8 + 0x10], 0x1000
jae 0x10053d04
mov edi, dword [ebp + 8]
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100537ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100537dd
inc eax
test ecx, ecx
jne 0x100537b0
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053845
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10053866
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10053820
cmp dword [esp + 0x190], 0
je 0x100538d7
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x333
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10053a44
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10053a4d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10053a94
cmp dword [esp + 8], 0x7e3
jne 0x10053a94
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 6
push 0x6478a60
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100539b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100539d6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10053990
cmp dword [esp], 0
je 0x10054633
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x34b
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10054718
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10054724
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 0x10053a94
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b1b1
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
cmp dword [esp + 0x178], 0x63
ja 0x1005418e
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10053b05
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10053b26
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10053ae0
cmp dword [esp + 0x190], 0
je 0x10053b97
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x363
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005413e
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10054147
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1005418e
cmp dword [esp + 8], 0x7e3
jne 0x1005418e
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 8
push 0x6478b40
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053c75
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10053c96
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10053c50
cmp dword [esp], 0
je 0x1005481c
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x37d
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10057625
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10057631
xor eax, eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x180], ebx
inc ecx
mov dword [esp + 0x60], eax
mov edi, dword [ebp + 0xc]
add eax, dword [esp + 0x20]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0x190]
adc esi, dword [esp + 0x70]
mov edx, dword [edi]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a340
add esp, 0x14
mov eax, 0xfffffff9
lea edi, [0x6478312]
xor edx, edx
xor ecx, ecx
lea esi, [0x6478311]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10053d85
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test eax, eax
cmove edi, esi
je 0x10053da4
shld ecx, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x10053d60
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
test eax, eax
mov dword [esp + 0xd0], ecx
jne 0x1005774b
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x100577a7
mov eax, dword [esp + 0x60]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0xb0]
lea ecx, [esp + 0x190]
or eax, 4
mov edx, dword [edi]
add eax, dword [esp + 0x20]
adc esi, dword [esp + 0x70]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a340
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x6478312]
xor edx, edx
lea esi, [0x6478311]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10053e45
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10053e64
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10053e20
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x100577f6
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x10057859
xor ecx, dword [esp + 0xd0]
mov edi, dword [ebp + 8]
cmp ecx, 0x68
jb 0x100548be
cmp dword [esp + 0x180], ecx
jbe 0x100548be
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x190]
add eax, dword [esp + 0x20]
mov edx, dword [edi]
adc esi, dword [esp + 0x70]
add eax, 0x60
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x6478312]
xor edx, edx
lea esi, [0x6478311]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10053f25
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10053f44
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10053f00
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10053fb7
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x11a0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x10053fd1
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x10053fe7
mov ebx, dword [esp + 0x198]
mov edx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x9c]
jmp 0x10054005
movdqa xmm0, xmmword [esp + 0x11a0]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp]
mov ecx, dword [esp + 0x9c]
xor ebx, 0x30b
movd eax, xmm0
test eax, eax
jne 0x10057e6f
add ebx, dword [esp + 0xd0]
mov eax, 0xffffffff
adc edx, 0
cmovb ebx, eax
cmovb edx, eax
cmp ebx, dword [esp + 0x120]
mov eax, edx
sbb eax, ecx
jb 0x100548be
cmp ebx, dword [esp + 0xcc]
sbb edx, dword [esp + 0x130]
jae 0x100548be
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xe0]
add eax, 0x68
adc esi, 0
cmp ecx, 3
jne 0x10053d11
lea ecx, [0x6478311]
lea edx, [0x6478312]
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 0x1005409e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100540ad
inc eax
test ecx, ecx
jne 0x10054080
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64789ec
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xcaa27b2b
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7a
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100537dd
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100537dd
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 0x1005418e
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b1b9
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffffe00
add ecx, dword [eax + 0x2c]
cmp ecx, 0x7fdff
ja 0x100549ae
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10071950
add esp, 4
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100541f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10054214
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100541d0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10054294
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x393
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x100542a8
lea ecx, [esp + 0xa0]
call fcn.10006530
xor ebx, ebx
jmp 0x100542be
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x70], eax
jmp 0x100542ed
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], esi
movq xmm0, qword [esp]
mov eax, dword [esp + 0x70]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test esi, esi
je 0x100542e4
movsd xmm0, qword [esp + 0x44]
jmp 0x1005497a
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x6478be4
mov edx, 0x1c
call 0x10073b90
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x190], 4
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
test eax, eax
je 0x100543fc
imul ebx, eax, 0x2c
xor eax, eax
xor edi, edi
mov dword [esp + 0x60], 4
add ebx, esi
add esi, 0x2c
jmp 0x1005435b
cmp esi, ebx
lea esi, [esi + 0x2c]
je 0x10054408
cmp dword [esi - 0x1c], 0
jne 0x10054350
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esi - 0x18]
jne 0x10054350
mov ecx, dword [esi - 8]
mov edx, 0xfffffe00
add ecx, edx
cmp ecx, 0x7fe00
jae 0x10054350
inc edi
je 0x10060e16
cmp edi, dword [esp + 0x198]
jbe 0x100543cb
mov dword [esp + 0x60], edi
mov ecx, dword [esp + 0x60]
call fcn.1001fce0
mov edx, dword [esp + 0x60]
cmp eax, edx
jbe 0x100543b7
lea ecx, [esp + 0x190]
mov edx, eax
call fcn.1002e610
mov edx, dword [esp + 0x60]
cmp al, 8
je 0x100543cb
lea ecx, [esp + 0x190]
call fcn.1002e610
cmp al, 8
jne 0x10060e2b
mov edx, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
lea eax, [esi - 0x2c]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x60], edx
mov eax, ecx
mov edi, ecx
mov dword [esp + 0x194], ecx
shr eax, 8
cmp esi, ebx
jne 0x10054340
jmp 0x10054408
mov dword [esp + 0x60], 4
xor eax, eax
xor edi, edi
mov ecx, dword [esp + 0x198]
shl eax, 8
mov dword [esp + 0xb0], ecx
mov ecx, edi
movzx ecx, cl
or ecx, eax
je 0x10054574
mov eax, dword [esp + 0x60]
mov edi, dword [ebp + 8]
mov esi, 0
mov eax, dword [eax]
mov ecx, dword [edi]
mov eax, dword [eax + 0x20]
cmp dword [ecx + 0x14c], eax
jbe 0x10054585
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
adc esi, 0
mov ecx, esp
push edi
push 2
push 0x6478c14
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100544e5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10054506
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x100544c0
cmp dword [esp], 0
je 0x1005475b
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x3aa
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10054906
lea ecx, [esp + 0x80]
call fcn.10006530
xor ebx, ebx
jmp 0x10054914
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x1005493d
mov eax, dword [esp + 0xb0]
jmp 0x1005493d
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10053704
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64789e8
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd5bd7431
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c79
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10053704
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10053704
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10053a94
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478ad8
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x41f68039
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7b
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10053a94
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10053a94
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x100536de
jmp 0x10053704
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10053a6e
jmp 0x10053a94
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100547f4
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478c3c
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6871a1e5
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7d
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100547f4
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0xb0]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10057bad
xor esi, esi
jmp 0x10054954
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1005418e
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478be0
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x162d86a9
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7c
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005418e
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005418e
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100548ee
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100537dd
inc eax
test ecx, ecx
jne 0x100548d0
jmp 0x100537dd
mov eax, ebx
mov ebx, dword [esp + 0x194]
mov dword [ebx], edi
mov dword [ebx + 4], eax
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0xb0]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], esi
movd esi, xmm0
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005496b
mov ecx, dword [0x647e000]
push edx
push eax
push dword [esp + 0x68]
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test esi, esi
je 0x100549ae
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x190], esi
movlps qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], ebx
mov edx, 0x647b1c1
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov eax, dword [edi]
cmp word [eax + 0x122], 3
jne 0x10054c10
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x1005eb7f
mov ecx, dword [eax + 0x128]
mov edx, 0xfffff800
add edx, dword [ecx + 0x38]
cmp edx, 0x480
jae 0x10054c10
mov esi, dword [ecx + 0x34]
cmp dword [eax + 0x14c], esi
jbe 0x10054c10
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0x80]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], eax
adc edi, 0
lea eax, [esp + 0x190]
push eax
push 8
push 0x6478cc4
push edi
push esi
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x10054a95
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10054ab6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10054a70
cmp dword [esp], 0
je 0x10054b11
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10054bac
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10054bb8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10054c10
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478d64
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6155e719
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c7e
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054c10
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10054c10
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x10054c10
xor esi, 0x3dc
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x647b1c9
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov ecx, dword [edi]
mov edi, dword [ecx + 0xcc]
test edi, edi
je 0x10054d15
mov eax, dword [ecx + 0xc]
add edi, dword [ecx + 8]
adc eax, 0
test byte [ecx + 0x127], 0x20
je 0x10054d15
mov ebx, dword [ebp + 0xc]
mov ecx, dword [0x6474610]
mov word [esp + 0x84], 0xc300
mov word [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea esi, [esp + 0x40]
mov edx, dword [ebx]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x190]
push 5
push 6
push esi
push eax
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10039b30
add esp, 0x1c
mov ecx, dword [esp + 0x190]
test ecx, ecx
je 0x10054cdd
mov edx, dword [esp + 0x194]
mov edi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
lea esi, [esp + 0x190]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], edi
mov dword [esp + 0x19c], eax
mov edx, 0x647b1d1
mov ecx, dword [ecx + 0x28]
push esi
push 3
call fcn.10061220
add esp, 8
jmp 0x10054d15
mov ecx, dword [esp + 0x194]
cmp ecx, 7
jae 0x10060e02
cmp ecx, 6
jne 0x10054d15
movzx ecx, word [esp + 0x44]
mov eax, dword [esp + 0x40]
xor cx, word [esp + 0x84]
xor eax, dword [esp + 0x80]
movzx ecx, cx
or ecx, eax
je 0x10057668
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10005360
add esp, 8
xor ebx, ebx
lea edi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10054d75
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10054d96
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10054d50
cmp dword [esp + 0x190], 0
je 0x10054e07
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x3f0
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054f64
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10054f6d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x10054fb3
cmp dword [esp + 8], 0xc
jne 0x10054fb3
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 4
push 0x6478d84
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10054ed5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10054ef6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10054eb0
cmp dword [esp], 0
je 0x100555c2
xor esi, 0x424
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100556ab
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100556b7
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x10054fb3
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b1d4
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x100551e0
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0x80]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0x80], ecx
adc esi, 0
mov ecx, esp
push edi
push 8
push 0x6478fb8
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10055065
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055086
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10055040
cmp dword [esp], 0
je 0x100550e1
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005517c
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x10055188
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100551e0
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6479058
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x777a59a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c85
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100551e0
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100551e0
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x100551e0
xor esi, 0x458
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x190], ecx
mov edx, 0x647b1dc
mov dword [esp + 0x198], esi
movd dword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffff000
and ecx, dword [eax + 0x2c]
cmp ecx, 0x12000
jne 0x10055869
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.10071950
add esp, 4
xor esi, esi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor edi, edi
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055245
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055264
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10055220
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100552e1
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x46e
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x100552f5
lea ecx, [esp + 0xa0]
call fcn.10006530
xor ebx, ebx
jmp 0x1005530b
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x70], eax
jmp 0x1005533d
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x84]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x10055334
movsd xmm0, qword [esp + 0x44]
jmp 0x10055835
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x647905c
mov edx, 0x16
call 0x10073b90
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x190], 4
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x10055439
imul ebx, ecx, 0x2c
mov esi, 4
xor edx, edx
xor ecx, ecx
add ebx, edi
jmp 0x100553ab
add edi, 0x2c
cmp edi, ebx
je 0x10055442
cmp dword [edi], 0
je 0x100553a0
cmp dword [edi + 4], 0xa
jne 0x100553a0
cmp dword [edi + 0x10], 0
jne 0x100553a0
cmp eax, dword [edi + 0x14]
jne 0x100553a0
inc ecx
mov dword [esp + 0x60], eax
je 0x10060e1a
cmp ecx, dword [esp + 0x198]
jbe 0x1005540a
mov esi, ecx
call fcn.1001fce0
mov edx, esi
cmp eax, esi
jbe 0x100553f6
lea ecx, [esp + 0x190]
mov edx, eax
call fcn.1002e610
mov edx, esi
cmp al, 8
je 0x1005540a
lea ecx, [esp + 0x190]
call fcn.1002e610
cmp al, 8
jne 0x10060e2b
mov esi, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0x60]
mov dword [esi + ecx*4], edi
inc ecx
add edi, 0x2c
mov edx, ecx
mov dword [esp + 0x194], ecx
shr edx, 8
cmp edi, ebx
jne 0x100553ab
jmp 0x10055442
mov esi, 4
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x198]
mov eax, ecx
shl edx, 8
movzx edi, al
or edi, edx
mov dword [esp + 0x60], ebx
je 0x100555b4
mov eax, dword [esi]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov ecx, dword [edi]
cmp dword [ecx + 0x14c], eax
jbe 0x100555b9
mov edi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0xd0], esi
lea edx, [esp + 0xa0]
lea esi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
adc edi, 0
mov ecx, esp
push esi
push 2
push 0x6479094
push edi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10055525
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10055546
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10055500
cmp dword [esp], 0
je 0x100556ee
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x489
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100557b6
lea ecx, [esp + 0x80]
call fcn.10006530
xor ebx, ebx
jmp 0x100557c4
mov edi, dword [ebp + 8]
jmp 0x100555b9
mov eax, dword [esp + 0x60]
jmp 0x100557f4
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100579d1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 1
push 0x6478ed4
mov dword [esp + 0x6c], edi
push edi
mov dword [esp + 0x80], esi
push esi
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10055675
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055696
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10055650
cmp dword [esp], 0
je 0x100578a6
xor esi, 0x42a
jmp 0x10054f06
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
movd eax, xmm0
test eax, eax
jne 0x10054f8d
jmp 0x10054fb3
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xd0]
or eax, dword [esp + 0xc]
je 0x1005578b
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64790bc
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push edi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005578b
mov ecx, dword [0x647e000]
push edx
push eax
push edi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0x60]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10057bc8
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], 0
jmp 0x1005580b
mov eax, ebx
mov ebx, dword [esp + 0x194]
mov dword [ebx], esi
mov dword [ebx + 4], eax
movaps xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x60]
movlps qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movss dword [esp + 0x20], xmm0
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0xb0], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005581f
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
movaps xmm0, xmmword [esp + 0xb0]
dec dword [eax]
test ecx, ecx
je 0x10055869
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x190], ecx
movlps qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], ebx
mov edx, 0x647b1e4
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100558c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100558e6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100558a0
cmp dword [esp + 0x190], 0
je 0x10055957
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x49d
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10055ac4
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10055acd
movq xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10055b15
cmp dword [esp + 8], 0x7e3
jne 0x10055b15
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 5
push 0x64790e4
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10055a35
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055a56
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10055a10
cmp dword [esp], 0
je 0x10056d82
xor esi, 0x4b0
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10057303
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005730f
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 0x10055b15
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x190], xmm0
mov edx, 0x647b1ec
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10055b75
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10055b96
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10055b50
cmp dword [esp + 0x190], 0
je 0x10055c07
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x4d9
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10055d74
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10055d7d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10055dc4
cmp dword [esp + 8], 0x13418bf
jne 0x10055dc4
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xd
push 0x6479230
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055ce5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055d06
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10055cc0
cmp dword [esp], 0
je 0x10056e6b
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x50c
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005736e
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005737a
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 0x10055dc4
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b1f4
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x10055e25
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055e46
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10055e00
cmp dword [esp + 0x190], 0
je 0x10055eb7
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x538
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005600b
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056014
movsd xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1005605b
cmp dword [esp + 8], 0x7a
jne 0x1005605b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xf8]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xf8], ecx
mov ecx, esp
push edi
push 8
push 0x6479358
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10055f85
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10055fa6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10055f60
cmp dword [esp], 0
je 0x10056f0d
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x54b
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100573b1
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x100573bd
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1005605b
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x647b1fc
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movups xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100560b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100560d6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10056090
cmp dword [esp + 0x190], 0
je 0x10056147
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x56e
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100562ab
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100562b4
movsd xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100562fb
cmp dword [esp + 8], 0x7e3
jne 0x100562fb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xf8]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xf8], ecx
mov ecx, esp
push edi
push 4
push 0x6479414
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10056225
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10056246
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10056200
cmp dword [esp], 0
je 0x1005703e
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x57d
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100573e4
lea ecx, [esp + 0x40]
call fcn.10006530
xor eax, eax
jmp 0x100573f0
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov ebx, dword [esp]
mov edi, dword [ebp + 8]
test ebx, ebx
je 0x100562fb
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x647b204
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movups xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
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 0x10056355
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10056376
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10056330
cmp dword [esp + 0x190], 0
je 0x100563e7
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x593
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10056554
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005655d
movsd xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100565a3
cmp dword [esp + 8], 0x13418bf
jne 0x100565a3
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 3
push 0x647947c
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100564c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100564e6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100564a0
cmp dword [esp], 0
je 0x1005715e
xor edi, 0x5b9
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005733a
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10057346
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x100565a3
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b20c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
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 0x10056605
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10056626
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100565e0
cmp dword [esp + 0x190], 0
je 0x10056697
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor edi, 0x5db
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10056804
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005680d
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10056854
cmp dword [esp + 8], 0x134890d
jne 0x10056854
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 6
push 0x64795e4
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10056775
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10056796
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10056750
cmp dword [esp], 0
je 0x1005723b
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor edi, 0x5f4
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10057417
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10057423
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 0x10056854
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x190], xmm0
mov edx, 0x647b214
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
push edi
call fcn.10005360
add esp, 8
xor edi, edi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x100568b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100568d6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10056890
cmp dword [esp + 0x190], 0
je 0x10056947
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor esi, 0x608
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10056aac
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10056ab5
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10056b01
cmp dword [esp + 8], 0x7e3
jne 0x10056b01
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
add eax, 0x1000
mov edx, ecx
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x190]
adc edx, 0
mov dword [esp + 0xe0], eax
mov dword [esp + 0x9c], edx
mov edx, esi
push edi
call fcn.1006ebd0
add esp, 4
xor esi, esi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x10056a05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10056a24
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100569e0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x100572dd
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x60f
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005745a
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10057470
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov edi, dword [esp]
test edi, edi
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
je 0x10056b01
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp]
mov edx, 0x647b21c
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
movdqu xmmword [esp + 0x190], xmm0
push eax
push 8
call fcn.10061220
add esp, 8
lea ecx, [esp + 0x190]
mov edx, esi
push edi
call fcn.1006ebd0
add esp, 4
xor ecx, ecx
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10056b55
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10056b74
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10056b30
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10056bed
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ebx, 0x672
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10056c0f
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10056c25
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x10056c97
jmp 0x10058c87
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test esi, esi
je 0x10056c7f
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x190], esi
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x647b224
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
jmp 0x10058c8c
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x10058c87
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], edx
jmp 0x10056cbc
mov dword [esp + 0x70], esi
sub esi, ecx
jbe 0x10058c87
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10056cb0
movzx ecx, dl
cmp ecx, 0xff
jne 0x10056cfe
inc esi
mov ecx, esi
mov esi, dword [esp + 0x70]
sub esi, ecx
ja 0x10056cbc
jmp 0x10058c87
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10058c87
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
jmp 0x10056d3f
mov dword [esp + 0xb0], edx
sub edx, ecx
jbe 0x10058c87
shr edx, 1
xor eax, eax
add edx, ecx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0x4c31fa8c
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10056d30
movzx eax, al
cmp eax, 0xff
jne 0x1005752c
inc edx
mov ecx, edx
mov edx, dword [esp + 0xb0]
sub edx, ecx
ja 0x10056d3f
jmp 0x10058c87
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100589df
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x70], eax
add eax, 8
mov dword [esp + 0x60], esi
adc esi, 0
push edi
push 1
push 0x6479148
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10056e35
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10056e56
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10056e10
cmp dword [esp], 0
je 0x100579d9
xor esi, 0x4b8
jmp 0x10055a66
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10055dc4
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6479334
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10055dc4
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10055dc4
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1005758c
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x11a], 0
mov word [esp + 0x118], 0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
mov dword [esp + 0x64], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
xor esi, esi
lea edx, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10056fa5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10056fc4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10056f80
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10057ab5
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10057bfa
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x10057c0d
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100575a5
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
mov dword [esp + 0x74], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
xor esi, esi
lea edx, [0x6478311]
lea ebx, [0x6478312]
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 0x100570c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x100570e4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x100570a0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10057ac6
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10057ca1
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x10057cb4
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10057ba5
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 5
push 0x64794e4
mov dword [esp + 0x6c], edi
push edi
mov dword [esp + 0x80], esi
push esi
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10057205
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10057226
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100571e0
cmp dword [esp], 0
je 0x10057ad3
xor edi, 0x5bf
jmp 0x100564f6
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10056854
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647965c
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xb20f336b
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c93
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10056854
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10056854
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x100574c1
jmp 0x10060736
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10055ae6
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10056572
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10055d9e
jmp 0x10055dc4
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd eax, xmm0
test eax, eax
jne 0x10056031
jmp 0x1005605b
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd ebx, xmm0
test ebx, ebx
jne 0x100562d1
jmp 0x100562fb
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1005682e
jmp 0x10056854
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x100574a9
movq xmm0, qword [esp + 0x44]
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
jmp 0x10056ad5
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x10060736
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 0xc]
xor edi, edi
mov ecx, edx
mov dword [esp + 0x20], eax
jmp 0x100574ea
mov edx, ecx
sub ecx, edi
jbe 0x10060736
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 0x100574e0
movzx eax, al
cmp eax, 0xff
jne 0x100575be
inc ecx
mov edi, ecx
mov ecx, edx
sub ecx, edi
ja 0x100574ea
jmp 0x10060736
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov esi, eax
mov dword [esp + 0x70], eax
jmp 0x10057546
mov dword [esp + 0x70], esi
sub esi, ecx
jbe 0x10057efc
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov eax, esi
shl eax, 4
cmp dword [edi + eax + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1005753a
movzx ecx, dl
cmp ecx, 0xff
jne 0x10057e8d
inc esi
mov ecx, esi
mov esi, dword [esp + 0x70]
sub esi, ecx
ja 0x10057546
jmp 0x10057efc
xor eax, eax
mov dword [esp], 0
mov edi, dword [ebp + 8]
test eax, eax
jne 0x10056031
jmp 0x1005605b
xor ebx, ebx
mov dword [esp], 0
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x100562d1
jmp 0x100562fb
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10060736
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, eax
mov ecx, dword [ecx + ebx]
jmp 0x100575e5
mov edi, eax
sub eax, edx
jbe 0x10060736
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 0x100575db
movzx edx, bl
cmp edx, 0xff
jne 0x1005838d
inc eax
mov edx, eax
mov eax, edi
sub eax, edx
ja 0x100575e5
jmp 0x10060736
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10054168
jmp 0x1005418e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movq xmm0, qword [ecx + 0x30]
movd eax, xmm0
test eax, eax
mov dword [esp + 0xb0], eax
je 0x10054d15
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp eax, 0xc
jae 0x1005813f
lea ecx, [0x647a795]
lea edx, [0x647a796]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100576c6
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10054d15
inc eax
test ecx, ecx
jne 0x100576a8
jmp 0x10054d15
mov edi, dword [esp + 0x198]
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x647e000]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10057fd6
lea ecx, [esp + 0x80]
call fcn.10006530
mov dword [esp + 0xd0], 0
xor esi, 0x21c
jmp 0x10057fec
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x647e000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005821e
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0xb0], 0
xor ebx, 0x2f9
jmp 0x10058240
mov edi, dword [ebp + 8]
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100577de
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100537dd
inc eax
test ecx, ecx
jne 0x100577c0
jmp 0x100537dd
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x647e000]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005822a
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0xb0], 0
xor ebx, 0x2ff
jmp 0x10058240
mov edi, dword [ebp + 8]
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005788e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x100537dd
inc eax
test ecx, ecx
jne 0x10057870
jmp 0x100537dd
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100579d1
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 3
push 0x6478f28
push dword [esp + 0x6c]
push dword [esp + 0x80]
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10057942
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10057963
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1005791d
cmp dword [esp], 0
je 0x10058821
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x647e000]
xor esi, 0x432
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100593a9
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x100593b5
xorps xmm0, xmm0
jmp 0x10054f82
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100589df
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x190]
mov ecx, esp
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
add eax, 8
adc esi, 0
push edi
push 1
push 0x6479148
push esi
push eax
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea edi, [0x6478312]
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 0x10057a7f
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10057aa0
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10057a5a
cmp dword [esp], 0
je 0x100588c3
xor esi, 0x4bf
jmp 0x10055a66
movzx eax, byte [esp + 0x194]
mov dword [esp + 0x70], eax
jmp 0x10057c3b
movzx eax, byte [esp + 0x194]
jmp 0x10057d5e
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10057ba5
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x190]
mov ecx, esp
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push eax
push 2
push 0x647958c
push dword [esp + 0x6c]
push dword [esp + 0x80]
call fcn.100698e0
add esp, 0x14
xor ebx, ebx
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10057b6f
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10057b90
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10057b4a
cmp dword [esp], 0
je 0x100589e8
xor edi, 0x5c7
jmp 0x100564f6
xorps xmm0, xmm0
jmp 0x10056572
mov eax, dword [esp + 0x70]
dec dword [eax]
mov eax, dword [edi]
cmp word [eax + 0x122], 3
je 0x100549be
jmp 0x10054c10
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
dec dword [eax]
jmp 0x10055869
xor esi, 0x215
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x60], eax
movd dword [esp + 0xb0], xmm0
jmp 0x10057fec
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp]
mov edx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x70], edx
je 0x10057c3b
mov dword [esp + 0x60], eax
xor esi, 0x51d
mov eax, edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xb0], esi
jmp 0x1005857e
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
add edi, 1
adc ebx, 0
push 1
push 3
lea esi, [esp + 0x120]
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039b30
add esp, 0x1c
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10057db6
movq xmm0, qword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], ecx
jmp 0x10058462
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], edi
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
test ecx, ecx
mov eax, ebx
je 0x10057d5e
xor esi, 0x55d
shr ebx, 8
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6478312]
mov ecx, 0xfffffff9
mov dword [esp + 0x60], edx
mov dword [esp + 0x20], 0
mov dword [esp + 0xd0], esi
mov dword [esp + 0xe0], ebx
xor ebx, ebx
lea esi, [0x6478311]
nop word cs:[eax + eax]
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x10057d31
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100610d8
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 0x10057d52
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10057d10
mov ebx, dword [esp + 0xb0]
jmp 0x100591a9
xor edi, edi
test al, al
mov ecx, 0
js 0x10057dd9
mov dword [esp + 0x70], ecx
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10057d9e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10059272
inc eax
test ecx, ecx
jne 0x10057d80
jmp 0x10059272
cmp dword [esp + 0x194], 3
jne 0x100583e3
mov dword [esp + 0x20], 0
mov dword [esp + 0x60], 0
jmp 0x10058462
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push dword [esp + 0x70]
push dword [esp + 0x24]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003af90
add esp, 0x10
lea esi, [0x6478311]
lea ebx, [0x6478312]
mov eax, 0xfffffff9
xor edx, edx
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10057e37
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10057e56
shld edi, edx, 4
inc eax
test esi, esi
mov edx, ecx
jne 0x10057e12
cmp dword [esp + 0x190], 0
je 0x10058fd9
xor ecx, 0x561
jmp 0x100590ab
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xb0], edx
mov dword [esp + 0x60], eax
movd dword [esp + 0xd0], xmm0
jmp 0x10058240
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10057efc
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
jmp 0x10057ebe
shr edx, 1
xor eax, eax
add edx, ecx
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0xd5255547
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x10057eb3
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov dword [esp + 0x70], eax
jmp 0x10057f18
mov dword [esp + 0x70], eax
sub eax, ecx
mov dword [esp + 0x60], eax
jbe 0x10058c87
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
xor edx, edx
shr eax, 1
add eax, ecx
mov esi, eax
shl esi, 4
cmp dword [edi + esi + 0xc], 0x9a89af34
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10057f08
movzx ecx, dl
cmp ecx, 0xff
jne 0x10057f62
mov eax, dword [esp + 0x44]
xor esi, 0x21c
mov dword [eax], edi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], ebx
xor eax, eax
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov edi, 0xfffffff9
mov dword [esp + 0x70], 0
nop word [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [esp + 0x20], edi
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10058039
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
add bl, 0xa9
mov edx, ebx
mov edi, eax
movzx ebx, dl
lea edx, [ecx + 1]
shl edi, 4
or ebx, edi
mov edi, dword [esp + 0x20]
test edi, edi
cmove edx, ecx
je 0x1005805e
shld dword [esp + 0x70], eax, 4
inc edi
test ecx, ecx
mov eax, ebx
jne 0x10058010
movss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x60]
mov edi, dword [esp + 0xd0]
mov eax, dword [0x647e000]
xor ebx, 0x235
mov dword [esp], esi
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100580ba
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x100580c6
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x647b18a
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x195], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x197], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x194], cl
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 7
call fcn.10061220
add esp, 8
jmp 0x10052d03
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
xor ebx, ebx
mov dword [esp + 0xd0], edx
sub edi, edx
mov edx, 0xaaaaaaab
mov dword [esp + 0xe0], ecx
mul edx
shr edx, 3
dec edx
jmp 0x10058171
mov edx, dword [esp + 0x70]
inc ebx
cmp ebx, edx
jg 0x10057697
lea eax, [edx + ebx]
mov dword [esp + 0x60], ebx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x70], edx
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x190]
add eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
adc esi, 0
mov edx, dword [eax]
push 1
mov dword [esp + 0xa0], esi
push esi
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a340
add esp, 0x14
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
test eax, eax
jne 0x1005d5e7
xor eax, eax
cmp ecx, edi
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 1
je 0x10058164
movzx eax, al
cmp eax, 0xff
jne 0x1005d55f
dec ebx
mov edx, ebx
mov ebx, dword [esp + 0x60]
cmp ebx, edx
jle 0x10058171
jmp 0x10057697
mov eax, dword [esp + 4]
xor ebx, 0x2f9
jmp 0x10058234
mov eax, dword [esp + 4]
xor ebx, 0x2ff
mov dword [eax], esi
mov dword [esp + 0xb0], eax
mov dword [eax + 4], edi
xor edi, edi
lea ecx, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x70], 0
nop dword [eax + eax]
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10058287
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx esi, dl
shl ecx, 4
or esi, ecx
mov ecx, dword [esp + 0x20]
test eax, eax
lea edx, [ecx + 1]
cmove edx, ecx
je 0x100582ac
shld dword [esp + 0x70], edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x10058260
movss xmm0, dword [esp + 0xd0]
movss xmm1, dword [esp + 0x60]
mov edi, dword [esp + 0xb0]
mov eax, dword [0x647e000]
xor esi, 0x321
mov dword [esp], ebx
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x10058308
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x10058314
mov eax, dword [esp + 0x194]
mov dword [eax], ebx
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x647b1a9
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x195], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x197], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0xd0]
mov byte [esp + 0x194], cl
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
jmp 0x100537dd
mov edx, dword [esp + 0x60]
xor edi, edi
mov ecx, edx
jmp 0x100583a1
mov edx, ecx
sub ecx, edi
jbe 0x10060736
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 0x10058397
movzx eax, al
cmp eax, 0xff
jne 0x1005d269
inc ecx
mov edi, ecx
mov ecx, edx
sub ecx, edi
ja 0x100583a1
jmp 0x10060736
xor ecx, ecx
lea edx, [0x647c965]
lea edi, [0x647c966]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005841d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005843c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100583f8
movdqa xmm0, xmmword [0x64745e0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor esi, esi
lea edi, [0x6478311]
lea ebx, [0x6478312]
mov ecx, 0xfffffff9
xor eax, eax
nop word [eax + eax]
movzx edx, byte [edi]
mov edi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x100584a5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x100584c4
shld eax, esi, 4
inc ecx
test edi, edi
mov esi, edx
jne 0x10058480
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xb0], edx
test eax, eax
je 0x1005866a
mov esi, dword [esp + 0x60]
mov dword [esp + 0x190], eax
mov eax, dword [0x647e000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10058533
lea ecx, [esp + 0x40]
call fcn.10006530
xor ecx, ecx
jmp 0x10058546
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 4]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp + 0x190]
movd eax, xmm0
test eax, eax
je 0x1005866a
xor dword [esp + 0xb0], 0x521
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x60], eax
mov dword [esp + 0xd0], ecx
movd eax, xmm0
mov dword [esp + 0x70], eax
shr eax, 8
xor ebx, ebx
lea esi, [0x6478311]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0xe0], eax
lea eax, [0x6478312]
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 0x100585d1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100610d8
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 0x100585f2
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x100585b0
mov ecx, dword [esp + 0xe0]
movzx eax, byte [esp + 0x70]
movd xmm1, dword [esp + 0x60]
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xd0]
xor edi, 0x54f
shl ecx, 8
mov dword [esp], esi
mov dword [esp + 4], ebx
or eax, ecx
movd xmm0, eax
mov eax, dword [0x647e000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x100587c6
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x100587d2
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 0x10058690
xor bl, byte [esp + 0x118]
cmp bl, 0x74
jne 0x100586e3
mov edx, ecx
add al, 0xbc
add cl, 0x2f
add dl, 0xb0
cmp dl, 0xa0
ja 0x100586ae
xor cl, byte [esp + 0x119]
cmp cl, 0x74
jne 0x100586e3
mov ecx, eax
add al, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x100586c9
xor al, byte [esp + 0x11a]
cmp al, 0x70
sete al
jmp 0x100586e5
xor eax, eax
lea edx, [0x6478311]
lea esi, [0x6478312]
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 0x1005871e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1005872d
inc ecx
test edx, edx
jne 0x10058700
test al, al
je 0x1005605b
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64793f8
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xf565af26
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c89
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005605b
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005605b
mov eax, dword [esp + 0x194]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 7], cl
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
mov dword [esp], eax
mov byte [esp + 4], cl
mov edi, dword [ebp + 8]
test eax, eax
jne 0x10056031
jmp 0x1005605b
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10054fb3
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6478f64
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xa424d249
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c84
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054fb3
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10054fb3
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100589df
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x190]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
push 1
push dword [esp + 0x64]
push dword [esp + 0x78]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a890
add esp, 0x14
xor esi, esi
lea edx, [0x6478311]
lea edi, [0x6478312]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10058946
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10058965
shld ebx, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10058921
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005dd85
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005ddd3
lea ecx, [esp + 0x80]
call fcn.10006530
xor ecx, ecx
jmp 0x1005dde6
pxor xmm0, xmm0
jmp 0x10055ae3
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x100565a3
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64795b4
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100565a3
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100565a3
mov edi, dword [ebp + 8]
dec dword [ebx]
mov edx, edi
lea ecx, [esp + 0x190]
push dword [ebp + 0xc]
call fcn.1006ebd0
add esp, 4
xor edi, edi
lea edx, [0x6478311]
lea esi, [0x6478312]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10058ce5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x10058d04
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10058cc0
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10058d81
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
xor ecx, 0x69e
mov dword [esp + 0x70], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10058da7
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x10058dbd
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
jne 0x10058e40
jmp 0x100595e7
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x70]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10058e28
mov edx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
add edx, 0x28
mov dword [esp + 0x70], edx
mov dword [esp + 0x190], ecx
movq qword [esp + 0x194], xmm0
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x70]
mov edx, 0x647b22c
mov ecx, dword [eax]
lea eax, [esp + 0x190]
push eax
push 8
call fcn.10061220
add esp, 8
jmp 0x100595fe
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x100595e7
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
xor eax, eax
mov esi, ebx
jmp 0x10058e6a
mov ebx, esi
sub esi, eax
jbe 0x100595e7
shr esi, 1
mov edi, dword [esp + 0x20]
xor edx, edx
add esi, eax
mov ecx, esi
shl ecx, 4
cmp dword [edi + ecx + 0xc], 0xf17c9523
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x10058e60
movzx eax, dl
cmp eax, 0xff
jne 0x10058ea9
inc esi
mov eax, esi
mov esi, ebx
sub esi, eax
ja 0x10058e6a
jmp 0x100595e7
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
test edx, edx
je 0x100595e7
mov eax, dword [esp + 0x20]
mov esi, edx
mov ebx, dword [eax + ecx]
xor eax, eax
jmp 0x10058eda
shr edx, 1
xor ecx, ecx
add edx, eax
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0xf8a3eca5
mov edi, 0xff
setne cl
cmovb ecx, edi
cmp cl, 1
je 0x10058ed0
mov eax, dword [esp + 0x1a4]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x70]
lea ecx, [esp + 0x190]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1a0]
add esi, 0x10
adc edi, 0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xf8]
mov edx, dword [eax]
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003af90
add esp, 0x10
xor esi, esi
lea edi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
xor ebx, ebx
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10059076
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10059097
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10059051
cmp dword [esp + 0x190], 0
je 0x1005d4f2
xor ecx, 0x562
mov edi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005910c
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x10059115
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov dword [esp + 0x60], eax
xor ebx, ebx
lea esi, [0x6478311]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
movlps qword [esp], xmm0
movss dword [esp + 0xb0], xmm0
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
shr eax, 8
mov dword [esp + 0xe0], eax
lea eax, [0x6478312]
movzx edx, byte [esi]
mov esi, eax
mov eax, edx
add al, 0xd0
cmp al, 0xa
jb 0x10059179
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x100610d8
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 0x1005919a
shld dword [esp + 0x20], ebx, 4
inc ecx
test esi, esi
mov ebx, edi
jne 0x10059158
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x10059272
mov ecx, dword [esp + 0xe0]
movzx eax, byte [esp + 0x70]
mov esi, dword [esp + 0xd0]
movd xmm1, ebx
shl ecx, 8
mov dword [esp], esi
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0x60]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], eax
mov eax, dword [0x647e000]
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005920f
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1005921f
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x60]
mov dword [eax], esi
mov dword [eax + 4], ecx
movaps xmm0, xmmword [esp + 0x20]
test ebx, ebx
movlps qword [esp + 0xa0], xmm0
je 0x10059272
movzx ecx, byte [esp + 0xa7]
movzx edx, word [esp + 0xa5]
xor edi, 0x581
mov byte [esp + 7], cl
mov word [esp + 5], dx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esp], ebx
mov byte [esp + 4], al
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x100562d1
jmp 0x100562fb
cmp byte [esp + 0x70], 0
mov edi, dword [ebp + 8]
je 0x100562fb
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x6479464
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6915bb2a
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c8a
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x100562fb
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100562fb
mov esi, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x60]
mov eax, dword [esi + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x10060d79
mov eax, dword [esp + 0x198]
mov ebx, dword [esp + 0xb0]
mov edx, dword [esi + 0x18]
lea ecx, [esp + 0x190]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
adc ebx, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x48]
push edi
push ebx
push eax
push dword [esp + 0x74]
push dword [esi + 0x1c]
call fcn.10039b30
add esp, 0x1c
mov eax, dword [esp + 0x190]
mov dword [esp + 0x20], esi
test eax, eax
je 0x1005dd62
movq xmm0, qword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
jmp 0x1005e162
mov eax, dword [esp + 0x194]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10054f82
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10060cfe
mov eax, dword [esp + 0x114]
mov dword [esp + 0x110], 0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea esi, [esp + 0x110]
lea ecx, [esp + 0x190]
mov edx, dword [eax]
push 1
push 4
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10039b30
add esp, 0x1c
mov eax, dword [esp + 0x190]
mov dword [esp + 0x60], edi
mov dword [esp + 0xb0], ebx
test eax, eax
je 0x1005e0c0
movq xmm0, qword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], ecx
jmp 0x1005ec12
mov eax, dword [esp + 0x70]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
mov eax, dword [esp + 0x3c]
add eax, 0x28
mov dword [esp + 0x70], eax
lea edx, [esp + 0x148]
lea ecx, [esp + 0x190]
push edi
push esi
call fcn.10005360
add esp, 8
xor ebx, ebx
lea esi, [0x6478311]
lea edx, [0x6478312]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10059665
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x10059686
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10059640
cmp dword [esp + 0x190], 0
je 0x100596f7
cmp byte [edx + 0x2d], 0
je 0x1005d035
mov ecx, 0x6476d60
mov edx, 8
call fcn.1000bf90
test eax, eax
mov esi, 1
mov ecx, 0x647807d
mov edx, 6
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1000bf90
test eax, eax
lea edi, [0x6476d6a]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x6476d69]
xor ebx, ebx
mov dword [esp + 0x70], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1005b595
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x1005b5b4
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x1005b570
mov eax, dword [esp + 0x20]
mov esi, 0x4433
xor edx, 4
mov ebx, 0x22110000
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], 0
mov edx, 0x647b274
mov ecx, dword [eax + 0x28]
lea eax, [esp + 0x190]
mov dword [esp + 0x20], ecx
push eax
push 5
call fcn.10061220
add esp, 8
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [eax + 0x9c]
mov edx, dword [eax + 0x98]
xor ecx, esi
xor edx, ebx
or edx, ecx
jne 0x1005c79a
cmp dword [eax + 0xec], 0x6d736b63
jne 0x1005c79a
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x190]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x74], eax
push dword [eax + 8]
call fcn.10039000
add esp, 8
xor edi, edi
lea esi, [0x647c641]
lea edx, [0x647c642]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005b695
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1005b6b6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1005b670
cmp dword [esp + 0x190], 0
je 0x1005b72b
mov esi, dword [esp + 0x19c]
movsd xmm0, qword [esp + 0x194]
mov ebx, dword [esp + 0x1a0]
mov eax, dword [0x647e000]
xor ecx, 0x1e
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x1005b8c7
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1005b8d0
mov ebx, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x70]
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x10060d79
mov eax, dword [edi]
mov esi, 0x4433
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005f2aa
mov edx, dword [esp + 0x198]
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x19c]
mov dword [esp + 0xd0], edx
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
cmp edx, 0x400
jne 0x1005b905
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
pxor xmm0, xmm0
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x1a0], 0
mov ecx, esp
movdqa xmmword [esp + 0x190], xmm0
push 0
push 0x14
lea esi, [esp + 0x198]
push esi
push 0
push 0x400
push dword [esp + 0x84]
push eax
call fcn.10039b30
add esp, 0x1c
xor edi, edi
lea edx, [0x647c641]
lea esi, [0x647c642]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005b825
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1005b844
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1005b800
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1005bd09
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x647e000]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov ebx, dword [esp + 0x9c]
je 0x1005bfac
lea ecx, [esp + 0xa0]
call fcn.10006530
xor edx, edx
jmp 0x1005bfc2
mov edx, dword [esp + 0x44]
mov dword [edx], esi
mov dword [edx + 4], ebx
movdqa xmm0, xmmword [esp + 0x60]
mov esi, 0x4433
movq qword [esp], xmm0
movd eax, xmm0
mov ebx, dword [esp + 4]
mov ecx, ebx
shr ecx, 8
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x70]
test eax, eax
jne 0x1005c74c
jmp 0x1005c79a
mov dword [esp + 0x120], eax
mov dword [esp + 0x9c], 0
jmp 0x1005c6ec
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x70], eax
jmp 0x1005c010
movdqa xmm0, xmmword [esp + 0x60]
mov edx, dword [esp + 0x84]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp + 0x40]
mov eax, dword [esp + 0x70]
mov esi, 0x4433
movd ecx, xmm0
test ecx, ecx
je 0x1005c005
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x60], edx
xor eax, 0x2b
movd edx, xmm0
mov dword [esp + 0x70], eax
mov eax, edx
mov dword [esp + 0x120], edx
shr edx, 8
mov dword [esp + 0xb0], edx
jmp 0x1005c6e5
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x70], xmm0
mov eax, dword [edi]
mov ecx, esp
mov edi, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
push 0
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x1005c06f
movzx edi, byte [esp + 7]
movzx edx, word [esp + 5]
movzx eax, byte [esp + 4]
mov esi, dword [esp + 8]
shl edi, 0x10
mov dword [esp + 0x120], eax
mov dword [esp + 0x70], esi
or edx, edi
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
jmp 0x1005c6dd
xor ecx, ecx
cmp byte [esp + 4], 0x4d
jne 0x1005c6d6
mov eax, dword [ebp + 0xc]
add edi, 1
mov ecx, esp
adc esi, 0
mov edx, dword [eax]
push 0
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b310
add esp, 0x14
mov eax, dword [esp]
test eax, eax
je 0x1005cba3
movzx ecx, byte [esp + 4]
movzx edx, word [esp + 5]
mov dword [esp + 0x120], ecx
movzx ecx, byte [esp + 7]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
mov ecx, eax
jmp 0x1005c6dd
mov dword [esp + 0x120], eax
mov edi, dword [ebp + 8]
mov esi, 0x4433
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
push ebx
call fcn.1003dd60
add esp, 4
dec dword [ebx]
jne 0x1005c732
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002f240
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x1005c732
mov eax, dword [0x647e000]
push 8
push 0x30
push ebx
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x120]
test eax, eax
je 0x1005c79a
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x190], eax
movzx eax, bl
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x20]
shl edx, 8
or eax, edx
mov edx, 0x647b279
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
push 0xc
call fcn.10061220
add esp, 8
mov eax, dword [edi]
mov ecx, 0x22110000
xor esi, dword [eax + 0x9c]
xor ecx, dword [eax + 0x98]
or ecx, esi
jne 0x1005d031
cmp dword [eax + 0xec], 0x73747373
jne 0x1005d031
cmp dword [eax + 0xcc], 0x2000
jne 0x1005d031
cmp dword [eax + 0xe4], 0x3000
jne 0x1005d031
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x1005d031
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1005d031
mov ecx, dword [ebp + 0xc]
mov esi, 0x2000
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov dword [esp + 0x40], 0
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
lea ecx, [esp + 0x190]
adc edi, 0
mov dword [esp + 0x70], eax
or edx, 1
push 4
lea eax, [esp + 0x44]
push eax
push edi
push esi
push ebx
push dword [esp + 0x84]
call fcn.1003a6f0
add esp, 0x18
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005c90f
mov ecx, dword [esp + 0x194]
movq xmm0, qword [esp + 0x198]
mov byte [esp + 0x190], 2
mov dword [esp + 0x194], eax
lea edx, [esp + 0x190]
mov dword [esp + 0x198], ecx
mov ecx, esp
movq qword [esp + 0x19c], xmm0
call fcn.10072f60
movzx eax, byte [esp]
xor ebx, ebx
lea esi, [0x647a4e2]
mov ecx, 0xfffffff9
xor edi, edi
mov dword [esp + 0x70], eax
lea eax, [0x647a4e1]
movzx edx, byte [eax]
mov eax, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1005c8d3
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
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 0x1005c8f2
shld edi, ebx, 4
inc ecx
test eax, eax
mov ebx, edx
jne 0x1005c8ae
mov eax, dword [esp + 0x70]
cmp al, 3
jne 0x1005c939
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
jmp 0x1005ce99
cmp dword [esp + 0x198], 4
jne 0x1005ca5d
mov eax, dword [esp + 0x194]
mov dword [esp + 0x70], 1
mov eax, dword [eax]
bswap eax
mov dword [esp + 0x60], eax
jmp 0x1005ca65
mov edi, edx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x60], edx
je 0x1005cdae
cmp eax, 1
jne 0x1005cde8
movzx eax, byte [esp + 1]
mov dword [esp + 0xb0], ebx
mov edx, 0xd
mov ecx, dword [eax*4 + 0x6475fe4]
mov ebx, dword [eax*4 + 0x6476004]
mov dword [esp + 0x70], ecx
mov ecx, 0x6475e7f
call fcn.1000bf90
mov ecx, ebx
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0x70]
mov esi, eax
test eax, eax
mov eax, 1
cmove esi, eax
jmp 0x1005cdd3
mov dword [esp + 0x70], 0
lea edx, [0x647a4e1]
lea eax, [0x647a4e2]
mov ecx, 0xfffffff9
movzx ebx, byte [edx]
mov edx, eax
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x1005ca92
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea eax, [edx + 1]
test ecx, ecx
cmove eax, edx
je 0x1005ce99
inc ecx
test edx, edx
jne 0x1005ca76
jmp 0x1005ce99
cmp byte [esp + 4], 0x5a
mov edi, dword [ebp + 8]
mov esi, 0x4433
jne 0x1005dcdf
mov ecx, dword [esp + 0x70]
cmp ecx, 0x15
jae 0x10061204
cmp ecx, 0x14
jne 0x1005cc7b
movdqa xmm0, xmmword [esp + 0x190]
movd xmm1, dword [esp + 0x1a0]
pcmpeqb xmm1, xmmword [0x6474630]
pcmpeqb xmm0, xmmword [0x6474640]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x1005cc7b
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x647c670
call fcn.1001ee00
add esp, 8
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov edx, 0x549a2aa6
push dword [esp + 0x44]
push esi
push 0xddf2
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005cc76
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov esi, 0x4433
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
push ebx
call fcn.1003dd60
add esp, 4
dec dword [ebx]
jne 0x1005c79a
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002f240
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x1005c79a
mov eax, dword [0x647e000]
push 8
push 0x30
push ebx
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
jmp 0x1005c79a
mov ecx, 0x647603d
mov edx, 0xd
call fcn.1000bf90
mov esi, eax
test eax, eax
mov ecx, 1
mov edx, 0xb
cmove esi, ecx
mov ecx, 0x647604a
call fcn.1000bf90
mov edx, dword [esp + 0x60]
test eax, eax
mov ecx, 1
cmove eax, ecx
jmp 0x1005cdf0
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp + 0x70], eax
mov eax, dword [0x647e000]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x190]
mov dword [esp + 0x44], edx
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005ce2f
lea ecx, [esp + 0x40]
call fcn.10006530
xor ebx, ebx
jmp 0x1005ce41
mov eax, ebx
mov ebx, dword [esp + 0x194]
mov ecx, dword [esp + 0x60]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x70]
xor edi, 0x2df
test esi, esi
je 0x1005ce95
cmp esi, 0xc76970a8
jne 0x1005cfdd
cmp eax, 0x76d4030
jne 0x1005cfdd
xorps xmm1, xmm1
test ebx, ebx
je 0x1005cf5e
mov ecx, ebx
call fcn.10006530
mov eax, dword [0x647e000]
push 4
push 8
push ebx
push 0x647da08
call dword [eax + 0x10]
xorps xmm1, xmm1
add esp, 0x10
jmp 0x1005cf5e
mov dword [esp + 0x60], edi
xor edi, edi
lea eax, [0x647a4e1]
lea esi, [0x647a4e2]
mov ecx, 0xfffffff9
xor ebx, ebx
nop
movzx edx, byte [eax]
mov eax, esi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1005ced5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x100610d8
add dl, 0xa9
mov dh, dl
mov esi, edi
movzx edx, dh
shl esi, 4
or edx, esi
lea esi, [eax + 1]
test ecx, ecx
cmove esi, eax
je 0x1005cef4
shld ebx, edi, 4
inc ecx
test eax, eax
mov edi, edx
jne 0x1005ceb0
cmp dword [esp + 0x70], 0
je 0x1005cf0f
movd xmm0, dword [esp + 0x60]
movdqa xmm1, xmmword [0x6474650]
punpckldq xmm1, xmm0
jmp 0x1005cf5e
xor edx, 0x2e1
mov ecx, 0x647da71
mov edi, edx
mov edx, 0x13
call fcn.1000bf90
mov esi, eax
test eax, eax
mov ebx, 1
mov ecx, 0x647da4d
mov edx, 6
cmove esi, ebx
call fcn.1000bf90
test eax, eax
cmove eax, ebx
xor ebx, ebx
cmp esi, 0xc76970a8
jne 0x1005cfdd
xorps xmm1, xmm1
cmp eax, 0x76d4030
jne 0x1005cfdd
mov edi, dword [ebp + 8]
movd eax, xmm1
test eax, eax
je 0x1005d031
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
cmp eax, 0x33c0c300
jne 0x1005d031
mov eax, dword [edi]
mov ebx, dword [ebp + 0xc]
mov edi, 0x2004
lea ecx, [esp + 0x190]
mov esi, dword [eax + 0xc]
add edi, dword [eax + 8]
mov edx, dword [ebx]
adc esi, 0
push 1
push esi
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1003a340
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005d194
mov ecx, dword [esp + 0x19c]
movq xmm0, qword [esp + 0x194]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
jmp 0x1005cff6
movd xmm0, edi
movd xmm1, eax
mov dword [esp], esi
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], ebx
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
movq xmm0, qword [esp]
movsd xmm1, qword [esp + 8]
mov edx, 0x647b285
lea eax, [esp + 0x190]
movsd qword [esp + 0x198], xmm1
movq qword [esp + 0x190], xmm0
push eax
push 6
call fcn.10061220
add esp, 8
mov edx, dword [esp + 0x3c]
cmp byte [edx + 0x2c], 0
je 0x1005d17b
mov esi, edx
lea eax, [esp + 0x148]
mov edx, edi
lea ecx, [esp + 0x190]
push dword [esi + 0x28]
push dword [ebp + 0xc]
push eax
call fcn.1003e510
add esp, 0xc
xor edi, edi
lea edx, [0x647b0a1]
lea ebx, [0x647b0a2]
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 0x1005d0a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1005d0c6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1005d080
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005d17b
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005d15b
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
je 0x1005d17b
mov ecx, dword [esp + 0x140]
xor esi, 0x11f
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
movq qword [ecx], xmm0
jmp 0x1005d18c
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 0x1005d142
mov eax, dword [esp + 0x140]
mov byte [eax + 4], 0
mov dword [eax], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax]
mov dword [esp + 0xcc], ecx
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x190], ecx
mov eax, edx
mov edi, esi
mov dword [esp + 0x9c], edx
mov dword [esp + 0x120], esi
add eax, 0x2008
mov dword [esp + 0x70], eax
mov eax, edx
adc edi, 0
mov edx, 4
add eax, ecx
lea ecx, [esp + 0x190]
adc esi, 0
mov dword [esp + 0xb0], eax
mov dword [esp + 0x60], esi
call fcn.1000bcb0
mov dword [esp + 0xe0], edx
mov edx, dword [ebx]
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0x190]
push 1
push edi
push dword [esp + 0x78]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
je 0x1005dced
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 0xc], eax
movd eax, xmm0
mov dword [esp + 8], esi
test eax, eax
jne 0x1005cffd
jmp 0x1005d031
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10060736
mov ecx, dword [esp + 0x20]
xor edx, edx
mov edi, eax
mov ecx, dword [ecx + ebx]
jmp 0x1005d290
mov eax, dword [esp + 0x84]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm1, qword [esp + 4]
jmp 0x100523b8
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xd0]
xor ecx, dword [esp + 0x19c]
xor eax, dword [esp + 0x1a4]
xor edx, dword [esp + 0x198]
or eax, ecx
mov ecx, dword [esp + 0x60]
xor ecx, dword [esp + 0x1a0]
or ecx, edx
or ecx, eax
setne al
test ecx, 0xc0c0c0c0
sete cl
and cl, al
jmp 0x10057d69
mov dword [esp + 0x60], eax
mov eax, ecx
xor ebx, 0x1c
mov dword [esp + 0x130], edx
shr eax, 8
mov dword [esp + 0xcc], ebx
jmp 0x1005f3c5
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x9c]
mov edx, dword [ecx]
add eax, 4
mov ebx, esi
lea ecx, [esp + 0x190]
adc ebx, 0
push 1
push ebx
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a340
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005d5e0
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x190]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
add ebx, 8
adc esi, 0
mov edx, dword [eax]
push 1
push esi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a340
add esp, 0x14
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005f50f
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x198]
mov esi, dword [esp + 0x19c]
cmp eax, 0xc76970a8
jne 0x1005d62d
cmp ecx, 0x76d4030
jne 0x1005d62d
test esi, esi
je 0x10057697
mov ecx, esi
call fcn.10006530
mov eax, dword [0x647e000]
push 4
push 8
push esi
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
jmp 0x10057697
mov dword [esp + 0x60], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0xb0], eax
xor esi, esi
lea edx, [0x647a795]
lea ebx, [0x647a796]
mov eax, 0xfffffff9
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1005d683
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x100610d8
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 0x1005d6a4
shld dword [esp + 0x20], esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x1005d65e
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
mov eax, dword [0x647e000]
xor edi, 0x58
mov dword [esp], ebx
mov dword [esp + 4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005dd9c
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1005dda8
mov dword [esp + 0x60], eax
mov eax, esi
xor ecx, 0x1e
mov edx, esi
mov dword [esp + 0xcc], ecx
shr eax, 8
mov ecx, esi
jmp 0x1005f3c5
mov dword [esp + 0x120], eax
xor ecx, ecx
jmp 0x1005c6e5
xor eax, dword [esp + 0xe0]
xor esi, dword [esp + 0xd0]
mov edx, dword [ebx]
mov edi, ebx
lea ecx, [esp + 0x190]
mov dword [esp + 4], eax
mov eax, esp
mov dword [esp], esi
push 1
push 0
push 8
push eax
mov eax, dword [esp + 0x70]
push eax
mov ebx, dword [esp + 0xc4]
push ebx
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005e496
mov ecx, dword [esp + 0x19c]
movq xmm0, qword [esp + 0x194]
mov dword [esp + 0xc], ecx
movq qword [esp + 4], xmm0
mov dword [esp], eax
jmp 0x1005cff6
cmp dword [esp + 0x194], 0x10
jne 0x1005e0e3
mov dword [esp + 0x70], 0
mov dword [esp + 0x60], 0
jmp 0x1005e162
mov esi, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1005ddf4
mov eax, dword [esp + 0x194]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xd0]
jmp 0x10054ca1
mov dword [esp + 0x60], eax
mov eax, ecx
xor esi, 0x21
shr eax, 8
mov dword [esp + 0xcc], esi
jmp 0x1005f3c5
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor esi, 0x4c5
movd eax, xmm0
test eax, eax
je 0x1005de09
movd xmm1, esi
movd xmm2, ecx
jmp 0x1005f2ec
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x70], esi
mov edx, dword [eax]
push 1
push dword [esp + 0xb4]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003a890
add esp, 0x14
xor edi, edi
lea ecx, [0x6478311]
lea edx, [0x6478312]
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 0x1005de7c
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1005de9d
shld dword [esp + 0x20], edi, 4
inc eax
test ecx, ecx
mov edi, ebx
jne 0x1005de57
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005eb47
movsd xmm0, qword [esp + 0x194]
mov edi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], edi
push 4
push 8
push 0x647da08
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005f2bb
lea ecx, [esp + 0x80]
call fcn.10006530
xor eax, eax
jmp 0x1005f2ce
mov ebx, dword [esp + 0x198]
mov edi, dword [esp + 0x19c]
mov dword [esp + 0x60], eax
mov eax, dword [0x647e000]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005f3a3
lea ecx, [esp + 0x40]
call fcn.10006530
mov dword [esp + 0x130], 0
jmp 0x1005f3b3
cmp dword [esp + 0x194], 4
jne 0x1005eb93
mov dword [esp + 0x20], 0
mov dword [esp + 0x70], 0
jmp 0x1005ec12
xor ecx, ecx
lea edx, [0x647c965]
lea edi, [0x647c966]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e11d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005e13c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005e0f8
movdqa xmm0, xmmword [0x64745e0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea eax, [0x6478311]
lea edi, [0x6478312]
mov ecx, 0xfffffff9
xor esi, esi
movzx ebx, byte [eax]
mov eax, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005e19c
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005e1bb
shld esi, edx, 4
inc ecx
test eax, eax
mov edx, ebx
jne 0x1005e177
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
test eax, eax
je 0x1005e2cb
mov esi, dword [esp + 0x60]
mov dword [esp + 0x190], eax
mov eax, dword [0x647e000]
xor ebx, 0x1b2
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005e235
lea ecx, [esp + 0xa0]
call fcn.10006530
xor eax, eax
jmp 0x1005e24b
movdqa xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x84]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp + 0x190]
movq qword [esp], xmm0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
movd eax, xmm0
test eax, eax
je 0x1005e2cb
movd xmm1, dword [esp + 4]
movq xmm0, qword [esp + 8]
mov esi, dword [esp + 0x20]
movd xmm2, eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
movdqa xmmword [esp + 0x70], xmm2
push esi
call fcn.1003dd60
add esp, 4
dec dword [esi]
jne 0x1005e2c0
inc dword [esi + 4]
lea ecx, [esi + 8]
call fcn.1002f240
mov eax, dword [esi + 4]
dec eax
mov dword [esi + 4], eax
or eax, dword [esi]
je 0x1005f63c
movdqa xmm1, xmmword [esp + 0x70]
jmp 0x10051f8b
movzx eax, byte [esp + 0x40]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x41]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x42]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x43]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x44]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x45]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x46]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x47]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x48]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x49]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x4a]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x4b]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x4c]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x4d]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x4e]
add al, 0xbf
cmp al, 0x19
ja 0x1005e443
movzx eax, byte [esp + 0x4f]
add al, 0xbf
cmp al, 0x1a
jae 0x1005e443
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x64785f0
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x38d5dc59
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c76
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1005e443
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xd0]
push esi
call fcn.1003dd60
add esp, 4
dec dword [esi]
jne 0x1005e48d
inc dword [esi + 4]
lea ecx, [esi + 8]
call fcn.1002f240
mov eax, dword [esi + 4]
dec eax
mov dword [esi + 4], eax
or eax, dword [esi]
jne 0x1005e48d
mov eax, dword [0x647e000]
push 8
push 0x30
push esi
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
pxor xmm1, xmm1
jmp 0x10051f8b
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
dec eax
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2010
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, ebx
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 8
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffe
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2018
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x10
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffd
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2020
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x18
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffc
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2028
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x20
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffb
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2030
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x28
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffffa
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2038
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x30
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x190]
mov edx, 4
add eax, 0xfffffff9
mov dword [esp + 0x190], eax
call fcn.1000bcb0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov edx, dword [edi]
lea ecx, [esp + 0x190]
add eax, 0x2040
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003a890
add esp, 0x14
movq xmm0, qword [esp + 0x190]
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
movd edx, xmm0
test edx, edx
jne 0x1005d244
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x190]
add edi, 0x38
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.1003b460
add esp, 0x20
mov eax, dword [esp + 0x190]
test eax, eax
jne 0x1005dd40
mov edi, dword [ebp + 8]
jmp 0x1005d031
mov ebx, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov edi, dword [ebp + 8]
pxor xmm0, xmm0
jmp 0x1005f2dc
push 0x6479db4
call fcn.10007630
add esp, 4
ud2
push 0x6479ddc
call fcn.10007630
add esp, 4
ud2
mov ecx, 1
push 0x6478c40
call fcn.10007630
add esp, 4
ud2
xor ecx, ecx
lea edx, [0x647c965]
lea edi, [0x647c966]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005ebcd
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005ebec
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005eba8
movdqa xmm0, xmmword [0x64745e0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea esi, [0x647d662]
lea edi, [0x647d663]
mov ecx, 0xfffffff9
xor eax, eax
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005ec4c
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005ec6b
shld eax, edx, 4
inc ecx
test esi, esi
mov edx, ebx
jne 0x1005ec27
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1005ecfb
mov esi, dword [esp + 0x70]
mov dword [esp + 0x190], eax
mov eax, dword [0x647e000]
movq qword [esp + 0x194], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005eccc
lea ecx, [esp + 0x40]
call fcn.10006530
xor edx, edx
jmp 0x1005ecdf
movdqa xmm0, xmmword [esp + 0x20]
mov edx, dword [esp + 4]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], esi
movq xmm0, qword [esp + 0x190]
movd esi, xmm0
test esi, esi
je 0x1005ecfb
xor ebx, 0xfd
jmp 0x1005eefd
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
xor eax, eax
mov byte [esp + 0x1a0], 2
movd xmm0, edx
movd xmm1, ecx
xor edx, 0xffffffe8
not ecx
or ecx, edx
punpckldq xmm0, xmm1
sete al
pshufd xmm1, xmm0, 0x44
movd xmm0, eax
paddq xmm1, xmmword [0x64745f0]
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x64745b0]
pandn xmm2, xmm1
por xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movdqu xmmword [esp], xmm0
mov byte [esp + 0x10], 0
movd ecx, xmm2
cmp ecx, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
sbb ecx, eax
mov eax, esp
lea ecx, [esp + 0x190]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10b], eax
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x40]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [esp + 0x51], eax
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x80]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
xor ecx, ecx
lea edx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005ee64
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005ee83
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005ee3f
cmp dword [esp + 0x80], 0
je 0x1005f0e7
mov esi, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x84]
mov edi, dword [esp + 0x90]
mov eax, dword [0x647e000]
xor ebx, 0x107
mov dword [esp], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 4], edi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005eee7
mov ecx, esp
jmp 0x100505fc
mov edx, dword [esp + 0x194]
mov dword [edx], esi
mov dword [edx + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
movd esi, xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0xf8], xmm0
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x70], edx
xor edx, edx
lea esi, [0x647d662]
lea edi, [0x647d663]
mov ecx, 0xfffffff9
xor eax, eax
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005ef54
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005ef73
shld eax, edx, 4
inc ecx
test esi, esi
mov edx, ebx
jne 0x1005ef2f
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1005efda
movsd xmm0, qword [esp + 0xf8]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x190], eax
mov eax, dword [0x647e000]
movsd qword [esp + 0x194], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x40], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
mov edi, dword [ebp + 8]
je 0x1005efe7
lea ecx, [esp + 0x40]
call fcn.10006530
xor esi, esi
jmp 0x1005effc
movzx edx, byte [esp + 0xf8]
mov edi, dword [ebp + 8]
jmp 0x1005f04e
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, esi
mov esi, dword [esp + 4]
movd eax, xmm0
mov dword [esi], eax
mov dword [esi + 4], ecx
movq xmm0, qword [esp + 0x190]
movd eax, xmm0
pextrw edx, xmm0, 2
movq qword [esp + 0x118], xmm0
test eax, eax
je 0x1005f04e
movzx ecx, byte [esp + 0x11f]
xor ebx, 0x141
mov byte [esp + 7], cl
movzx ecx, word [esp + 0x11d]
mov word [esp + 5], cx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov byte [esp + 4], dl
jmp 0x1004ef1d
test dl, dl
je 0x1004ef4d
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647d80c
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x25f65687
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xe543
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x1004ef4d
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004ef4d
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x10060cfe
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor ecx, ecx
lea edx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005f171
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005f190
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005f14c
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005f773
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005f894
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1005f8a9
xor edx, edx
push 0x647a434
call fcn.10007630
add esp, 4
ud2
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
movq xmm0, qword [esp]
xor ebx, 0x4c5
movd ecx, xmm0
test ecx, ecx
je 0x1005f2f9
movd xmm1, ebx
movd xmm2, eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
jmp 0x10055ae6
xor eax, dword [esp + 0x60]
xor ebx, dword [esp + 0x70]
xor ebx, 0x61656843
xor eax, 0x74
or eax, ebx
jne 0x10055b15
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647915c
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x45dea372
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c87
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10055b15
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10055b15
mov eax, dword [esp + 4]
mov dword [eax], ebx
mov dword [esp + 0x130], eax
mov dword [eax + 4], edi
mov edi, dword [ebp + 8]
xor dword [esp + 0xcc], 0x24
mov eax, esi
mov ecx, esi
shr eax, 8
shl eax, 8
movzx ecx, cl
lea esi, [0x6474a5d]
lea edx, [0x6474a5e]
mov dword [esp + 0x70], 0
or ecx, eax
mov eax, 0xfffffff9
mov dword [esp + 0xb0], ecx
xor ecx, ecx
movzx ebx, byte [esi]
mov dword [esp + 0x20], edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005f416
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x100610d8
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 0x1005f43b
shld dword [esp + 0x70], ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1005f3ef
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0x130]
xor ebx, 0x4d
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [0x647e000]
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x19c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x190], 0
je 0x1005f484
mov ecx, esp
call fcn.10006530
xor eax, eax
jmp 0x1005f497
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x130]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x9c]
movd xmm0, dword [esp + 0xb0]
mov edx, dword [esp + 0x60]
movd xmm1, ebx
dec dword [ecx]
punpckldq xmm0, xmm1
jmp 0x1004f1e5
mov esi, dword [esp + 0x70]
lea ecx, [0x647a795]
lea edx, [0x647a796]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1005f542
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x100610d8
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1005f551
inc eax
test ecx, ecx
jne 0x1005f524
xor eax, eax
sub esi, edi
cmovb esi, eax
cmp esi, 6
jbe 0x10054d15
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov ecx, esp
push 4
push 0x647a7b0
call fcn.1001ee00
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd7df84ac
mov ecx, dword [eax + 0x28]
push dword [esp + 4]
push esi
push 0xffff1c82
call fcn.10049d90
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10054d15
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10054d15
mov eax, dword [0x647e000]
push 8
push 0x30
push esi
push 0x647da08
call dword [eax + 0x10]
add esp, 0x10
movdqa xmm1, xmmword [esp + 0x70]
jmp 0x10051f8b
push 0x6478320
call fcn.10007630
add esp, 4
ud2
movzx ecx, word [esp + 0x194]
jmp 0x1005f8f0
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 0x1005f8f0
movzx eax, word [esp + 0xa6]
xor ebx, 0x10c
mov word [esp + 0xfa], ax
mov dword [esp + 0xfc], ebx
mov word [esp + 0xf8], cx
jmp 0x1005ef12
movzx eax, cx
mov cl, 1
cmp eax, 0x8580
mov dword [esp + 0x60], ecx
jle 0x1005f917
cmp eax, 0x8581
je 0x1005f92d
cmp eax, 0xa5c1
je 0x1005f92d
cmp eax, 0xb581
je 0x1005f92d
jmp 0x1005f925
cmp eax, 0x65c1
je 0x1005f92d
cmp eax, 0x856b
je 0x1005f92d
mov dword [esp + 0x60], 0
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov edi, ebx
mov ecx, ebx
xor edx, 0xfffffff0
add eax, 0xf
not edi
adc ecx, 0
xor esi, esi
or edi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
mov edi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb edi, ebx
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
lea ecx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005fa56
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005fa75
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005fa31
cmp dword [esp + 0x80], 0
jne 0x1005ee91
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x10060cfe
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor ecx, ecx
lea edx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005fb0d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005fb2c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005fae8
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1005fd81
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005fdf3
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x1005fe0b
movzx ecx, word [esp + 0x194]
jmp 0x1005fe2c
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 0x1005f8c6
movzx eax, cx
cmp eax, 0x8580
jle 0x1005fe4d
cmp eax, 0x8581
je 0x1005fe5b
cmp eax, 0xb581
je 0x1005fe5b
cmp eax, 0xa5c1
je 0x1005fe5b
jmp 0x1005fe75
cmp eax, 0x65c1
je 0x1005fe5b
cmp eax, 0x856b
jne 0x1005fe75
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
je 0x1005fe75
mov byte [esp + 0xf8], 1
jmp 0x10060d06
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov edi, ebx
mov ecx, ebx
xor edx, 0xfffffff0
add eax, 0xf
not edi
adc ecx, 0
xor esi, esi
or edi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
mov edi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb edi, ebx
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
lea ecx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005ff9e
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x1005ffbd
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x1005ff79
cmp dword [esp + 0x80], 0
jne 0x1005ee91
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x10060cfe
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffa
mov dword [esp + 0x70], esi
adc esi, 0xffffffff
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor ecx, ecx
lea edx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10060055
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10060074
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10060030
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1006086b
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10060a16
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x10060a2e
mov dword [esp], 0
xor edi, edi
mov eax, dword [esp + 0x70]
dec dword [eax]
test edi, edi
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
jne 0x10056ad5
jmp 0x10056b01
movzx ecx, word [esp + 0x194]
jmp 0x10060a4f
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 0x1005f8c6
movzx eax, cx
cmp eax, 0x8580
jle 0x10060a70
cmp eax, 0x8581
je 0x10060a7e
cmp eax, 0xb581
je 0x10060a7e
cmp eax, 0xa5c1
je 0x10060a7e
jmp 0x10060a8f
cmp eax, 0x65c1
je 0x10060a7e
cmp eax, 0x856b
jne 0x10060a8f
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
jne 0x1005fe68
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x1a0], 2
mov edx, eax
mov edi, ebx
mov ecx, ebx
xor edx, 0xfffffff0
add eax, 0xf
not edi
adc ecx, 0
xor esi, esi
or edi, edx
mov edx, 1
cmovne edx, dword [esp + 0x20]
cmove ecx, esi
cmove eax, esi
cmove ebx, esi
mov edi, ecx
mov dword [esp + 4], ebx
cmp eax, edx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x190]
mov byte [esp + 0x10], 0
sbb edi, ebx
cmovae ecx, eax
mov eax, dword [ecx + 0x11]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10b], ecx
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0xa8], xmm1
jb 0x10060e92
movq xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10b]
lea edx, [esp + 0x51]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
mov dword [edx + 3], ecx
mov dword [edx], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0x40]
push dword [esp + 0x114]
push 4
lea eax, [esp + 0x118]
push eax
call fcn.10072760
add esp, 0xc
lea ecx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor edx, edx
movzx ebx, byte [ecx]
mov ecx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10060bb8
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10060bd7
shld esi, edx, 4
inc eax
test ecx, ecx
mov edx, ebx
jne 0x10060b93
cmp dword [esp + 0x80], 0
jne 0x1005ee91
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x10060cfe
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x190]
mov edx, dword [edi]
add esi, 0xfffffffa
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.1003ac00
add esp, 0x10
xor ecx, ecx
lea edx, [0x647d662]
lea edi, [0x647d663]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10060c67
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x100610d8
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 0x10060c86
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10060c42
mov eax, dword [esp + 0x190]
test eax, eax
je 0x10060e1e
movsd xmm0, qword [esp + 0x194]
mov esi, dword [esp + 0x19c]
mov dword [esp], eax
mov eax, dword [0x647e000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x647da08
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10060f0d
lea ecx, [esp + 0x80]
call fcn.10006530
xor edx, edx
jmp 0x10060f22
mov byte [esp + 0xf8], 0
xor esi, esi
jmp 0x1005ef12
mov ecx, 0x6479ee4
mov edx, 0x41
push 0x6479f28
jmp 0x100610e7
mov edx, 6
push 0x647a7a0
call fcn.10007b00
add esp, 4
ud2
mov esi, dword [esp + 0x60]
mov bl, 7
jmp 0x10060e34
movzx ecx, word [esp + 0x194]
jmp 0x10060f43
mov esi, dword [esp + 0x190]
mov ebx, eax
mov edx, 4
mov ecx, 4
push dword [esp + 0x198]
call fcn.1000a460
add esp, 4
test eax, eax
je 0x10060e65
mov ecx, dword [0x647e000]
push edx
push eax
push esi
push 0x647da08
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, 0x647d9dc
mov edx, 0x2b
mov byte [esp + 0x190], bl
push 0x6477ddc
push 0x647800c
lea eax, [esp + 0x198]
push eax
call fcn.10008840
add esp, 0xc
ud2
mov ecx, 0x647dbcc
mov edx, 0x2b
push 0x647c6ac
jmp 0x100610e7
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 0x1005f8c6
movzx eax, cx
cmp eax, 0x8580
jle 0x10060f64
cmp eax, 0x8581
je 0x10060f72
cmp eax, 0xb581
je 0x10060f72
cmp eax, 0xa5c1
je 0x10060f72
jmp 0x10060f7d
cmp eax, 0x65c1
je 0x10060f72
cmp eax, 0x856b
jne 0x10060f7d
cmp byte [esp + 0x60], 0
jne 0x1005fe68
mov byte [esp + 0xf8], 0
mov dword [esp + 0x20], 0
jmp 0x1005ef1a
mov ecx, 0x647d85c
mov edx, 0xe
push 0x6475de0
call fcn.10007ff0
add esp, 4
ud2
mov edx, 0x14
push 0x647c64c
call fcn.10007b00
add esp, 4
ud2