Function at 0x10049f30
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, 0x11a0
call 0x1006c483
mov eax, dword [edx]
mov edi, dword [ebp + 8]
mov dword [esp + 0x150], 6
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x168], eax
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
mov ebx, dword [edi]
movzx eax, word [ebx + 0x120]
cmp eax, 0x8664
jne 0x10058947
movzx eax, word [ebx + 0x106]
and eax, 0xfffffffe
cmp ax, 2
jne 0x1004a0e2
mov esi, dword [ebx + 0xd8]
xor eax, eax
sub esi, 1
cmovb esi, eax
movzx eax, word [ebx + 0x122]
and eax, 0xfffffffe
cmp ax, 2
jne 0x1004a008
mov edx, dword [ebx + 0x12c]
cmp edx, 2
jb 0x1004afd3
mov edi, dword [ebx + 0x128]
cmp byte [edi + 0x2f], 0
jne 0x1004a008
cmp byte [edi + 0x2e], 0
jne 0x1004a008
cmp byte [edi + 0x2d], 0
jne 0x1004a008
cmp byte [edi + 0x2c], 0
je 0x1004a75c
mov ecx, dword [ebx + 0x12c]
test ecx, ecx
je 0x1004a0e2
mov eax, dword [ebx + 0x128]
mov edi, dword [ebp + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add eax, 8
jmp 0x1004a03c
add eax, 0x28
add ecx, 0xffffffd8
je 0x1004a0e2
mov edx, dword [eax + 0x18]
not edx
test edx, 0xa0000000
jne 0x1004a030
mov edx, dword [ebx + 0xcc]
sub edx, dword [eax + 4]
jb 0x1004a030
cmp edx, dword [eax]
jae 0x1004a030
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3712445
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xda41f9ad
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004a0e0
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov ebx, dword [edi]
movzx eax, word [ebx + 0x122]
add eax, 0xfffffffe
cmp ax, 2
ja 0x1004a11d
movzx eax, word [ebx + 0x106]
and eax, 0xfffffffe
cmp ax, 2
jne 0x1004a11d
movzx eax, word [ebx + 0x126]
cmp eax, 0x2022
jne 0x1004a11d
cmp dword [ebx + 0xcc], 0
je 0x1004a4c8
mov edi, dword [ebp + 8]
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x1004a15c
cmp dword [eax + 0x18], 0
je 0x1004a15c
cmp dword [eax + 0x12c], 3
jb 0x1004a15c
mov edx, dword [eax + 0x128]
cmp byte [edx + 0x2f], 0
jne 0x1004a15c
cmp byte [edx + 0x2e], 0
jne 0x1004a15c
cmp byte [edx + 0x2d], 0
je 0x1004a5a9
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1004aa16
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10067680
add esp, 4
xor edi, edi
lea esi, [0x3712ce9]
lea edx, [0x3712cea]
mov eax, 0xfffffff9
xor ebx, ebx
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 0x1004a1c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004a1e6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004a1a0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004a263
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ecx, 0x50
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1004a281
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x1004a297
mov ecx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x170]
mov dword [esp + 0x20], ecx
jmp 0x1004a2fb
movdqa xmm0, xmmword [esp + 0x60]
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]
lea esi, [esp + 0x170]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x1004a2f2
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov edx, 0x37132e9
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
push esi
push 7
call fcn.1005b6d0
add esp, 8
jmp 0x1004aa16
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
lea ecx, [esp + 0x108]
mov dword [esp + 0x80], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x1170], 0
mov dword [esp + 0x108], esi
xor ebx, ebx
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 0x1004a7e5
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1004a350
mov esi, dword [ecx - 8]
cmp esi, 3
jbe 0x1004a350
mov dword [esp + 0xb0], ecx
movzx ecx, byte [eax]
mov dword [esp + 0xd0], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], ebx
xor esi, esi
mov ebx, 0
mov edx, ecx
add dl, 0x81
cmp dl, 0xa1
jb 0x1004a3c5
mov bl, 2
cmp cl, 0x5f
je 0x1004a3c5
mov edx, ecx
mov bl, 3
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a3c5
mov edx, ecx
mov bl, 4
add dl, 0xbf
cmp dl, 0x1a
jb 0x1004a3c5
add cl, 0x9f
cmp cl, 0x1a
setb bl
shl bl, 2
or bl, 1
mov ecx, dword [esp + 0x70]
inc eax
lea edi, [ecx - 1]
jmp 0x1004a3e1
xor ecx, ecx
xor edx, edx
cmp bl, cl
mov ebx, ecx
setne dl
inc eax
add esi, edx
dec edi
je 0x1004a41e
movzx edx, byte [eax]
mov dh, dl
add dh, 0x81
cmp dh, 0xa1
jb 0x1004a3d0
mov cl, 2
cmp dl, 0x5f
je 0x1004a3d2
mov dh, dl
mov cl, 3
add dh, 0xd0
cmp dh, 0xa
jb 0x1004a3d2
mov dh, dl
mov cl, 4
add dh, 0xbf
cmp dh, 0x1a
jb 0x1004a3d2
add dl, 0x9f
cmp dl, 0x1a
setb cl
shl cl, 2
or cl, 1
jmp 0x1004a3d2
push 0
push dword [esp + 0x74]
push esi
push 0
call 0x1006c80c
add esp, 0x10
test edx, edx
jne 0x1004b53c
mov ebx, dword [esp + 0x60]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x80]
mov ecx, ebx
inc ecx
je 0x1004a6d4
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x60], eax
jbe 0x1004a48a
mov ebx, ecx
call fcn.10004c50
mov edx, ebx
test eax, eax
je 0x1004a47b
cmp eax, edx
jbe 0x1004a47b
mov ecx, esi
mov edx, eax
call fcn.1002beb0
mov edx, ebx
cmp al, 8
je 0x1004a48a
mov ecx, esi
call fcn.1002beb0
cmp al, 8
jne 0x1004a7de
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x60]
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 0x1004a35e
jmp 0x1004a7e5
cmp dword [ebx + 0x18], 0
je 0x1004a11d
mov eax, dword [ebx + 0x20]
or eax, dword [ebx + 0x24]
jne 0x1004a11d
lea ecx, [ebx + 8]
call fcn.10007900
mov edi, edx
mov edx, dword [ebx + 0x12c]
cmp edx, 2
jb 0x1004b334
mov ecx, dword [ebx + 0x128]
add eax, dword [ecx + 0x30]
lea ecx, [esp + 0x170]
adc edi, 0
mov esi, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x20], edi
mov ebx, edi
mov edi, dword [ebp + 0xc]
add esi, 0xfffffff8
adc ebx, 0xffffffff
mov edx, dword [edi]
push 0
push ebx
push esi
push dword [edi + 8]
push dword [edi + 4]
mov edi, ecx
call fcn.10035020
add esp, 0x14
mov ecx, 0x3712a2c
mov edx, 0x23
call fcn.1000bfa0
mov ecx, esp
mov edx, edi
push eax
call fcn.10033b00
add esp, 4
movq xmm0, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm0
test edx, edx
je 0x1004a6e0
movd edx, xmm0
test edx, edx
je 0x1004a11d
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x17c], eax
mov edx, 0x37132e0
mov ecx, dword [ecx + 0x10]
push edi
push 3
call fcn.1005b6d0
add esp, 8
jmp 0x1004a11d
cmp byte [edx + 0x2c], 0
je 0x1004a15c
movzx eax, byte [edx + 0x2c]
mov ecx, 0x7865742e
xor ecx, dword [edx + 0x28]
xor eax, 0x74
or eax, ecx
jne 0x1004a15c
mov dword [esp + 0x60], edx
mov edx, edi
mov ecx, esp
push dword [ebp + 0xc]
call fcn.10067680
add esp, 4
xor esi, esi
lea ebx, [0x370fc42]
lea edx, [0x370fc43]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a61d
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edi, dl
lea edx, [ebx + 1]
shl ecx, 4
or edi, ecx
test eax, eax
cmove edx, ebx
je 0x1004a63e
shld dword [esp + 0x20], esi, 4
inc eax
test ebx, ebx
mov esi, edi
jne 0x1004a5f8
mov eax, dword [esp]
test eax, eax
je 0x1004ae6a
mov ecx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
xor edi, 0x23
mov dword [esp + 0x170], eax
lea edx, [esp + 0x170]
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], ecx
lea ecx, [esp + 0x40]
push edi
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1004aed9
mov ecx, dword [esp + 0x4c]
movq xmm0, qword [esp + 0x44]
mov edi, dword [ebp + 8]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], ecx
mov edx, 0x37132e3
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 6
call fcn.1005b6d0
add esp, 8
jmp 0x1004a15c
mov dword [esp + 0x100], ebx
jmp 0x1004a7fd
mov esi, dword [esp + 0x20]
or ecx, eax
je 0x1004a11d
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x60]
mov eax, esi
lea ecx, [esp + 0x170]
mov edx, dword [edi]
add ebx, 8
adc eax, 0
push 0
push eax
push ebx
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
mov ecx, 0x3712a2c
mov edx, 0x26
call fcn.1000bfa0
mov ecx, esp
lea edx, [esp + 0x170]
push eax
call fcn.10033b00
add esp, 4
movq xmm0, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm0
test edx, edx
je 0x1004ad91
lea edi, [esp + 0x170]
jmp 0x1004a56a
cmp byte [edi + 0x2b], 0
je 0x1004a008
cmp dword [edi + 0x28], 0x30585055
jne 0x1004a008
test dword [edi + 0x30], esi
jne 0x1004a008
cmp dword [edi + 0x38], 0
jne 0x1004a008
cmp dword [edi + 0x48], 0xe0000080
jne 0x1004a008
cmp edx, 3
jb 0x1004b5de
lea ecx, [edi + 0x50]
call 0x1006c420
cmp edx, 4
jne 0x1004a008
cmp dword [eax], 0x31585055
jne 0x1004a008
test dword [edi + 0x58], esi
jne 0x1004a008
cmp dword [edi + 0x60], 0
je 0x1004a008
cmp dword [edi + 0x70], 0xe0000040
jne 0x1004a008
jmp 0x1004a0e2
mov ebx, dword [esp + 0x88]
cmp ebx, 2
mov dword [esp + 0x100], ebx
jae 0x1004a7fd
mov eax, dword [esp + 0x8c]
jmp 0x1004a986
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x80]
mov eax, 0x20
mov ecx, 0x20
cmp ebx, edx
mov dword [esp + 0x70], edx
cmovb edx, ebx
test edx, edx
je 0x1004a828
bsr ecx, edx
xor ecx, 0x1f
sub eax, ecx
mov edi, esp
mov ecx, esi
push eax
push 0
push edi
call fcn.10062b50
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x60], ebx
mov dword [esp + 0xe8], eax
mov eax, ebx
and eax, 0xfffffffe
cmp ebx, 4
mov eax, dword [esi + eax*2]
mov dword [esp + 0x98], eax
mov eax, dword [esi + ebx*4 - 4]
mov dword [esp + 0x40], eax
jae 0x1004a86e
mov edi, dword [ebp + 8]
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x1004a8d2
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 0x1004a890
paddq xmm0, xmm2
mov edi, dword [ebp + 8]
cmp ebx, eax
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movd edx, xmm0
je 0x1004a8eb
mov ebx, dword [esp + 0x60]
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 0x1004a8e0
push 0
push dword [esp + 0x64]
push edx
push ecx
call 0x1006c80c
add esp, 0x10
test edx, edx
jne 0x1004b55b
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x3712cf1
mov esi, dword [eax + 0x10]
lea eax, [esp + 0x100]
mov ecx, esi
push eax
push 0xa
call fcn.1005b9a0
add esp, 8
lea eax, [esp + 0xe8]
mov ecx, esi
mov edx, 0x3712cfb
push eax
push 8
call fcn.1005b9a0
add esp, 8
lea eax, [esp + 0x98]
mov ecx, esi
mov edx, 0x3712d03
push eax
push 0xb
call fcn.1005b9a0
add esp, 8
mov eax, esp
mov ecx, esi
mov edx, 0x3712d0e
push eax
push 0xc
call fcn.1005b9a0
add esp, 8
lea eax, [esp + 0x40]
mov ecx, esi
mov edx, 0x3712d1a
push eax
push 8
call fcn.1005b9a0
add esp, 8
mov eax, dword [esp + 0x70]
mov edx, 4
mov ecx, 4
push eax
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004aa10
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 + 0xe8], eax
mov dword [esp + 0xec], edx
test ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edi
je 0x1004b421
cmp ebx, eax
jne 0x1004b421
cmp edi, edx
jne 0x1004b421
cmp ecx, esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0x98], ecx
jne 0x1004b4e1
mov edi, dword [ebp + 8]
mov dword [ecx + 0x1000], 0
mov eax, dword [esp + 0x20]
dec dword [eax]
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.100684e0
add esp, 4
xor edi, edi
lea esi, [0x370fc35]
lea edx, [0x370fc36]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004aa65
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004aa86
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004aa40
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004ab00
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ecx, 0xd
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004ab26
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x1004ab3c
mov ecx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x70], ecx
jne 0x1004abb5
jmp 0x1004b6e2
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 + 0x60]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1004ab9d
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x170], edx
mov edx, 0x37132f0
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x170]
push eax
push 6
call fcn.1005b6d0
add esp, 8
jmp 0x1004b6ee
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x70], ecx
je 0x1004b6e2
mov ebx, dword [esp + 0x70]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, ebx
mov dword [esp + 0x20], eax
jmp 0x1004abda
mov ebx, esi
sub esi, ecx
jbe 0x1004b6e2
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 0x1004abd0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004ac1a
inc esi
mov ecx, esi
mov esi, ebx
sub esi, ecx
ja 0x1004abda
jmp 0x1004b6e2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004b6e2
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004ac4a
mov ecx, edx
sub edx, ebx
jbe 0x1004b6e2
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 0x1004ac40
movzx eax, al
cmp eax, 0xff
jne 0x1004ac84
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004ac4a
jmp 0x1004b6e2
mov ecx, dword [esp + 0x70]
xor ebx, ebx
mov esi, ecx
jmp 0x1004ac98
mov ecx, esi
sub esi, ebx
jbe 0x1004b6e2
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 0x1004ac8e
movzx edx, dl
cmp edx, 0xff
jne 0x1004acd8
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004ac98
jmp 0x1004b6e2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004b6e2
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004acff
mov ecx, edx
sub edx, ebx
jbe 0x1004b6e2
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 0x1004acf5
movzx eax, al
cmp eax, 0xff
jne 0x1004ad39
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004acff
jmp 0x1004b6e2
mov ecx, dword [esp + 0x70]
xor ebx, ebx
mov esi, ecx
jmp 0x1004ad4d
mov ecx, esi
sub esi, ebx
jbe 0x1004b6e2
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 0x1004ad43
movzx edx, dl
cmp edx, 0xff
jne 0x1004ae74
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004ad4d
jmp 0x1004b6e2
or ecx, eax
lea edi, [esp + 0x170]
je 0x1004a11d
mov eax, dword [ebp + 0xc]
lea ebx, [esp + 0x170]
mov ecx, ebx
mov edx, dword [eax]
push 0
push esi
push dword [esp + 0x68]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035020
add esp, 0x14
mov ecx, 0x3712a2c
mov edx, 0x29
call fcn.1000bfa0
mov ecx, esp
mov edx, ebx
push eax
call fcn.10033b00
add esp, 4
movq xmm0, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm0
test edx, edx
jne 0x1004a56a
or ecx, eax
jne 0x1004a11d
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x3712a48
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x15c9146b
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x1004a11d
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x1004aee1
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004b6e2
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004ae9b
mov ecx, edx
sub edx, ebx
jbe 0x1004b6e2
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 0x1004ae91
movzx eax, al
cmp eax, 0xff
jne 0x1004af7b
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004ae9b
jmp 0x1004b6e2
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
cmp dword [esi + 0x18], 0xa
mov dword [esp + 0x20], eax
ja 0x1004aef1
cmp dword [esi + 0x14], 0
je 0x1004aeff
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
dec dword [eax]
jmp 0x1004a15c
mov ecx, 0x3710489
mov edx, 0x11
call 0x1006c120
mov edi, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
lea ecx, [edi + edi*8]
mov dword [esp + 0x70], edx
lea ebx, [ecx + ecx*2]
mov ecx, ebx
lea ecx, [ebx + edi]
mov dword [esp + 0xb0], ebx
test ecx, ecx
je 0x1004aef1
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x1004af2a
cmp dword [ebx + 4], eax
jne 0x1004af2a
mov ecx, 0x371049a
mov edx, 0x13
call 0x1006c120
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x70]
add ecx, edi
test ecx, ecx
je 0x1004afe7
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x1004af5c
cmp dword [ebx + 4], eax
jne 0x1004af5c
jmp 0x1004aef1
mov ecx, dword [esp + 0x70]
xor ebx, ebx
mov esi, ecx
jmp 0x1004af8f
mov ecx, esi
sub esi, ebx
jbe 0x1004b6e2
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 0x1004af85
movzx edx, dl
cmp edx, 0xff
jne 0x1004b27f
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004af8f
jmp 0x1004b6e2
mov ecx, 1
push 0x3713508
call fcn.10008830
add esp, 4
ud2
mov ecx, esi
call fcn.100612a0
test eax, eax
je 0x1004aef1
cmp dword [eax + 0xc], 0
jne 0x1004aef1
cmp edi, 1
je 0x1004b215
test edi, edi
je 0x1005b6b1
mov eax, dword [ebp + 8]
add dword [esp + 0x70], 0x28
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xd0], ecx
lea eax, [edi + eax - 0x1c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
mov edx, dword [eax]
mov eax, edx
sub eax, dword [ecx + 0x34]
jb 0x1004aef1
mov ecx, dword [esp + 0x60]
cmp eax, dword [ecx + 0x30]
jae 0x1004aef1
add edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xf0]
lea esi, [esp + 0x170]
mov ecx, esi
adc eax, 0
mov edi, edx
add edi, 0x20
mov ebx, eax
adc ebx, 0
push ebx
push edi
push eax
call fcn.10045a40
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov edi, esp
mov ecx, edi
push esi
call fcn.10067240
add esp, 4
mov ecx, 0x370fc41
mov edx, 0x3e
call fcn.1000bfa0
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x1004b3a9
movdqu xmm0, xmmword [esp + 0x48]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004aef1
pshufd xmm1, xmm0, 0xff
pshufd xmm0, xmm0, 0xee
movd edx, xmm0
movd eax, xmm1
mov ecx, edx
add ecx, 0x20
adc eax, 0
sub esp, 0xc
lea esi, [esp + 0x17c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
movd dword [esp], xmm1
mov ecx, esi
call fcn.10045a40
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov edi, esp
mov ecx, edi
push esi
call fcn.10067460
add esp, 4
mov ecx, 0x370fc41
mov edx, 0x43
call fcn.1000bfa0
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x1004b3a9
movdqu xmm0, xmmword [esp + 0x48]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004aef1
pshufd xmm1, xmm0, 0xff
pshufd xmm0, xmm0, 0xee
movd edx, xmm0
movd eax, xmm1
mov ecx, edx
add ecx, 0x20
adc eax, 0
sub esp, 0xc
lea esi, [esp + 0x17c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
movd dword [esp], xmm1
mov ecx, esi
call fcn.10045a40
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov edi, esp
mov ecx, edi
push esi
call fcn.10067020
add esp, 4
mov ecx, 0x370fc41
mov edx, 0x48
call fcn.1000bfa0
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x1004b3a9
movdqu xmm0, xmmword [esp + 0x48]
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
or eax, dword [esp + 0x48]
jne 0x1004aef1
add dword [esp + 0x70], 0x1c
add dword [esp + 0xb0], 0xffffffe4
jne 0x1004b041
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x370fc74
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xb1d111b0
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x1004aef1
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004b6e2
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b2a6
mov ecx, edx
sub edx, ebx
jbe 0x1004b6e2
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 0x1004b29c
movzx eax, al
cmp eax, 0xff
jne 0x1004b2e0
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b2a6
jmp 0x1004b6e2
mov ecx, dword [esp + 0x70]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b2f4
mov ecx, esi
sub esi, ebx
jbe 0x1004b6e2
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 0x1004b2ea
movzx edx, dl
cmp edx, 0xff
jne 0x1004b348
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b2f4
jmp 0x1004b6e2
mov ecx, 1
push 0x3712a38
call fcn.10008830
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004b6e2
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b36f
mov ecx, edx
sub edx, ebx
jbe 0x1004b6e2
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 0x1004b365
movzx eax, al
cmp eax, 0xff
jne 0x1004b3cd
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b36f
jmp 0x1004b6e2
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
movq xmm0, qword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edi, dword [ebp + 8]
dec dword [edx]
test eax, eax
jne 0x1004a69a
jmp 0x1004a15c
mov ecx, dword [esp + 0x70]
xor ebx, ebx
mov esi, ecx
jmp 0x1004b3e1
mov ecx, esi
sub esi, ebx
jbe 0x1004b6e2
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 0x1004b3d7
movzx edx, dl
cmp edx, 0xff
jne 0x1004b47c
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004b3e1
jmp 0x1004b6e2
lea eax, [esp + 0xe8]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x40]
mov dword [esp], 0x37124e8
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x36a4770
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x3712500
mov dword [esp + 0x4c], 0x36a4770
mov dword [esp + 0xc], 2
call fcn.100087c0
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x1004b6e2
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x1004b4a3
mov ecx, edx
sub edx, ebx
jbe 0x1004b6e2
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 0x1004b499
movzx eax, al
cmp eax, 0xff
jne 0x1004b57c
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x1004b4a3
jmp 0x1004b6e2
lea eax, [esp + 0xe8]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x40]
mov dword [esp], 0x37124a8
mov dword [esp + 4], 3
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x36d76e0
mov dword [esp + 0x48], edx
mov ecx, esp
mov edx, 0x37124c0
mov dword [esp + 0x4c], 0x36d76e0
mov dword [esp + 0xc], 2
call fcn.100087c0
ud2
mov eax, esp
mov ecx, 0x37157f4
mov edx, 0x2b
mov byte [esp], 1
push 0x3714138
push 0x3713148
jmp 0x1005b692
mov ecx, 0x37157f4
mov edx, 0x2b
mov byte [esp], 1
push 0x3714138
push 0x3713148
lea eax, [esp + 8]
jmp 0x1005b692
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0xff
jmp 0x1004b59b
mov ecx, dword [esp + 0x70]
sub dword [esp + 0x70], esi
jbe 0x1004b6e2
mov eax, dword [esp + 0x70]
xor ebx, ebx
shr eax, 1
add eax, esi
mov dword [esp + 0x70], eax
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x1004b58d
movzx esi, bl
cmp esi, 0xff
jne 0x1004b5f7
mov esi, dword [esp + 0x70]
mov dword [esp + 0x70], ecx
inc esi
sub dword [esp + 0x70], esi
ja 0x1004b59b
jmp 0x1004b6e2
mov ecx, 2
mov edx, 2
push 0x3713518
call fcn.10008830
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x1004b6e2
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov esi, ecx
mov eax, dword [edx + eax]
jmp 0x1004b61e
mov esi, ecx
sub ecx, ebx
jbe 0x1004b6e2
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 0x1004b614
movzx edx, dl
cmp edx, 0xff
jne 0x1004b65a
inc ecx
mov ebx, ecx
mov ecx, esi
sub ecx, ebx
ja 0x1004b61e
jmp 0x1004b6e2
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x370fc3d
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe5d4cb4f
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004b6e2
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x60]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
mov edx, esi
lea ecx, [esp + 0x170]
push edi
call fcn.100684e0
add esp, 4
lea esi, [0x37131b5]
lea edx, [0x37131b6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
mov dword [esp + 0x60], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004b755
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
add bl, 0xa9
mov edx, ebx
mov ebx, dword [esp + 0x20]
movzx ecx, dl
lea edx, [esi + 1]
mov edi, ebx
shl edi, 4
or ecx, edi
test eax, eax
cmove edx, esi
je 0x1004b77c
shld dword [esp + 0x60], ebx, 4
inc eax
test esi, esi
mov dword [esp + 0x20], ecx
jne 0x1004b730
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004b7f9
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ecx, 0x15
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004b81f
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x1004b835
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov dword [esp + 0xb0], eax
mov esi, dword [edi + 0x10]
cmp esi, 1
jne 0x1004b8c0
jmp 0x1004bb70
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]
mov edx, dword [esp + 0xb0]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x1004b8ab
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x170], ecx
mov edx, 0x37132f6
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 6
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
je 0x1004bb91
jmp 0x1004cdf4
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
mov esi, dword [edi + 0x10]
cmp esi, 1
je 0x1004bb70
mov ecx, 0x37131bd
mov edx, 8
call 0x1006c120
test esi, esi
mov dword [esp + 0x20], eax
je 0x1004bb70
mov eax, dword [edi + 0xc]
xor ebx, ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], eax
jmp 0x1004b8fc
mov dword [esp + 0x70], esi
sub esi, ebx
jbe 0x1004bb70
shr esi, 1
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
xor edx, edx
add esi, ebx
mov edi, esi
shl edi, 4
cmp dword [eax + edi + 0xc], ecx
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x1004b8f0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004b93e
inc esi
mov ebx, esi
mov esi, dword [esp + 0x70]
sub esi, ebx
ja 0x1004b8fc
jmp 0x1004bb70
mov eax, dword [esp + 0x60]
mov eax, dword [eax + edi + 4]
cmp eax, 9
mov dword [esp + 0xd0], eax
ja 0x1004bb70
mov ecx, 0x37131c5
mov edx, 0xc
call 0x1006c120
cmp dword [esp + 0xd0], 0
mov dword [esp + 0x20], eax
je 0x1004bb70
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xd0]
xor ebx, ebx
add eax, edi
mov edi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 0x70], ecx
mov eax, dword [eax]
mov dword [esp + 0x60], eax
jmp 0x1004b9a4
mov dword [esp + 0x70], edx
sub edx, ebx
jbe 0x1004bb70
shr edx, 1
mov eax, dword [esp + 0x60]
xor ecx, ecx
add edx, ebx
mov esi, edx
shl esi, 4
cmp dword [eax + esi + 0xc], edi
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x1004b998
movzx ecx, cl
cmp ecx, 0xff
jne 0x1004b9e2
inc edx
mov ebx, edx
mov edx, dword [esp + 0x70]
sub edx, ebx
ja 0x1004b9a4
jmp 0x1004bb70
mov ecx, 0x37131d1
mov edx, 8
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov ecx, 0x37131d9
mov edx, 0xd
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov ecx, 0x37131e6
mov edx, 0xc
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov ecx, 0x37131f2
mov edx, 0xc
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov ecx, 0x37131fe
mov edx, 0xe
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov ecx, 0x371320c
mov edx, 5
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov ecx, 0x3713211
mov edx, 0xc
call 0x1006c120
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.1006a9c0
add esp, 4
test eax, eax
jne 0x1004bb70
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x371321d
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x8f1ee398
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
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 0x1004cdf4
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004cdf4
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1004cdf4
mov esi, dword [eax + 0xcc]
test esi, esi
je 0x1004cdf4
mov edi, dword [ebp + 0xc]
mov ebx, dword [eax + 0xc]
add esi, dword [eax + 8]
lea ecx, [esp + 0x170]
mov edx, edi
adc ebx, 0
push 0xa
push 0x370fc4a
mov dword [esp + 0x78], ebx
push ebx
push esi
call fcn.100653d0
add esp, 0x10
lea ecx, [0x370fc42]
lea edx, [0x370fc43]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004bc1e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004bc2d
inc eax
test ecx, ecx
jne 0x1004bc00
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004bc9c
movsd xmm0, qword [esp + 0x174]
mov ebx, esi
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
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 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004bca6
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004bcbb
movzx eax, byte [esp + 0x174]
jmp 0x1004bccb
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
jne 0x1004bed1
mov eax, dword [esp + 4]
test al, al
je 0x1004bef3
mov ebx, dword [esp + 0x70]
mov eax, esi
xor edx, edx
movd xmm0, esi
mov byte [esp + 0x180], 2
mov dword [esp + 0x60], 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 [0x370c5b0]
movd xmm0, edx
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x370c5c0]
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 + 0x170]
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xeb], eax
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0xa0], xmm1
jb 0x1004cd83
movsd xmm0, qword [esp + 0x98]
movq xmm1, qword [esp + 0xa0]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xeb]
lea edx, [esp + 0x170]
movq qword [esp + 0x178], xmm1
movsd qword [esp + 0x170], xmm0
mov byte [esp + 0x180], 0
mov dword [esp + 0x181], eax
mov dword [esp + 0x184], ecx
lea ecx, [esp + 0x40]
push edi
push 6
push 0x37139cc
call fcn.1002cc50
add esp, 0xc
xor esi, esi
lea edi, [0x370fc42]
lea edx, [0x370fc43]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ebx, byte [edi]
mov edi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004be55
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
add bl, 0xa9
mov edx, ebx
mov ecx, esi
movzx ebx, dl
lea edx, [edi + 1]
shl ecx, 4
or ebx, ecx
test eax, eax
cmove edx, edi
je 0x1004be76
shld dword [esp + 0x20], esi, 4
inc eax
test edi, edi
mov esi, ebx
jne 0x1004be30
cmp dword [esp + 0x40], 0
je 0x1004c480
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor ebx, 0x80
lea edx, [esp + 0x170]
movsd qword [esp + 0x170], xmm0
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ecx
lea ecx, [esp + 0x84]
push ebx
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x90]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x60]
test eax, eax
je 0x1004bef3
mov ecx, eax
mov ebx, eax
call fcn.10005180
mov eax, dword [0x3716000]
push 4
push 8
push ebx
push 0x3715820
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x70]
mov edx, edi
mov word [esp + 0x108], 0x24
lea ecx, [esp + 0x170]
push 3
push 0x3713848
mov dword [esp + 0x28], eax
push eax
mov dword [esp + 0x6c], esi
push esi
call fcn.100653d0
add esp, 0x10
xor edi, edi
lea esi, [0x370fc42]
lea edx, [0x370fc43]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004bf65
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004bf86
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004bf40
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004bff5
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
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 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004c009
lea ecx, [esp + 0x80]
call fcn.10005180
xor ebx, ebx
jmp 0x1004c01c
movzx edx, byte [esp + 0x174]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x60]
jmp 0x1004c0d6
movdqa xmm0, xmmword [esp + 0x70]
mov ebx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x60]
test ecx, ecx
je 0x1004c0d3
xor edi, 0xa7
mov dword [esp + 0x20], edx
shr edx, 0x10
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0xd0], edx
xor esi, esi
lea edi, [0x370fc42]
lea edx, [0x370fc43]
mov eax, 0xfffffff9
xor ebx, ebx
nop word [eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c095
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004c0b6
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x1004c070
xor ecx, 0xe8
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x20]
jmp 0x1004c2dd
mov edi, dword [ebp + 8]
test dl, dl
je 0x1004cde5
mov ebx, dword [esp + 0x20]
mov edx, eax
mov edi, eax
mov byte [esp + 0x180], 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 ecx, esi
cmove eax, esi
cmove ebx, esi
cmp eax, edx
mov esi, ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, esp
lea ecx, [esp + 0x170]
mov byte [esp + 0x10], 0
sbb esi, ebx
cmovb eax, ecx
mov ecx, dword [eax + 0x11]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x103], eax
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0xa0], xmm1
jb 0x1004cd83
movsd xmm0, qword [esp + 0x98]
movq xmm1, qword [esp + 0xa0]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x103]
lea edx, [esp + 0x170]
movq qword [esp + 0x178], xmm1
movsd qword [esp + 0x170], xmm0
mov byte [esp + 0x180], 0
mov dword [esp + 0x181], eax
mov dword [esp + 0x184], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x370fc60
call fcn.1002cc50
add esp, 0xc
lea edi, [0x370fc42]
lea ebx, [0x370fc43]
mov eax, 0xfffffff9
xor edx, edx
movzx ecx, byte [edi]
mov edi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004c215
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx esi, ch
shl ebx, 4
or esi, ebx
lea ebx, [edi + 1]
test eax, eax
cmove ebx, edi
je 0x1004c236
shld dword [esp + 0x20], edx, 4
inc eax
test edi, edi
mov edx, esi
jne 0x1004c1f0
cmp dword [esp + 0x40], 0
je 0x1004c516
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor esi, 0xad
lea edx, [esp + 0x170]
movsd qword [esp + 0x170], xmm0
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ecx
lea ecx, [esp + 0x84]
push esi
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x90]
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], ecx
shr ecx, 0x10
mov dword [esp + 0xb0], eax
mov dword [esp + 0xd0], ecx
mov ecx, 0x370fc41
mov edx, 0xe8
call fcn.1000bfa0
test ebx, ebx
je 0x1004c3e3
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
movzx eax, ch
mov dword [esp + 0x20], ecx
movzx ecx, cl
mov dword [esp + 0x60], ebx
movd xmm1, ebx
mov ebx, dword [esp + 0x70]
shl eax, 8
or ecx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp], ebx
shl eax, 0x10
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0xb0]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0xd0], xmm1
mov esi, eax
mov dword [esp + 4], eax
mov eax, dword [0x3716000]
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x17c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x1004c356
mov ecx, esp
call fcn.10005180
xor eax, eax
jmp 0x1004c362
mov eax, dword [esp + 0x174]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov edx, dword [esp + 0x60]
movaps xmm0, xmmword [esp + 0xd0]
test edx, edx
movlps qword [esp + 0xe8], xmm0
je 0x1004c3e3
movzx ecx, word [esp + 0xed]
mov word [esp + 0x175], cx
movzx ecx, byte [esp + 0xef]
mov byte [esp + 0x177], cl
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x170], edx
mov edx, 0x37132fc
mov byte [esp + 0x174], cl
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 6
call fcn.1005b6d0
add esp, 8
jmp 0x1004cdf4
mov eax, dword [esp + 0x20]
test al, al
je 0x1004cdf4
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x370fc78
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xafee5d80
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004cdf4
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004cdf4
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x60]
or eax, dword [esp + 0x4c]
je 0x1004bef3
mov edx, dword [esp + 0x50]
mov ecx, esp
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push dword [esp + 0x60]
call fcn.1002d250
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0x84
call fcn.1000bfa0
mov ecx, dword [esp]
test ecx, ecx
je 0x1004c5ce
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x40], 0
jne 0x1004bed1
mov ebx, dword [esp + 0x48]
jmp 0x1004c5d6
mov eax, dword [esp + 0x48]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x1004cde5
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
lea esi, [esp + 0x170]
mov ecx, esi
mov edi, edx
mov ebx, eax
add edi, 0x20
adc ebx, 0
push ebx
push edi
push eax
call fcn.10045a40
add esp, 0xc
mov ecx, esp
mov edx, esi
push dword [ebp + 0xc]
push 3
push 0x3711550
call fcn.1002cc50
add esp, 0xc
mov ecx, 0x370fc41
mov edx, 0xb8
call fcn.1000bfa0
cmp dword [esp], 0
je 0x1004c628
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x170], xmm0
mov dword [esp + 0x178], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x50]
jmp 0x1004c2a3
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x170]
mov edx, edi
push 3
push 0x370fc54
push eax
push ebx
call fcn.100653d0
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0x86
call fcn.1000bfa0
mov ecx, esp
lea edx, [esp + 0x170]
push eax
call fcn.1002d3e0
add esp, 4
cmp dword [esp], 0
je 0x1004c6bd
mov eax, dword [esp + 0xc]
jmp 0x1004bed1
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004cde5
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
lea esi, [esp + 0x170]
mov ecx, esi
mov edx, dword [eax]
push 1
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035390
add esp, 0x14
mov ecx, 0x370fc41
mov edx, 0xbd
call fcn.1000bfa0
mov ecx, esp
mov edx, esi
push eax
call fcn.1002d490
add esp, 4
mov eax, dword [esp]
test eax, eax
mov dword [esp + 0x60], eax
je 0x1004c741
movzx eax, byte [esp + 4]
mov ah, byte [esp + 5]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
movzx eax, word [esp + 6]
mov dword [esp + 0x70], edx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xd0], eax
jmp 0x1004c052
mov eax, dword [esp + 0x20]
cmp byte [esp + 4], 0
je 0x1004bef3
mov edx, ebx
mov esi, eax
lea ecx, [esp + 0x170]
add edx, 0x90
adc eax, 0
add ebx, 0xb0
adc esi, 0
push esi
push ebx
push eax
call fcn.10045a40
add esp, 0xc
mov esi, esp
lea edx, [esp + 0x170]
mov ecx, esi
push edi
push 9
push 0x370fc57
call fcn.1002cc50
add esp, 0xc
mov ecx, 0x370fc41
mov edx, 0x8d
call fcn.1000bfa0
lea ecx, [esp + 0x40]
mov edx, esi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp + 0x40], 0
je 0x1004c806
mov eax, dword [esp + 0x50]
jmp 0x1004becd
movzx eax, byte [esp + 4]
mov edx, edi
lea esi, [esp + 0x170]
add edx, 5
mov ecx, esi
mov byte [esp + 0x109], al
mov eax, ebx
adc eax, 0
add edi, 0x25
adc ebx, 0
push ebx
push edi
push eax
call fcn.10045a40
add esp, 0xc
lea eax, [esp + 0x108]
mov ecx, esp
mov edx, esi
push dword [ebp + 0xc]
push 2
push eax
call fcn.1002cc50
add esp, 0xc
mov ecx, 0x370fc41
mov edx, 0xc2
call fcn.1000bfa0
cmp dword [esp], 0
je 0x1004c874
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x170], xmm0
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], edx
lea ecx, [esp + 0x44]
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
shr ecx, 0x10
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], edx
jmp 0x1004c2b4
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1004c94a
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov edx, edi
lea ecx, [esp + 0x170]
mov eax, esi
mov edi, ebx
add eax, 4
adc edi, 0
push 9
push 0x370fc57
push edi
push eax
call fcn.100653d0
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0x94
call fcn.1000bfa0
mov ecx, esp
lea edx, [esp + 0x170]
push eax
call fcn.1002d3e0
add esp, 4
cmp dword [esp], 0
je 0x1004c957
mov eax, dword [esp + 0xc]
jmp 0x1004beca
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004cde5
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov edx, dword [edi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffc
mov esi, ebx
adc ebx, 0xffffffff
push ebx
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100348e0
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0xc7
call fcn.1000bfa0
mov ecx, dword [esp]
test ecx, ecx
je 0x1004c9a4
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
mov ebx, eax
test eax, eax
je 0x1004c9ab
movzx eax, word [esp + 0x46]
movzx esi, word [esp + 0x44]
mov ecx, 0x370fc41
mov edx, 0xe8
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb0], eax
call fcn.1000bfa0
mov edi, dword [ebp + 8]
mov ecx, esi
jmp 0x1004c2d6
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x60]
jmp 0x1004bef7
cmp byte [esp + 4], 0
je 0x1004cae4
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
mov edx, esi
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push ebx
call fcn.1002d250
add esp, 0x10
mov eax, dword [esp + 0x17c]
cmp dword [esp + 0x170], 0
mov esi, dword [esp + 0x60]
jne 0x1004bed1
mov esi, dword [esp + 0x178]
jmp 0x1004bef7
movzx eax, word [esp + 4]
jmp 0x1004c9b0
movzx eax, word [esp + 0x44]
movzx eax, ax
mov cl, 1
cmp eax, 0x64c0
mov dword [esp + 0x60], ecx
jg 0x1004c9d7
cmp eax, 0x446b
je 0x1004c9f4
cmp eax, 0x4481
je 0x1004c9f4
cmp eax, 0x4c81
je 0x1004c9f4
jmp 0x1004c9ec
cmp eax, 0x64c1
je 0x1004c9f4
cmp eax, 0x6cc1
je 0x1004c9f4
cmp eax, 0x7481
je 0x1004c9f4
mov dword [esp + 0x60], 0
mov edx, dword [esp + 0x20]
mov edi, esi
lea ebx, [esp + 0x170]
mov ecx, ebx
mov eax, edx
add eax, 0x20
adc edi, 0
push edi
push eax
push esi
call fcn.10045a40
add esp, 0xc
mov ecx, esp
mov edx, ebx
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x110]
push eax
call fcn.1002cc50
add esp, 0xc
mov ecx, 0x370fc41
mov edx, 0xc2
call fcn.1000bfa0
cmp dword [esp], 0
jne 0x1004c7a3
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004cde5
mov esi, dword [esp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, esi
mov edx, dword [edi]
mov dword [esp + 0x20], ebx
add eax, 0xfffffffc
adc ebx, 0xffffffff
push ebx
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100348e0
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0xc7
call fcn.1000bfa0
mov ecx, dword [esp]
test ecx, ecx
je 0x1004caf4
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
mov ebx, eax
test eax, eax
jne 0x1004c90d
movzx eax, word [esp + 0x44]
jmp 0x1004caf9
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x60]
jmp 0x1004bef7
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x1004cb1a
cmp eax, 0x446b
je 0x1004cb2f
cmp eax, 0x4481
je 0x1004cb2f
cmp eax, 0x4c81
je 0x1004cb2f
jmp 0x1004cb53
cmp eax, 0x64c1
je 0x1004cb2f
cmp eax, 0x7481
je 0x1004cb2f
cmp eax, 0x6cc1
jne 0x1004cb53
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
je 0x1004cb53
mov ecx, 0x370fc41
mov edx, 0xe8
call fcn.1000bfa0
mov edi, dword [ebp + 8]
jmp 0x1004c3ef
mov ebx, dword [esp + 0x20]
mov eax, esi
lea ecx, [esp + 0x170]
mov edx, esi
add eax, 0x20
mov edi, ebx
adc edi, 0
push edi
push eax
push ebx
call fcn.10045a40
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x170]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x110]
push eax
call fcn.1002cc50
add esp, 0xc
mov ecx, 0x370fc41
mov edx, 0xc2
call fcn.1000bfa0
cmp dword [esp], 0
jne 0x1004c7a3
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004cde5
mov esi, dword [esp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, esi
mov edx, dword [edi]
mov dword [esp + 0x20], ebx
add eax, 0xfffffffc
adc ebx, 0xffffffff
push ebx
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100348e0
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0xc7
call fcn.1000bfa0
mov ecx, dword [esp]
test ecx, ecx
je 0x1004cc48
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
mov ebx, eax
test eax, eax
jne 0x1004c90d
movzx eax, word [esp + 0x44]
jmp 0x1004cc4d
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x1004cc6e
cmp eax, 0x446b
je 0x1004cc83
cmp eax, 0x4481
je 0x1004cc83
cmp eax, 0x4c81
je 0x1004cc83
jmp 0x1004cc94
cmp eax, 0x64c1
je 0x1004cc83
cmp eax, 0x7481
je 0x1004cc83
cmp eax, 0x6cc1
jne 0x1004cc94
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
jne 0x1004cb3c
mov ebx, dword [esp + 0x20]
mov eax, esi
lea ecx, [esp + 0x170]
mov edx, esi
add eax, 0x20
mov edi, ebx
adc edi, 0
push edi
push eax
push ebx
call fcn.10045a40
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x170]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x110]
push eax
call fcn.1002cc50
add esp, 0xc
mov ecx, 0x370fc41
mov edx, 0xc2
call fcn.1000bfa0
cmp dword [esp], 0
jne 0x1004c7a3
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004cde5
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, esp
mov edx, dword [edi]
add esi, 0xfffffffc
adc eax, 0xffffffff
push eax
push esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.100348e0
add esp, 0x10
mov ecx, 0x370fc41
mov edx, 0xc7
call fcn.1000bfa0
mov ecx, dword [esp]
test ecx, ecx
je 0x1004cd9c
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
mov ebx, eax
test eax, eax
jne 0x1004c90d
movzx eax, word [esp + 0x44]
jmp 0x1004cda1
mov ecx, 0x3715a40
mov edx, 0x2b
push 0x3713128
call fcn.100091f0
add esp, 4
ud2
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x1004cdc2
cmp eax, 0x446b
je 0x1004cdd7
cmp eax, 0x4481
je 0x1004cdd7
cmp eax, 0x4c81
je 0x1004cdd7
jmp 0x1004cde2
cmp eax, 0x64c1
je 0x1004cdd7
cmp eax, 0x7481
je 0x1004cdd7
cmp eax, 0x6cc1
jne 0x1004cde2
cmp byte [esp + 0x60], 0
jne 0x1004cb3c
mov edi, dword [ebp + 8]
mov ecx, 0x370fc41
mov edx, 0xe8
call fcn.1000bfa0
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x1004d0ac
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004d0ac
movzx eax, word [eax + 0x126]
not eax
test eax, 0x2022
jne 0x1004d0ac
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x370fc42]
lea edx, [0x370fc43]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004ce85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004cea6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004ce60
cmp dword [esp + 0x170], 0
je 0x1004cf17
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x128
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d050
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004d059
movq xmm0, qword [esp + 0x178]
movq xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 1
jne 0x1004d0ac
cmp dword [esp + 8], 0x7dd
jne 0x1004d0ac
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x80]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x170]
push 0xb
push 0x370fce8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ecx, ecx
lea edx, [0x370fc42]
lea esi, [0x370fc43]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004cfc5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x1004cfe4
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004cfa0
cmp dword [esp + 0x170], 0
je 0x1004eb06
movq xmm0, qword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
xor ebx, 0x13c
lea edx, [esp + 0x40]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 4]
push ebx
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], esi
jmp 0x1004d078
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 eax, dword [esp]
movdqa xmmword [esp + 0x40], xmm0
mov edi, dword [ebp + 8]
test eax, eax
je 0x1004d0ac
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0x40]
mov edx, 0x3713302
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
movdqu xmmword [esp + 0x170], xmm0
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov ecx, dword [edi]
lea edx, [esp + 0x80]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 0xcc]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x80], ecx
adc esi, 0
lea ecx, [esp + 0x170]
push 8
push 0x3712988
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1004d17e
cmp dword [esp + 0x178], 1
jne 0x1004d17e
mov edx, esp
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 4
push 0x3712a28
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x82e3ee5a
mov ecx, dword [eax + 0x10]
push dword [esp + 0x44]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004d1a9
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
jmp 0x1004d1a6
test eax, eax
je 0x1004d1a9
mov esi, dword [esp + 0x180]
test esi, esi
je 0x1004d1a9
mov ecx, esi
call fcn.10005180
mov eax, dword [0x3716000]
push 4
push 8
push esi
push 0x3715820
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [edi]
test byte [eax + 0x127], 0x20
je 0x1004d7d7
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x1004d7d7
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
je 0x1004d7d7
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10067680
add esp, 4
xor edi, edi
lea edx, [0x370c9c9]
lea ebx, [0x370c9ca]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004d225
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004d244
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x1004d200
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004d2aa
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x174]
mov esi, dword [esp + 0x178]
mov ebx, dword [esp + 0x17c]
xor ecx, 0x41
mov edi, ecx
mov ecx, esp
mov dword [esp + 0x60], eax
mov eax, dword [0x3716000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004d69b
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
jmp 0x1004d6a4
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x170]
mov dword [esp + 0x20], 0
mov dword [esp + 0xac], ecx
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
lea eax, [ecx + ecx*8]
add ecx, edx
lea eax, [eax + eax*2]
add ecx, eax
mov dword [esp + 0x70], ecx
mov ecx, 5
jmp 0x1004d305
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
mov edi, dword [ebp + 8]
add edx, 0x1c
mov dword [esp + 0x20], eax
dec ecx
je 0x1004d6f2
cmp edx, dword [esp + 0x70]
je 0x1004d6ee
mov dword [esp + 0x60], 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 0x1004d2ec
cmp dword [esp + 0x20], 3
mov eax, 3
je 0x1004d2f0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb0], edx
mov ecx, ebx
lea edx, [esp + 0x80]
mov dword [esp + 0x80], eax
push 2
push 0x370c984
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10063cd0
add esp, 0x18
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1004d5f6
cmp dword [esp + 0x178], 1
jne 0x1004d5f6
mov esi, dword [esp + 0x180]
mov edi, dword [esp + 0x184]
mov dword [esp], 3
mov dword [esp + 4], 0x40
mov dword [esp + 8], 0x370c9b4
mov dword [esp + 0xc], 1
mov ecx, ebx
lea edx, [esp + 0x80]
push 1
lea eax, [esp + 4]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10063cd0
add esp, 0x18
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1004d5f6
cmp dword [esp + 0x178], 1
jne 0x1004d5f6
mov eax, dword [esp + 0x180]
mov ecx, ebx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
push 0
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035390
add esp, 0x14
xor esi, esi
mov eax, 0xfffffff9
lea edi, [0x370c9ca]
xor edx, edx
lea ebx, [0x370c9c9]
nop dword [eax]
movzx ecx, byte [ebx]
mov ebx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004d465
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
add cl, 0xa9
mov ch, cl
mov edi, esi
movzx ecx, ch
shl edi, 4
or ecx, edi
lea edi, [ebx + 1]
test eax, eax
cmove edi, ebx
je 0x1004d484
shld edx, esi, 4
inc eax
test ebx, ebx
mov esi, ecx
jne 0x1004d440
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x10056911
movzx eax, byte [esp + 0x174]
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0xf0]
lea ecx, [esp + 0x170]
mov dword [esp + 0xcc], 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.10035390
add esp, 0x14
xor esi, esi
mov eax, 0xfffffff9
lea ebx, [0x370c9ca]
xor edx, edx
lea edi, [0x370c9c9]
nop dword [eax]
movzx ecx, byte [edi]
mov edi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004d515
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004d534
shld edx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x1004d4f0
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005691a
movzx eax, byte [esp + 0x174]
lea ebx, [esp + 0x170]
mov ecx, eax
and cl, 0xc7
cmp cl, 0x44
jne 0x1004d618
mov eax, dword [esp + 0x80]
mov ecx, ebx
mov edx, dword [eax]
push 0
push dword [esp + 0xf4]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035390
add esp, 0x14
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x10056a94
movsx esi, byte [esp + 0x174]
mov eax, 0xfffffff9
lea edx, [0x370c9ca]
lea ecx, [0x370c9c9]
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 0x1004d5de
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004d5ed
inc eax
test ecx, ecx
jne 0x1004d5c0
lea ebx, [esp + 0x170]
jmp 0x1004d66c
test eax, eax
je 0x1004d606
lea ecx, [esp + 0x17c]
call fcn.10005180
xor eax, eax
mov edx, dword [esp + 0xb0]
add eax, dword [esp + 0x20]
jmp 0x1004d2f0
not al
test al, 0x84
jne 0x1004d606
mov eax, dword [esp + 0x80]
mov ecx, ebx
mov edx, dword [eax]
push 0
push dword [esp + 0xf4]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10034c70
add esp, 0x14
mov ecx, 0x370c9c8
mov edx, 0x24
call fcn.1000bfa0
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x174]
test ecx, ecx
jne 0x10056cbb
mov edx, dword [esp + 0xcc]
cmp esi, 0x100
setb al
mov ecx, edx
add cl, 0xd0
cmp cl, 0x51
setb cl
add edx, 0x30
and cl, al
cmp esi, edx
setae al
and al, cl
movzx eax, al
jmp 0x1004d608
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
mov edx, 0x371330a
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], edi
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 6
call fcn.1005b6d0
add esp, 8
mov edi, dword [ebp + 8]
jmp 0x1004d7d7
mov eax, dword [esp + 0x20]
lea edx, [0x370c9c9]
lea esi, [0x370c9ca]
mov ecx, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004d72e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x1004d73d
inc ecx
test edx, edx
jne 0x1004d710
mov ecx, dword [esp + 0xac]
dec dword [ecx]
cmp eax, 3
jne 0x1004d7d7
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x370c9d1
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x9fff997c
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004d7d7
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
lea esi, [esp + 0x170]
lea edx, [esp + 0x138]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
cmp dword [esp + 0x170], 0
je 0x1004d928
movdqu xmm0, xmmword [esp + 0x174]
movd eax, xmm0
test eax, eax
je 0x1004d831
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x3713310
mov ecx, dword [eax + 0x10]
push esi
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
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 0x1004d895
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004d8b6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004d870
cmp dword [esp + 0x170], 0
je 0x1004da4b
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x62
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004db98
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004dba1
cmp dword [esp + 0x178], 0
jne 0x1004d831
cmp dword [esp + 0x17c], 0x7e3
jne 0x1004d831
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x184]
mov esi, dword [esp + 0x180]
lea edx, [esp + 0x80]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x170]
push 7
push 0x370ca20
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push esi
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea esi, [0x370c9c9]
lea edx, [0x370c9ca]
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 0x1004d9c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004d9e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004d9a0
cmp dword [esp + 0x170], 0
je 0x1004de2b
movups xmm0, xmmword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x76
mov ecx, esp
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004df7b
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
jmp 0x1004df84
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004dbe8
cmp dword [esp + 8], 0x7e3
jne 0x1004dbe8
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 0xa
push 0x37105fc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
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 0x1004db05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004db26
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004dae0
cmp dword [esp + 0x170], 0
je 0x1004ded3
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x69
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004dfb4
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004dfbd
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 0x1004dbe8
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x3713318
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 5
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
cmp ecx, 7
mov dword [esp + 0x170], ecx
jae 0x1004dc46
lea ecx, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004dc2e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004e195
inc eax
test ecx, ecx
jne 0x1004dc10
jmp 0x1004e195
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x3712190
call fcn.10033910
add esp, 8
cmp ax, 1
jne 0x1004dbfc
mov esi, edx
cmp dx, 3
jb 0x1004dbfc
mov eax, dword [esp + 0x3c]
mov edx, 0x3712195
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
mov dword [esp + 0x60], ecx
push eax
push 0x16
call fcn.1005b9a0
add esp, 8
movzx ecx, si
lea edx, [0x37106c5]
lea esi, [0x37106c6]
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 0x1004dcce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1004dcdd
inc eax
test edx, edx
jne 0x1004dcb0
mov eax, dword [edi]
add ecx, 0xfffffffe
mov edx, dword [eax + 0x12c]
cmp ecx, edx
jae 0x1005aac8
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffffc00
add esi, dword [edx + ecx*8 + 8]
cmp esi, 0xbff
ja 0x1004e195
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 0x1004e195
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
mov dword [esp + 0xb0], ebx
mov edx, dword [eax]
push ebx
mov dword [esp + 0x74], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100343c0
add esp, 0x10
xor edi, edi
lea ebx, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004dd95
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
add cl, 0xa9
mov edx, ecx
mov ecx, edi
movzx esi, dl
lea edx, [ebx + 1]
shl ecx, 4
or esi, ecx
test eax, eax
cmove edx, ebx
je 0x1004ddb6
shld dword [esp + 0x20], edi, 4
inc eax
test ebx, ebx
mov edi, esi
jne 0x1004dd70
cmp dword [esp + 0x170], 0
je 0x1004dff3
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0xa1
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e0b0
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004e0b9
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x1004d831
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x370caac
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x1e0c01b6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004d831
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004d831
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x1004dbe8
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x37106cd
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xfdf0f7ce
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c6f
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004dbe8
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004dbe8
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movd xmm0, edi
movd xmm1, eax
mov edi, dword [ebp + 8]
lea esi, [esp + 0x170]
punpcklqdq xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
shufps xmm0, xmm1, 0x24
movd eax, xmm0
test eax, eax
jne 0x1004d812
jmp 0x1004d831
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], esi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004dbc2
jmp 0x1004dbe8
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
or ecx, dword [esp + 0x184]
or eax, dword [esp + 0x180]
or eax, ecx
mov ecx, dword [esp + 0xb0]
jne 0x1004e195
mov ebx, dword [ebp + 0xc]
mov eax, edx
mov esi, ecx
lea ecx, [esp + 0x170]
add eax, 0x10
adc esi, 0
mov edx, dword [ebx]
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
je 0x10055fa7
movq xmm0, qword [esp + 0x174]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10004ae0
add esp, 4
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
jmp 0x1004e0cc
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
movd edx, xmm0
mov ecx, dword [esp + 4]
mov edi, eax
shr eax, 8
shld edi, esi, 0x18
shld esi, ecx, 0x18
test edx, edx
je 0x1004e12b
mov dword [esp + 0x170], edx
mov byte [esp + 0x174], cl
mov ecx, dword [esp + 0x60]
mov word [esp + 0x17d], ax
shr eax, 0x10
mov dword [esp + 0x175], esi
mov dword [esp + 0x179], edi
mov edx, 0x371331d
mov byte [esp + 0x17f], al
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
mov edi, dword [ebp + 8]
jmp 0x1004e195
mov edi, dword [ebp + 8]
test cl, 1
je 0x1004e195
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x37106e4
call fcn.1001c3b0
add esp, 8
mov esi, dword [esp]
mov ecx, dword [esp + 0x60]
mov edx, 0xbd51f66
push dword [esp + 4]
push esi
push 0xffff1c70
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
je 0x1004e4aa
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10067680
add esp, 4
xor edi, edi
lea esi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
xor ebx, ebx
nop word [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004e1f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004e216
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x1004e1d0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004e294
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ecx, 0xd6
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x1004e2b4
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x1004e2ca
mov esi, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov edi, dword [ebp + 8]
cmp dword [esi + 0x34], 5
je 0x1004e336
jmp 0x1004e4a8
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 0x1004e323
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x170], ecx
mov edx, 0x3713324
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
jmp 0x1004e4aa
pshufd xmm0, xmm0, 0x55
movd esi, xmm0
cmp dword [esi + 0x34], 5
jne 0x1004e4a8
mov ecx, 0x37106e8
mov edx, 6
call 0x1006c120
mov esi, dword [esi + 0x30]
cmp dword [esi], 0
je 0x1004e352
cmp dword [esi + 4], eax
je 0x1004e386
cmp dword [esi + 0x1c], 0
je 0x1004e35d
cmp dword [esi + 0x20], eax
je 0x1004e386
cmp dword [esi + 0x38], 0
je 0x1004e368
cmp dword [esi + 0x3c], eax
je 0x1004e386
cmp dword [esi + 0x54], 0
je 0x1004e373
cmp dword [esi + 0x58], eax
je 0x1004e386
cmp dword [esi + 0x70], 0
je 0x1004e4a8
cmp dword [esi + 0x74], eax
jne 0x1004e4a8
mov ecx, 0x37106ee
mov edx, 9
call 0x1006c120
cmp dword [esi], 0
je 0x1004e39f
cmp dword [esi + 4], eax
je 0x1004e3d3
cmp dword [esi + 0x1c], 0
je 0x1004e3aa
cmp dword [esi + 0x20], eax
je 0x1004e3d3
cmp dword [esi + 0x38], 0
je 0x1004e3b5
cmp dword [esi + 0x3c], eax
je 0x1004e3d3
cmp dword [esi + 0x54], 0
je 0x1004e3c0
cmp dword [esi + 0x58], eax
je 0x1004e3d3
cmp dword [esi + 0x70], 0
je 0x1004e4a8
cmp dword [esi + 0x74], eax
jne 0x1004e4a8
mov ecx, 0x37106f7
mov edx, 0x14
call 0x1006c120
cmp dword [esi], 0
je 0x1004e3ec
cmp dword [esi + 4], eax
je 0x1004e420
cmp dword [esi + 0x1c], 0
je 0x1004e3f7
cmp dword [esi + 0x20], eax
je 0x1004e420
cmp dword [esi + 0x38], 0
je 0x1004e402
cmp dword [esi + 0x3c], eax
je 0x1004e420
cmp dword [esi + 0x54], 0
je 0x1004e40d
cmp dword [esi + 0x58], eax
je 0x1004e420
cmp dword [esi + 0x70], 0
je 0x1004e4a8
cmp dword [esi + 0x74], eax
jne 0x1004e4a8
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x371070b
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004e4a8
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
dec dword [ebx]
push 0x200
push 0
lea eax, [esp + 0x178]
push eax
call 0x1006c4d0
add esp, 0xc
lea edx, [esp + 0x138]
mov ecx, esp
push edi
call fcn.100047f0
add esp, 4
xor esi, esi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
mov eax, 0xfffffff9
xor edi, edi
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e515
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004e534
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004e4f0
mov eax, dword [esp]
test eax, eax
je 0x1004e5a0
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x3716000]
mov esi, ecx
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1004e5aa
lea ecx, [esp + 0x98]
call fcn.10005180
xor ebx, ebx
jmp 0x1004e5c0
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
jmp 0x1004e5dc
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 + 0x40]
mov ecx, esi
xor ecx, 0xfa
movd eax, xmm0
test eax, eax
jne 0x1004ed42
mov esi, ecx
cmp esi, 0x8000
mov eax, ebx
xorps xmm0, xmm0
sbb eax, 0
jae 0x1004e5f1
jmp 0x1004ed42
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005a358
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor edi, edi
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov eax, esi
mov ecx, ebx
sub eax, edx
sbb ecx, 0
cmovb eax, edi
cmovb ecx, edi
cmp eax, 0x8000
sbb ecx, 0
jb 0x1004ed42
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x20], 0
mov dword [esp + 0xb0], esi
mov dword [esp + 0x70], 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.10032e80
add esp, 8
lea esi, [0x37106c5]
lea ecx, [0x37106c6]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ebx, byte [esi]
mov esi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004e6a5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x1005b40d
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 0x1004e6c6
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, edx
jne 0x1004e680
cmp dword [esp], 0
je 0x1004e72e
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3716000]
mov esi, edx
lea ecx, [esp + 0x40]
xor esi, 0x106
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e7c2
lea ecx, [esp + 0x80]
call fcn.10005180
xor ebx, ebx
mov ecx, esi
jmp 0x1004ed3d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 8]
jne 0x1005b5ee
mov eax, dword [esp + 8]
mov edx, dword [ecx + 0x18]
mov esi, dword [esp + 0x70]
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0xd0], ecx
mov ecx, esp
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], edx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
adc esi, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x178]
push edi
push esi
push eax
push dword [esp + 0x74]
mov dword [esp + 0x138], ebx
push ebx
call fcn.10033bb0
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1004e7d4
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x110], ecx
jmp 0x1004e875
mov eax, dword [esp + 0x44]
mov ecx, esi
mov dword [eax], edi
mov dword [eax + 4], ebx
mov ebx, eax
jmp 0x1004ed3d
cmp dword [esp + 4], 0x10
jne 0x1004e7f3
mov dword [esp + 0x20], 0
mov dword [esp + 0x110], 0
jmp 0x1004e875
xor ecx, ecx
lea edx, [0x3713fbd]
lea edi, [0x3713fbe]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004e82d
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x1004e84c
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004e808
movdqa xmm0, xmmword [0x370c5d0]
xor ebx, 0x91
mov dword [esp + 0x110], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor esi, esi
lea edi, [0x37106c5]
lea ebx, [0x37106c6]
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 0x1004e8b5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x1005b40d
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 0x1004e8d4
shld eax, esi, 4
inc ecx
test edi, edi
mov esi, edx
jne 0x1004e890
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xf0], edx
test eax, eax
je 0x1004e980
mov edi, ebx
mov ebx, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [0x3716000]
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], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004e94c
lea ecx, [esp + 0x80]
call fcn.10005180
xor ecx, ecx
jmp 0x1004e95f
movdqa xmm0, xmmword [esp + 0x20]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], ebx
movq xmm1, qword [esp]
mov ebx, edi
movd eax, xmm1
test eax, eax
je 0x1004e980
xor dword [esp + 0xf0], 0x10e
mov ebx, ecx
jmp 0x1004ecce
xor eax, eax
cmp dword [esp + 0x170], 0x6578652e
je 0x1004ea86
cmp dword [esp + 0x171], 0x6578652e
mov eax, 1
je 0x1004ea86
cmp dword [esp + 0x172], 0x6578652e
mov eax, 2
je 0x1004ea86
cmp dword [esp + 0x173], 0x6578652e
mov eax, 3
je 0x1004ea86
cmp dword [esp + 0x174], 0x6578652e
mov eax, 4
je 0x1004ea86
cmp dword [esp + 0x175], 0x6578652e
mov eax, 5
je 0x1004ea86
cmp dword [esp + 0x176], 0x6578652e
mov eax, 6
je 0x1004ea86
cmp dword [esp + 0x177], 0x6578652e
mov eax, 7
je 0x1004ea86
cmp dword [esp + 0x178], 0x6578652e
mov eax, 8
je 0x1004ea86
cmp dword [esp + 0x179], 0x6578652e
mov eax, 9
je 0x1004ea86
cmp dword [esp + 0x17a], 0x6578652e
mov eax, 0xa
je 0x1004ea86
cmp dword [esp + 0x17b], 0x6578652e
mov eax, 0xb
je 0x1004ea86
cmp dword [esp + 0x17c], 0x6578652e
mov eax, 0xc
je 0x1004ea86
xor eax, eax
jmp 0x1004ecce
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x10c]
mov ecx, esp
add edi, eax
adc esi, 0
add edi, 0xfffffdf0
adc esi, 0xffffffff
push 0
push 0x200
lea eax, [esp + 0x178]
push eax
push esi
push edi
push ebx
push dword [esp + 0x138]
call fcn.10033bb0
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1004eae3
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], ecx
jmp 0x1004ec0c
cmp dword [esp + 4], 0x200
jne 0x1004eb8d
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], 0
jmp 0x1004ec0c
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x10055f98
mov edx, dword [esp + 0x180]
lea edi, [esp + 0x170]
mov ecx, edi
push dword [esp + 0x80]
push dword [esp + 0x188]
call fcn.1002d540
add esp, 8
mov ecx, 0x370fc41
mov edx, 0x141
call fcn.1000bfa0
mov ecx, esp
mov edx, edi
push eax
call fcn.1002d3e0
add esp, 4
mov eax, dword [esp]
test eax, eax
je 0x1005647e
movq xmm0, qword [esp + 5]
movzx ecx, byte [esp + 4]
mov edx, dword [esp + 0xc]
movq qword [esp + 0x45], xmm0
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], cl
jmp 0x1004d078
xor ecx, ecx
lea edx, [0x3713fbd]
lea edi, [0x3713fbe]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004ebc7
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x1004ebe6
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004eba2
movdqa xmm0, xmmword [0x370c5d0]
xor ebx, 0x91
mov dword [esp + 0x70], 0
mov dword [esp + 0x60], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor ebx, ebx
lea eax, [0x37106c5]
lea edi, [0x37106c6]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [eax]
mov eax, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ec55
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [eax + 1]
test edx, edx
cmove edi, eax
je 0x1004ec76
shld dword [esp + 0x20], ebx, 4
inc edx
test eax, eax
mov ebx, esi
jne 0x1004ec30
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1004f906
mov ecx, dword [esp + 0x70]
xor esi, 0x11e
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov edx, esp
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x40]
push esi
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1004f906
movd xmm0, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
pshufd xmm1, xmm0, 0x50
mov dword [esp + 0xf0], ecx
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xac]
movd xmm0, eax
movss xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
push esi
call fcn.100381e0
add esp, 4
dec dword [esi]
jne 0x1004ed36
mov eax, dword [esp + 0xd0]
inc dword [esi + 4]
lea ecx, [eax + 8]
call fcn.1002e380
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 4]
dec eax
mov dword [ecx + 4], eax
or eax, dword [ecx]
jne 0x1004ed36
mov eax, dword [0x3716000]
push 8
push 0x30
push ecx
push 0x3715820
call dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0xf0]
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1004ed82
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], ebx
mov edx, 0x371332b
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1004efa5
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x80]
adc esi, 0
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x170]
push 3
push 0x3710744
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x1004ee15
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004ee36
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004edf0
cmp dword [esp + 0x170], 0
je 0x1004eea9
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004ef47
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
jne 0x1004ef5e
jmp 0x1004efa5
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x1004efa5
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710780
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xebe78076
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c74
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004efa5
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004efa5
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x1004efa5
xor edi, 0x143
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x170], ecx
mov edx, 0x3713332
mov dword [esp + 0x178], edi
movd dword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x1004f005
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004f026
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004efe0
cmp dword [esp + 0x170], 0
je 0x1004f097
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x16c
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f1eb
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004f1f4
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1004f23b
cmp dword [esp + 8], 0x1ec
jne 0x1004f23b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 0xa
push 0x371081c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea esi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f155
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004f176
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004f130
cmp dword [esp + 0x170], 0
je 0x1004f6da
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x173
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f894
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1004f89d
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 0x1004f23b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x3713339
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
xorps xmm0, xmm0
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
movaps xmmword [esp + 0x80], xmm0
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f2a5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004f2c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x1004f280
cmp dword [esp + 0x170], 0
je 0x1004f337
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x198
lea ecx, [esp + 0x40]
mov dword [esp + 0x98], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f48b
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x1004f494
movq xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
pxor xmm2, xmm2
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004f88c
cmp dword [esp + 8], 0x13418bf
mov edi, dword [ebp + 8]
jne 0x1004f4af
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xe8]
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0x170]
push 9
push 0x37108f0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f3f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x1004f416
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1004f3d0
cmp dword [esp + 0x170], 0
je 0x1004f782
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x1a0
lea ecx, [esp + 0x40]
mov dword [esp + 0x98], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f8d3
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x1004f8dc
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x1004f4de
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x170], xmm2
mov edx, 0x3713340
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x1004f9be
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 0x1004f9be
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 0x1004f569
mov edx, 0x7273722e
movzx esi, word [esp + 0x84]
xor edx, dword [esp + 0x80]
xor esi, 0x63
or esi, edx
jne 0x1004f9be
lea edx, [eax + 0x28]
cmp dword [edx], 0
jne 0x1004f575
jmp 0x1004f9be
lea edx, [eax + 0x40]
cmp dword [edx], 0
je 0x1004f9be
cmp dword [edx + 4], ecx
jae 0x1004f9be
mov esi, dword [eax + 0xcc]
cmp dword [eax + 0x14c], esi
jbe 0x1004f9be
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x170]
adc edi, 0
mov dword [esp + 0x98], eax
push 2
push 0x37109e8
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10063cd0
add esp, 0x18
xor edi, edi
lea esi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004f615
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
add bl, 0xa9
mov edx, ebx
mov ecx, edi
movzx ebx, dl
lea edx, [esi + 1]
shl ecx, 4
or ebx, ecx
test eax, eax
cmove edx, esi
je 0x1004f636
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, ebx
jne 0x1004f5f0
cmp dword [esp + 0x170], 0
mov edi, dword [ebp + 8]
je 0x1004f949
movq xmm0, qword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
xor ebx, 0x1ee
lea edx, [esp + 0x40]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 4]
push ebx
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 4]
test eax, eax
je 0x1004f9be
mov dword [esp + 0x170], eax
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x174], ecx
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], esi
mov edx, 0x3713347
push eax
push 7
call fcn.1005b6d0
add esp, 8
jmp 0x1004f9be
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x1004f23b
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x37108e4
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x36c5fd6c
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c75
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004f23b
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004f23b
mov eax, dword [esp + 0x178]
pxor xmm2, xmm2
or eax, dword [esp + 0x17c]
je 0x1004f88c
lea ecx, [esp + 0x170]
lea edx, [esp + 0x138]
push dword [ebp + 8]
call fcn.100047f0
add esp, 4
xor ecx, ecx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x1004f7f5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x1004f814
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004f7d0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1004f92f
movsd xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005111b
lea ecx, [esp + 0x98]
call fcn.10005180
xor esi, esi
jmp 0x1005112e
mov edi, dword [ebp + 8]
jmp 0x1004f4af
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004f215
jmp 0x1004f23b
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], esi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x1004f4af
mov edi, dword [ebp + 8]
mov eax, 0xfffffe00
test eax, eax
je 0x10051088
movzx ecx, byte [esp + eax + 0x370]
inc eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x1004f90e
jmp 0x100510e1
mov ebx, dword [esp + 0x178]
mov esi, dword [esp + 0x17c]
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
jmp 0x10051161
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x1004f9be
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x3710a10
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x3710a14
call fcn.10033910
add esp, 8
cmp ax, 1
jne 0x1004ff23
mov eax, dword [edi]
mov ecx, edx
movzx ecx, cx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10056cc8
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 + 0xf0], ebx
mov dword [esp + 0x110], eax
jbe 0x1004fe48
mov eax, dword [edx + ecx*8 + 0x10]
cmp eax, 0x1000
mov dword [esp + 0x10c], eax
jb 0x1004fe48
pxor xmm0, xmm0
xor ecx, ecx
xor esi, esi
mov dword [esp + 0xac], 0
movdqa xmmword [esp], xmm0
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, dword [esp + 0x10c]
mov eax, esi
sbb eax, 0
jae 0x1004fe48
mov eax, ecx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x170]
add eax, dword [esp + 0xd0]
mov edx, dword [edi]
adc esi, dword [esp + 0xf0]
push 1
push 0x10
lea ebx, [esp + 8]
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10033bb0
add esp, 0x1c
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x1004faf3
movq xmm0, qword [esp + 0x174]
mov eax, dword [esp + 0x17c]
movdqa xmmword [esp + 0x120], xmm0
mov dword [esp + 0x60], eax
jmp 0x1004fb90
xor ecx, ecx
cmp dword [esp + 0x174], 0x10
je 0x1004fb90
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x3713fbe]
xor edx, edx
lea esi, [0x3713fbd]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004fb45
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x1004fb64
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1004fb20
movdqa xmm1, xmmword [0x370c5d0]
xor ebx, 0x91
mov dword [esp + 0x60], 0
mov ecx, 0xc76970a8
movd xmm0, ebx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x120], xmm1
inc dword [esp + 0xac]
mov dword [esp + 0xcc], ecx
xor edi, edi
mov ecx, 0xfffffff9
lea eax, [0x37106c6]
lea ebx, [0x37106c5]
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 0x1004fbe1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x1005b40d
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 0x1004fc02
shld dword [esp + 0x20], edi, 4
inc ecx
test ebx, ebx
mov edi, esi
jne 0x1004fbc0
mov eax, dword [esp + 0xcc]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
test eax, eax
je 0x1004fcad
movdqa xmm0, xmmword [esp + 0x120]
mov dword [esp + 0x170], eax
mov eax, dword [0x3716000]
movq qword [esp + 0x174], 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 0x3715820
lea ecx, [esp + 0x4c]
push ecx
mov edi, edx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004fc82
lea ecx, [esp + 0x80]
call fcn.10005180
xor ecx, ecx
jmp 0x1004fc95
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 + 0x170]
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10051064
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 [0x370c5e0]
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 0x1004fe48
add eax, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
mov esi, ebx
lea ecx, [esp + 0x170]
adc esi, dword [esp + 0xf0]
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.10034c70
add esp, 0x14
xor esi, esi
mov eax, 0xfffffff9
lea ebx, [0x37106c6]
xor edx, edx
lea edi, [0x37106c5]
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edi, 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 0x1005b40d
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 0x1004fdd4
shld edx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x1004fd90
mov eax, dword [esp + 0x170]
mov esi, ecx
mov ecx, dword [esp + 0x174]
test eax, eax
jne 0x10050f38
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x70]
lea eax, [ecx - 2]
cmp eax, 0xfd
jae 0x1004fe45
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 0x1004fe45
cmp dword [esp + 0xac], 8
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x60]
jne 0x1004fa70
mov dword [esp + 0x110], 0
jmp 0x1004fe48
mov edi, dword [ebp + 8]
lea ecx, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004fe7e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004fe8d
inc eax
test ecx, ecx
jne 0x1004fe60
cmp byte [esp + 0x110], 0
jne 0x1004ff23
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710a19
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xc39eb295
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c71
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1004ff23
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10067680
add esp, 4
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
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 0x1004ff85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1004ffa6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x1004ff60
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1005001f
movsd xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor esi, 0x24a
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x1005003f
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x10050055
mov eax, dword [esp + 0x174]
mov esi, dword [esp + 0x178]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x34]
dec dword [esi]
cmp eax, 1
je 0x1005008a
jmp 0x1005033e
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 0x10050303
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov eax, dword [eax + 0x34]
dec dword [esi]
cmp eax, 1
jne 0x1005033e
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10067680
add esp, 4
xor esi, esi
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x100500e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
add cl, 0xa9
mov ch, cl
mov edi, esi
movzx ebx, ch
shl edi, 4
or ebx, edi
lea edi, [edx + 1]
test eax, eax
cmove edi, edx
je 0x10050106
shld dword [esp + 0x20], esi, 4
inc eax
test edx, edx
mov esi, ebx
jne 0x100500c0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10050186
movsd xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ebx, 0x24e
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], edi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x100502cf
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x100502e5
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov edi, dword [ebp + 8]
cmp dword [eax + 0x34], 0
je 0x10050d03
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
mov eax, dword [eax + 0xc]
cmp dword [ecx + 0x14c], eax
jbe 0x100502cb
mov edi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x98]
adc edi, 0
dec dword [ebx]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 3
push 0x3710b74
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x10050235
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10050256
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10050210
cmp dword [esp + 0x170], 0
je 0x10050dfd
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x273
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050f06
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10050f0f
dec dword [ebx]
jmp 0x1005033e
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], ebx
test ecx, ecx
je 0x10050cf0
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x170], ecx
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x3713355
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10050565
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x80]
adc esi, 0
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x170]
push 4
push 0x3710c30
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x100503d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x100503f6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100503b0
cmp dword [esp + 0x170], 0
je 0x10050469
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10050507
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
jne 0x1005051e
jmp 0x10050565
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x10050565
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710c80
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xe2773f3
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c78
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10050565
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10050565
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x10050565
xor edi, 0x2a3
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x170], ecx
mov edx, 0x371335d
mov dword [esp + 0x178], edi
movd dword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x100505c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x100505e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100505a0
cmp dword [esp + 0x170], 0
je 0x10050657
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x2b7
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100507ab
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x100507b4
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100507fb
cmp dword [esp + 8], 0x1337c68
jne 0x100507fb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 0xa
push 0x3710ce8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea esi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10050715
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10050736
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100506f0
cmp dword [esp + 0x170], 0
je 0x10050d16
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x2cb
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050dbe
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10050dc7
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 0x100507fb
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x3713365
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x3710a14
call fcn.10033910
add esp, 8
cmp ax, 1
jne 0x10051518
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 + 0x110], ecx
mov ecx, edi
adc ecx, 0
mov dword [esp + 0x120], ecx
movzx ecx, dx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10056cd7
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xac], 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 + 0x60], edi
jbe 0x1005088e
cmp dword [eax + ecx*8 + 0x10], 0x1000
jae 0x100508e6
mov edi, dword [ebp + 8]
lea ecx, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100508ce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10051518
inc eax
test ecx, ecx
jne 0x100508b0
jmp 0x10051518
mov edi, dword [ebp + 0xc]
xor eax, eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x10c], ebx
inc ecx
mov dword [esp + 0x70], eax
add eax, dword [esp + 0x20]
mov dword [esp + 0xb0], esi
mov edx, dword [edi]
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0x170]
adc esi, dword [esp + 0x60]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10034c70
add esp, 0x14
mov eax, 0xfffffff9
lea edi, [0x37106c6]
xor edx, edx
xor ecx, ecx
lea esi, [0x37106c5]
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050975
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x10050994
shld ecx, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x10050950
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
test eax, eax
mov dword [esp + 0xd0], ecx
jne 0x10050fa5
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x10050ea5
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0xb0]
lea ecx, [esp + 0x170]
or eax, 4
mov edx, dword [edi]
add eax, dword [esp + 0x20]
adc esi, dword [esp + 0x60]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10034c70
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x37106c6]
xor edx, edx
lea esi, [0x37106c5]
nop dword [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050a35
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x10050a54
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10050a10
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
test eax, eax
jne 0x10051001
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
mov eax, dword [esp + 0xd0]
jae 0x10050ea5
mov edi, dword [ebp + 0xc]
xor ecx, eax
cmp ecx, 0x68
jb 0x10050ebc
cmp dword [esp + 0x10c], ecx
jbe 0x10050ebc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
mov edx, dword [edi]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x170]
add eax, dword [esp + 0x20]
adc esi, dword [esp + 0x60]
add eax, 0x60
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x37106c6]
xor edx, edx
lea esi, [0x37106c5]
nop dword [eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10050b15
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x10050b34
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10050af0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10050ba7
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x80], xmm0
movaps xmmword [esp + 0x1180], xmm0
mov dword [esp + 0x84], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x10050bc1
lea ecx, [esp + 0x80]
call fcn.10005180
xor edx, edx
jmp 0x10050bd7
mov ebx, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0xac]
jmp 0x10050bf5
movdqa xmm0, xmmword [esp + 0x1180]
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 + 0xac]
xor ebx, 0x30d
movd eax, xmm0
test eax, eax
jne 0x10051226
add ebx, dword [esp + 0xd0]
mov eax, 0xffffffff
adc edx, 0
cmovb ebx, eax
cmovb edx, eax
cmp ebx, dword [esp + 0xcc]
mov eax, edx
sbb eax, ecx
jb 0x10050ebc
cmp ebx, dword [esp + 0x110]
sbb edx, dword [esp + 0x120]
jae 0x10050ebc
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xf0]
add eax, 0x68
adc esi, 0
cmp ecx, 3
jne 0x100508f6
mov ecx, 0x37106c4
mov edx, 0x323
call fcn.1000bfa0
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710db4
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xcaa27b2b
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7a
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10050eb4
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10050eb4
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp dword [eax + 0x34], 0
jne 0x100501a1
xor ecx, ecx
xor edx, edx
push 0x3710a20
call fcn.10008830
add esp, 4
ud2
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x100507fb
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710db0
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd5bd7431
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c79
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x100507fb
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100507fb
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x100507d5
jmp 0x100507fb
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x1005033e
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710bb0
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x46ad7733
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c77
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1005033e
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1005033e
mov ecx, 0x37106c4
mov edx, 0x323
call fcn.1000bfa0
mov edi, dword [ebp + 8]
jmp 0x10051518
mov edi, dword [ebp + 8]
lea ecx, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10050eee
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1005b40d
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10051518
inc eax
test ecx, ecx
jne 0x10050ed0
jmp 0x10051518
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd ecx, xmm0
movq qword [esp], xmm0
mov dword [esp + 8], esi
test ecx, ecx
je 0x1005033e
movq xmm0, qword [esp + 4]
jmp 0x10050309
mov edi, dword [esp + 0x178]
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x70], eax
mov eax, dword [0x3716000]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10051244
lea ecx, [esp + 0x80]
call fcn.10005180
mov dword [esp + 0xd0], 0
xor esi, 0x21e
jmp 0x1005125a
mov esi, dword [esp + 0x178]
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x70], eax
mov eax, dword [0x3716000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100513af
lea ecx, [esp + 0x40]
call fcn.10005180
mov dword [esp + 0xb0], 0
xor ebx, 0x2fb
jmp 0x100513d1
mov esi, dword [esp + 0x178]
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x70], eax
mov eax, dword [0x3716000]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100513bb
lea ecx, [esp + 0x40]
call fcn.10005180
mov dword [esp + 0xb0], 0
xor ebx, 0x301
jmp 0x100513d1
xor esi, 0x217
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x70], eax
movd dword [esp + 0xb0], xmm0
jmp 0x1005125a
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
mov edx, esp
push 4
push 0x371070f
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edx, 0x7c82936c
mov ecx, dword [eax + 0x10]
push dword [esp + 0x44]
push esi
push 0xffff1c73
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.1002cb80
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0xac]
push esi
call fcn.100381e0
add esp, 4
mov ecx, esi
call fcn.1002ec20
pxor xmm0, xmm0
movd eax, xmm0
test eax, eax
jne 0x1004ed4d
jmp 0x1004ed82
movdqa xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 0x44]
movd eax, xmm0
mov dword [esi], eax
mov dword [esi + 4], edi
movq xmm0, qword [esp]
mov edi, dword [ebp + 8]
xor ebx, 0x1a6
pxor xmm2, xmm2
movd eax, xmm0
test eax, eax
je 0x10051161
movd xmm1, ebx
movd xmm2, esi
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm2, xmm0
jmp 0x1004f4af
cmp ebx, 0x8000
mov eax, esi
sbb eax, 0
jb 0x1004f4af
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005a358
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov ecx, ebx
xor eax, eax
sub ecx, edx
mov edx, esi
sbb edx, 0
cmovb ecx, eax
cmovb edx, eax
cmp ecx, 0x8000
sbb edx, 0
jb 0x1004f4af
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0x170]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x24], eax
push dword [eax + 8]
call fcn.10032e80
add esp, 8
mov ecx, 0x37106c4
mov edx, 0x1b0
call fcn.1000bfa0
mov ecx, esp
lea edx, [esp + 0x170]
push eax
call fcn.10033a60
add esp, 4
cmp dword [esp], 0
je 0x10056388
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x1004f4af
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xb0], edx
mov dword [esp + 0x70], eax
movd dword [esp + 0xd0], xmm0
jmp 0x100513d1
mov eax, dword [esp + 0x44]
xor esi, 0x21e
mov dword [eax], edi
mov dword [esp + 0xd0], eax
mov dword [eax + 4], ebx
xor eax, eax
lea ecx, [0x37106c5]
lea edx, [0x37106c6]
mov edi, 0xfffffff9
mov dword [esp + 0x60], 0
nop word cs:[eax + eax]
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [esp + 0x20], edi
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x100512a9
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x100512ce
shld dword [esp + 0x60], eax, 4
inc edi
test ecx, ecx
mov eax, ebx
jne 0x10051280
movss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x70]
mov edi, dword [esp + 0xd0]
mov eax, dword [0x3716000]
xor ebx, 0x237
mov dword [esp], esi
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x17c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x1005132a
mov ecx, esp
call fcn.10005180
xor eax, eax
jmp 0x10051336
mov eax, dword [esp + 0x174]
mov dword [eax], esi
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x371334e
movlps qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 0x175], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 0x177], cl
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x174], cl
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 7
call fcn.1005b6d0
add esp, 8
jmp 0x1004ff23
mov eax, dword [esp + 4]
xor ebx, 0x2fb
jmp 0x100513c5
mov eax, dword [esp + 4]
xor ebx, 0x301
mov dword [eax], esi
mov dword [esp + 0xb0], eax
mov dword [eax + 4], edi
xor edi, edi
lea ecx, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x60], 0
nop dword [eax]
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10051417
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x1005143c
shld dword [esp + 0x60], edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x100513f0
movss xmm0, dword [esp + 0xd0]
movss xmm1, dword [esp + 0x70]
mov edi, dword [esp + 0xb0]
mov eax, dword [0x3716000]
xor esi, 0x323
mov dword [esp], ebx
unpcklps xmm1, xmm0
mov dword [esp + 4], edi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x17c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x10051498
mov ecx, esp
call fcn.10005180
xor eax, eax
jmp 0x100514a4
mov eax, dword [esp + 0x174]
mov dword [eax], ebx
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov edx, 0x371336d
movlps qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 0x175], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 0x177], cl
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xd0]
mov byte [esp + 0x174], cl
mov dword [esp + 0x178], esi
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x10051575
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10051596
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10051550
cmp dword [esp + 0x170], 0
je 0x10051607
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x335
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005175b
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10051764
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100517ab
cmp dword [esp + 8], 0x7e3
jne 0x100517ab
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 6
push 0x3710e28
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea esi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100516c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x100516e6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100516a0
cmp dword [esp + 0x170], 0
je 0x10051e42
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x34d
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10051eea
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10051ef3
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 0x100517ab
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x3713375
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
cmp dword [esp + 0x168], 0x63
ja 0x10051a4b
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10051815
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10051836
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100517f0
cmp dword [esp + 0x170], 0
je 0x100518a7
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x365
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100519fb
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10051a04
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10051a4b
cmp dword [esp + 8], 0x7e3
jne 0x10051a4b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 8
push 0x3710f08
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea esi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051965
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10051986
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10051940
cmp dword [esp + 0x170], 0
je 0x10051ff0
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x37f
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054cd1
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10054cda
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 0x10051a4b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x371337d
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffffe00
add ecx, dword [eax + 0x2c]
cmp ecx, 0x7fdff
ja 0x10052140
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10069fc0
add esp, 4
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
mov eax, 0xfffffff9
xor esi, esi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051ab5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10051ad4
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10051a90
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10051b54
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ecx, 0x395
mov dword [esp + 0x60], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10051b68
lea ecx, [esp + 0x98]
call fcn.10005180
xor ebx, ebx
jmp 0x10051b7e
mov eax, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x60], eax
jmp 0x10051bad
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 + 0x60]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test esi, esi
je 0x10051ba4
movsd xmm0, qword [esp + 0x44]
jmp 0x1005210c
pshufd xmm0, xmm0, 0x55
movd esi, xmm0
mov ecx, 0x3710fac
mov edx, 0x1c
call 0x1006c120
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x1c]
mov dword [esp + 0x170], 4
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
test eax, eax
je 0x10051cbc
imul esi, eax, 0x2c
xor eax, eax
xor edi, edi
mov dword [esp + 0x70], 4
add esi, ebx
add ebx, 0x2c
jmp 0x10051c1b
cmp ebx, esi
lea ebx, [ebx + 0x2c]
je 0x10051cc8
cmp dword [ebx - 0x1c], 0
jne 0x10051c10
mov ecx, dword [esp + 0x20]
cmp ecx, dword [ebx - 0x18]
jne 0x10051c10
mov ecx, dword [ebx - 8]
mov edx, 0xfffffe00
add ecx, edx
cmp ecx, 0x7fe00
jae 0x10051c10
inc edi
je 0x1005b62a
cmp edi, dword [esp + 0x178]
jbe 0x10051c8b
mov dword [esp + 0x70], edi
mov ecx, dword [esp + 0x70]
call fcn.10004c50
mov edx, dword [esp + 0x70]
cmp eax, edx
jbe 0x10051c77
lea ecx, [esp + 0x170]
mov edx, eax
call fcn.1002ad90
mov edx, dword [esp + 0x70]
cmp al, 8
je 0x10051c8b
lea ecx, [esp + 0x170]
call fcn.1002ad90
cmp al, 8
jne 0x1005b638
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
lea eax, [ebx - 0x2c]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x70], edx
mov eax, ecx
mov edi, ecx
mov dword [esp + 0x174], ecx
shr eax, 8
cmp ebx, esi
jne 0x10051c00
jmp 0x10051cc8
mov dword [esp + 0x70], 4
xor eax, eax
xor edi, edi
mov ecx, dword [esp + 0x178]
shl eax, 8
mov dword [esp + 0xb0], ecx
mov ecx, edi
movzx ecx, cl
or ecx, eax
je 0x10051e25
mov eax, dword [esp + 0x70]
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 0x10051e36
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
adc esi, 0
lea ecx, [esp + 0x170]
push 2
push 0x3710fdc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10051d85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10051da6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10051d60
cmp dword [esp + 0x170], 0
je 0x10051f29
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x174]
xor esi, 0x3ac
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0x84], eax
mov eax, dword [0x3716000]
movaps xmmword [esp + 0x20], xmm0
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x10052098
lea ecx, [esp + 0x80]
call fcn.10005180
xor ebx, ebx
jmp 0x100520aa
mov eax, dword [esp + 0xb0]
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x100520cf
mov eax, dword [esp + 0xb0]
jmp 0x100520cf
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x100517ab
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710ea0
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x41f68039
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7b
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x100517ab
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100517ab
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10051785
jmp 0x100517ab
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x10051fc8
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3711004
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6871a1e5
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7d
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10051fc8
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0xb0]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10054ee8
xor esi, esi
jmp 0x100520e6
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x10051a4b
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3710fa8
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x162d86a9
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7c
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10051a4b
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10051a4b
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0xd0]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0xb0]
movq qword [esp], xmm0
mov dword [esp + 8], esi
movd esi, xmm0
movsd xmm0, qword [esp + 4]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x100520fd
mov ecx, dword [0x3716000]
push edx
push eax
push dword [esp + 0x78]
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x60]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test esi, esi
je 0x10052140
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x170], esi
movlps qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], ebx
mov edx, 0x3713385
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
cmp word [eax + 0x122], 3
jne 0x10052383
mov edx, dword [eax + 0x12c]
cmp edx, 2
jb 0x10056ce6
mov ecx, dword [eax + 0x128]
mov edx, 0xfffff800
add edx, dword [ecx + 0x38]
cmp edx, 0x480
jae 0x10052383
mov esi, dword [ecx + 0x34]
cmp dword [eax + 0x14c], esi
jbe 0x10052383
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x80]
lea ecx, [esp + 0x170]
adc edi, 0
mov dword [esp + 0x80], eax
push 8
push 0x371108c
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x10052205
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10052226
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100521e0
cmp dword [esp + 0x170], 0
je 0x10052287
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10052325
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
jmp 0x1005232e
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x10052383
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x371112c
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6155e719
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c7e
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10052383
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10052383
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x10052383
xor edi, 0x3de
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x170], ecx
mov edx, 0x371338d
mov dword [esp + 0x178], edi
movd dword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edi, dword [ecx + 0xcc]
test edi, edi
je 0x100524c1
mov eax, dword [ecx + 0xc]
add edi, dword [ecx + 8]
adc eax, 0
test byte [ecx + 0x127], 0x20
je 0x100524c1
mov ebx, dword [ebp + 0xc]
mov ecx, dword [0x370c5f0]
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 + 0x170]
push 5
push 6
push esi
push eax
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10033bb0
add esp, 0x1c
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10052453
mov ecx, dword [esp + 0x174]
mov esi, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x178], esi
mov edx, 0x3713395
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 3
call fcn.1005b6d0
add esp, 8
jmp 0x100524c1
mov ecx, dword [esp + 0x174]
cmp ecx, 7
jae 0x1005b616
cmp ecx, 6
jne 0x100524c1
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
jne 0x100524c1
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 0x100524c1
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp eax, 0xc
jae 0x100553f2
mov ecx, 0x37101d8
mov edx, 0x58
call fcn.1000bfa0
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052525
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10052546
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10052500
cmp dword [esp + 0x170], 0
je 0x100525b7
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x3f2
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100526fb
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10052704
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1005274c
cmp dword [esp + 8], 0xc
jne 0x1005274c
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 4
push 0x371114c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x10052665
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10052686
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10052640
cmp dword [esp + 0x170], 0
je 0x10052d3c
xor esi, 0x426
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10052e0f
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10052e18
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x1005274c
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x170], xmm2
mov edx, 0x3713398
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x10052975
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x80]
adc esi, 0
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x170]
push 8
push 0x3711380
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x100527e5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10052806
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100527c0
cmp dword [esp + 0x170], 0
je 0x10052879
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10052917
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
jne 0x1005292e
jmp 0x10052975
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x10052975
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3711420
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x777a59a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c85
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10052975
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10052975
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movd ecx, xmm0
test ecx, ecx
je 0x10052975
xor edi, 0x45a
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x170], ecx
mov edx, 0x37133a0
mov dword [esp + 0x178], edi
movd dword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
mov edi, dword [ebp + 8]
mov ecx, 0xfffff000
mov eax, dword [edi]
and ecx, dword [eax + 0x2c]
cmp ecx, 0x12000
jne 0x10052fb3
mov edx, edi
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
call fcn.10069fc0
add esp, 4
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
mov eax, 0xfffffff9
xor esi, esi
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100529e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10052a04
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100529c0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10052a84
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ecx, 0x470
mov dword [esp + 0x60], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10052a98
lea ecx, [esp + 0x98]
call fcn.10005180
xor ebx, ebx
jmp 0x10052aae
mov eax, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x60], eax
jmp 0x10052add
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 + 0x60]
movd esi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test esi, esi
je 0x10052ad4
movsd xmm0, qword [esp + 0x44]
jmp 0x10052f7f
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x3711424
mov edx, 0x16
call 0x1006c120
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x170], 4
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
test ecx, ecx
je 0x10052bc9
imul ebx, ecx, 0x2c
mov edx, 4
xor edi, edi
xor ecx, ecx
add ebx, esi
jmp 0x10052b3b
add esi, 0x2c
cmp esi, ebx
je 0x10052bd2
cmp dword [esi], 0
je 0x10052b30
cmp dword [esi + 4], 0xa
jne 0x10052b30
cmp dword [esi + 0x10], 0
jne 0x10052b30
cmp eax, dword [esi + 0x14]
jne 0x10052b30
inc ecx
mov dword [esp + 0x20], eax
je 0x1005b632
cmp ecx, dword [esp + 0x178]
jbe 0x10052b9a
mov edi, ecx
call fcn.10004c50
mov edx, edi
cmp eax, edi
jbe 0x10052b86
lea ecx, [esp + 0x170]
mov edx, eax
call fcn.1002ad90
mov edx, edi
cmp al, 8
je 0x10052b9a
lea ecx, [esp + 0x170]
call fcn.1002ad90
cmp al, 8
jne 0x1005b638
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x20]
mov dword [edx + ecx*4], esi
inc ecx
add esi, 0x2c
mov edi, ecx
mov dword [esp + 0x174], ecx
shr edi, 8
cmp esi, ebx
jne 0x10052b3b
jmp 0x10052bd2
mov edx, 4
xor edi, edi
xor ecx, ecx
mov ebx, dword [esp + 0x178]
mov eax, ecx
shl edi, 8
mov dword [esp + 0xb0], edx
movzx esi, al
or esi, edi
mov dword [esp + 0x70], ebx
je 0x10052d25
mov eax, dword [edx]
mov edi, dword [ebp + 8]
mov esi, 0
mov eax, dword [eax + 0x20]
mov ecx, dword [edi]
cmp dword [ecx + 0x14c], eax
jbe 0x10052d33
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
adc esi, 0
lea ecx, [esp + 0x170]
push 2
push 0x371145c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10052c85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10052ca6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10052c60
cmp dword [esp + 0x170], 0
je 0x10052e42
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x174]
xor esi, 0x48b
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0x84], eax
mov eax, dword [0x3716000]
movaps xmmword [esp + 0x20], xmm0
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x10052f0b
lea ecx, [esp + 0x80]
call fcn.10005180
xor ebx, ebx
jmp 0x10052f1d
mov eax, dword [esp + 0x70]
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x10052f3f
mov eax, dword [esp + 0x70]
jmp 0x10052f3f
mov eax, dword [esp + 0x178]
pxor xmm2, xmm2
or eax, dword [esp + 0x17c]
je 0x10052f03
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x170]
push 1
push 0x371129c
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0x80], esi
push esi
mov dword [esp + 0x74], eax
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x10052dd5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10052df6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10052db0
cmp dword [esp + 0x170], 0
je 0x10054d10
xor esi, 0x42c
jmp 0x1005269a
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], esi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x1005271d
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x10052ee1
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3711484
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10052ee1
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0x70]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10054f03
xor esi, esi
jmp 0x10052f56
mov edi, dword [ebp + 8]
jmp 0x1005271d
mov eax, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0xd0]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x70]
movq qword [esp], xmm0
mov dword [esp + 8], esi
movd esi, xmm0
movsd xmm0, qword [esp + 4]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10052f70
mov ecx, dword [0x3716000]
push edx
push eax
push dword [esp + 0xb8]
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x60]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test esi, esi
je 0x10052fb3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x170], esi
movlps qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], ebx
mov edx, 0x37133a8
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10053015
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10053036
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10052ff0
cmp dword [esp + 0x170], 0
je 0x100530a7
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x49f
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100531fb
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10053204
movq xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1005324e
cmp dword [esp + 8], 0x7e3
jne 0x1005324e
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 5
push 0x37114ac
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053165
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053186
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10053140
cmp dword [esp + 0x170], 0
je 0x10054452
xor esi, 0x4b2
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100549cc
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x100549d5
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x1005324e
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x170], xmm2
mov edx, 0x37133b0
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x100532b5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x100532d6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10053290
cmp dword [esp + 0x170], 0
je 0x10053347
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x4db
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005349b
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x100534a4
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100534eb
cmp dword [esp + 8], 0x13418bf
jne 0x100534eb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 0xd
push 0x37115fc
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea esi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053405
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053426
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100533e0
cmp dword [esp + 0x170], 0
je 0x1005452f
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x50e
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054a32
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10054a3b
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 0x100534eb
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x37133b8
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
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 0x10053545
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053566
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10053520
cmp dword [esp + 0x170], 0
je 0x100535d7
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x53a
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10053711
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x1005371a
movsd xmm0, qword [esp + 0x178]
movq xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1005375f
cmp dword [esp + 8], 0x7a
jne 0x1005375f
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xe8]
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0x170]
push 8
push 0x3711724
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053685
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x100536a6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10053660
cmp dword [esp + 0x170], 0
je 0x100545d7
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x54d
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10054a71
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
jmp 0x10054a7a
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov ecx, dword [esp]
mov edi, dword [ebp + 8]
test ecx, ecx
je 0x1005375f
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x37133c0
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
movups xmmword [esp + 0x170], xmm0
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100537c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x100537e6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100537a0
cmp dword [esp + 0x170], 0
je 0x10053857
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x570
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100539a1
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x100539aa
movsd xmm0, qword [esp + 0x178]
movq xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100539ef
cmp dword [esp + 8], 0x7e3
jne 0x100539ef
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0xe8]
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0x170]
push 4
push 0x37117e0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053915
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053936
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100538f0
cmp dword [esp + 0x170], 0
je 0x1005470e
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x57f
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10054a99
lea ecx, [esp + 0x40]
call fcn.10005180
xor eax, eax
jmp 0x10054aa2
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov ebx, dword [esp]
mov edi, dword [ebp + 8]
test ebx, ebx
je 0x100539ef
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x37133c8
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
movups xmmword [esp + 0x170], xmm0
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10053a55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10053a76
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10053a30
cmp dword [esp + 0x170], 0
je 0x10053ae7
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x595
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10053c3b
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10053c44
movsd xmm0, qword [esp + 0x178]
movq xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10053c8c
cmp dword [esp + 8], 0x13418bf
jne 0x10053c8c
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 3
push 0x3711848
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053ba5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053bc6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x10053b80
cmp dword [esp + 0x170], 0
je 0x1005482e
xor esi, 0x5bb
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100549ff
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10054a08
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
je 0x10053c8c
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x170], xmm2
mov edx, 0x37133d0
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea esi, [0x37106c5]
lea edx, [0x37106c6]
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 0x10053cf5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10053d16
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10053cd0
cmp dword [esp + 0x170], 0
je 0x10053d87
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x5dd
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10053edb
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10053ee4
movsd xmm0, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10053f2b
cmp dword [esp + 8], 0x134890d
jne 0x10053f2b
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x170]
push 6
push 0x37119b0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea esi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10053e45
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053e66
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10053e20
cmp dword [esp + 0x170], 0
je 0x100548ff
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor edi, 0x5f6
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054ac1
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10054aca
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 0x10053f2b
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x170], xmm0
mov edx, 0x37133d8
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push dword [ebp + 0xc]
push edi
call fcn.10003e70
add esp, 8
xor edi, edi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
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 0x10053f85
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10053fa6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10053f60
cmp dword [esp + 0x170], 0
je 0x10054017
mov edi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor esi, 0x60a
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005417b
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
jmp 0x10054184
movq xmm0, qword [esp + 0x178]
movq xmm1, qword [esp + 0x180]
mov edi, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100541d7
cmp dword [esp + 8], 0x7e3
jne 0x100541d7
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
add eax, 0x1000
mov edx, ecx
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0x170]
adc edx, 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xcc], edx
mov edx, edi
push dword [ebp + 0xc]
call fcn.100684e0
add esp, 4
xor ecx, ecx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x100540d5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x100540f4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100540b0
mov eax, dword [esp + 0x170]
test eax, eax
je 0x100549a7
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ebx, 0x611
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov edi, dword [ebp + 8]
je 0x10054b00
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x10054b16
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 esi, dword [esp]
movdqa xmmword [esp + 0x40], xmm0
mov edi, dword [ebp + 8]
test esi, esi
je 0x100541d7
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0x40]
mov edx, 0x37133e0
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
movdqu xmmword [esp + 0x170], xmm0
push eax
push 8
call fcn.1005b6d0
add esp, 8
lea ecx, [esp + 0x170]
mov edx, edi
push dword [ebp + 0xc]
call fcn.100684e0
add esp, 4
xor ecx, ecx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10054225
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x10054244
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10054200
mov eax, dword [esp + 0x170]
test eax, eax
je 0x100542bd
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ebx, 0x674
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x100542df
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x100542f5
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x70], ecx
jne 0x10054367
jmp 0x10055c26
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 0x1005434f
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x170], esi
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x37133e8
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1005b6d0
add esp, 8
jmp 0x10055c2b
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x70], ecx
je 0x10055c26
mov edx, dword [esp + 0x70]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], edx
jmp 0x1005438c
mov dword [esp + 0x60], esi
sub esi, ecx
jbe 0x10055c26
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 0x10054380
movzx ecx, dl
cmp ecx, 0xff
jne 0x100543ce
inc esi
mov ecx, esi
mov esi, dword [esp + 0x60]
sub esi, ecx
ja 0x1005438c
jmp 0x10055c26
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10055c26
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x60]
jmp 0x1005440f
mov dword [esp + 0xb0], edx
sub edx, ecx
jbe 0x10055c26
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 0x10054400
movzx eax, al
cmp eax, 0xff
jne 0x10054bd0
inc edx
mov ecx, edx
mov edx, dword [esp + 0xb0]
sub edx, ecx
ja 0x1005440f
jmp 0x10055c26
mov eax, dword [esp + 0x178]
pxor xmm2, xmm2
or eax, dword [esp + 0x17c]
je 0x10054c30
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x170]
mov dword [esp + 0x60], eax
add eax, 8
mov dword [esp + 0x70], esi
adc esi, 0
push 1
push 0x3711510
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100544f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10054516
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100544d0
cmp dword [esp + 0x170], 0
je 0x10054da1
xor esi, 0x4ba
jmp 0x1005319a
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x100534eb
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3711700
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x100534eb
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100534eb
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x10054c38
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x102], 0
mov word [esp + 0x100], 0
mov edi, dword [esp + 0x184]
mov esi, dword [esp + 0x180]
lea ecx, [esp + 0x170]
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.10035390
add esp, 0x14
xor esi, esi
lea edx, [0x37106c5]
lea ebx, [0x37106c6]
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 0x10054675
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10054694
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10054650
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10054e39
movsd xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
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 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054f0e
lea ecx, [esp + 0x80]
call fcn.10005180
xor edx, edx
jmp 0x10054f21
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x10054c46
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0x184]
mov esi, dword [esp + 0x180]
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
mov dword [esp + 0x24], edi
push edi
mov dword [esp + 0x68], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035390
add esp, 0x14
xor esi, esi
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [edx]
mov edx, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10054795
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x100547b4
shld ebx, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x10054770
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10054e4a
movsd xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
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 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10054fc0
lea ecx, [esp + 0x80]
call fcn.10005180
xor ecx, ecx
jmp 0x10054fd3
mov eax, dword [esp + 0x178]
pxor xmm2, xmm2
or eax, dword [esp + 0x17c]
je 0x10054c54
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x170]
push 5
push 0x37118b0
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0x80], esi
push esi
mov dword [esp + 0x74], eax
push eax
call fcn.10063cd0
add esp, 0x18
xor ebx, ebx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
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 0x100548c5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x100548e6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x100548a0
cmp dword [esp + 0x170], 0
je 0x10054e57
xor esi, 0x5c1
jmp 0x10053bda
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0x17c]
je 0x10053f2b
lea edx, [esp + 0x170]
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
push 4
push 0x3711a28
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xb20f336b
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c93
call fcn.1003d890
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x10053f2b
mov ecx, dword [0x3716000]
push edx
push eax
push esi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10053f2b
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0xb0], ecx
jne 0x10054b61
jmp 0x1005b3f1
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], esi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x1005321f
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movd xmm0, eax
movlps qword [esp], xmm1
mov dword [esp + 8], esi
movsd xmm2, qword [esp + 4]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x10053c5d
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x100534c5
jmp 0x100534eb
mov eax, dword [esp + 4]
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 ecx, xmm0
jmp 0x10053731
mov eax, dword [esp + 4]
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
jmp 0x100539c1
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10053f05
jmp 0x10053f2b
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
je 0x10054b46
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x40], ecx
movq qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], eax
jmp 0x100541aa
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0xb0], ecx
je 0x1005b3f1
mov edx, dword [esp + 0xb0]
mov eax, dword [eax + 0xc]
xor edi, edi
mov ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], edx
jmp 0x10054b8c
mov dword [esp + 0x60], ecx
sub ecx, edi
jbe 0x1005b3f1
shr ecx, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add ecx, edi
mov esi, ecx
shl esi, 4
cmp dword [edx + esi + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x10054b80
movzx eax, al
cmp eax, 0xff
jne 0x10054c5c
inc ecx
mov edi, ecx
mov ecx, dword [esp + 0x60]
sub ecx, edi
ja 0x10054b8c
jmp 0x1005b3f1
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov esi, eax
mov dword [esp + 0x60], eax
jmp 0x10054bea
mov dword [esp + 0x60], esi
sub esi, ecx
jbe 0x100552bf
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 0x10054bde
movzx ecx, dl
cmp ecx, 0xff
jne 0x10055250
inc esi
mov ecx, esi
mov esi, dword [esp + 0x60]
sub esi, ecx
ja 0x10054bea
jmp 0x100552bf
mov edi, dword [ebp + 8]
jmp 0x1005321f
xor ecx, ecx
mov dword [esp], 0
jmp 0x1005372e
xor ebx, ebx
mov dword [esp], 0
jmp 0x100539be
mov edi, dword [ebp + 8]
jmp 0x10053c5d
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi + 4]
test eax, eax
je 0x1005b3f1
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x70], eax
mov ecx, dword [ecx + esi]
mov dword [esp + 0x60], ecx
mov edi, dword [esp + 0x60]
jmp 0x10054c8f
mov dword [esp + 0x70], eax
sub eax, edx
jbe 0x1005b3f1
shr eax, 1
xor ecx, ecx
add eax, edx
mov esi, eax
shl esi, 4
cmp dword [edi + esi + 0xc], 0x7ca4fdf
mov esi, 0xff
setne cl
cmovb ecx, esi
cmp cl, 1
je 0x10054c83
movzx ecx, cl
cmp ecx, 0xff
jne 0x100554d1
inc eax
mov edx, eax
mov eax, dword [esp + 0x70]
sub eax, edx
ja 0x10054c8f
jmp 0x1005b3f1
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp], xmm2
mov dword [esp + 8], edi
movsd xmm0, qword [esp + 4]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x10051a25
jmp 0x10051a4b
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
or eax, dword [esp + 0x17c]
je 0x1005271d
lea esi, [esp + 0x170]
lea edx, [esp + 0x98]
mov ecx, esi
push 3
push 0x37112f0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x80]
push dword [esp + 0x74]
call fcn.10063cd0
add esp, 0x18
mov ecx, 0x37106c4
mov edx, 0x434
call fcn.1000bfa0
mov ecx, esp
mov edx, esi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp], 0
je 0x100558cb
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x1005271d
mov eax, dword [esp + 0x178]
or eax, dword [esp + 0x17c]
je 0x100554c5
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
lea edi, [esp + 0x170]
lea edx, [esp + 0x98]
mov ecx, edi
add eax, 8
adc esi, 0
push 1
push 0x3711510
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10063cd0
add esp, 0x18
mov ecx, 0x37106c4
mov edx, 0x4c1
call fcn.1000bfa0
mov ecx, esp
mov edx, edi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp], 0
mov edi, dword [ebp + 8]
je 0x10055943
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x1005321f
movzx eax, byte [esp + 0x174]
mov dword [esp + 0x60], eax
jmp 0x10054f57
movzx eax, byte [esp + 0x174]
jmp 0x10055010
mov eax, dword [esp + 0x178]
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
or eax, dword [esp + 0x17c]
je 0x10053c5d
lea esi, [esp + 0x170]
lea edx, [esp + 0x98]
mov ecx, esi
push 2
push 0x3711958
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x80]
push dword [esp + 0x74]
call fcn.10063cd0
add esp, 0x18
mov ecx, 0x37106c4
mov edx, 0x5c9
call fcn.1000bfa0
mov ecx, esp
mov edx, esi
push eax
call fcn.1002cbc0
add esp, 4
cmp dword [esp], 0
je 0x100559d4
movsd xmm0, qword [esp + 8]
movss xmm2, dword [esp + 4]
movss xmm1, dword [esp + 0x10]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x10053c5d
mov eax, dword [esp + 0x60]
dec dword [eax]
mov eax, dword [edi]
cmp word [eax + 0x122], 3
je 0x10052150
jmp 0x10052383
mov eax, dword [esp + 0x60]
dec dword [eax]
jmp 0x10052fb3
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 eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x60], eax
je 0x10054f57
xor esi, 0x51f
shr eax, 8
mov dword [esp + 0xd0], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0xb0], esi
mov dword [esp + 0xf0], eax
jmp 0x1005568f
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x70]
lea esi, [esp + 0x100]
lea ecx, [esp + 0x170]
mov edx, dword [eax]
add edi, 1
adc ebx, 0
push 1
push 3
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10033bb0
add esp, 0x1c
mov eax, dword [esp + 0x170]
test eax, eax
je 0x100550a4
movq xmm0, qword [esp + 0x174]
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], ecx
jmp 0x100555b4
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov ebx, dword [esp]
mov eax, dword [esp + 4]
test ebx, ebx
je 0x10055010
mov edi, eax
mov dword [esp + 0x70], ecx
xor esi, 0x55f
mov ecx, 0x37106c4
mov edx, 0x583
mov dword [esp + 0x20], esi
shr edi, 8
mov esi, eax
call fcn.1000bfa0
mov ecx, esi
mov dword [esp + 0xb0], eax
jmp 0x100551e8
mov esi, dword [esp + 0x20]
mov edi, dword [ebp + 8]
test al, al
js 0x100550ca
xor esi, esi
mov ecx, 0x37106c4
mov edx, 0x583
call fcn.1000bfa0
mov eax, esi
test al, al
je 0x100539ef
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x3711830
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x6915bb2a
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c8a
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x100539ef
cmp dword [esp + 0x174], 3
jne 0x10055532
mov dword [esp + 0x70], 0
mov dword [esp + 0xb0], 0
jmp 0x100555b4
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push esi
mov edi, dword [esp + 0x64]
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0x563
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x10055175
mov eax, dword [esp + 0x184]
mov ebx, dword [esp + 0x180]
add edi, 0x10
lea ecx, [esp + 0x170]
adc esi, 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xe8]
mov edx, dword [eax]
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0x564
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
je 0x10056879
movsd xmm0, qword [esp + 0x174]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 4]
lea edx, [esp + 0x40]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x10]
mov ecx, 0x37106c4
mov edx, 0x583
mov dword [esp + 0x20], eax
call fcn.1000bfa0
test ebx, ebx
je 0x10056376
mov dword [esp + 0x70], edi
mov edi, esi
mov ecx, esi
mov dword [esp + 0xb0], eax
shr edi, 8
shl edi, 8
movzx eax, cl
mov esi, dword [esp + 0x70]
movd xmm1, ebx
mov dword [esp + 0x60], ecx
or eax, edi
mov edi, dword [esp + 0x20]
movd xmm0, eax
mov eax, dword [0x3716000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0xd0], xmm1
mov dword [esp], edi
mov dword [esp + 4], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x17c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x10055399
mov ecx, esp
call fcn.10005180
xor eax, eax
jmp 0x100553a5
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x100552bf
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + eax]
xor ecx, ecx
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x60]
jmp 0x10055281
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 0x10055276
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x100552db
mov dword [esp + 0x60], eax
sub eax, ecx
mov dword [esp + 0x70], eax
jbe 0x10055c26
mov eax, dword [esp + 0x70]
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 0x100552cb
movzx ecx, dl
cmp ecx, 0xff
jne 0x10055325
mov eax, dword [esp + 0x174]
mov dword [eax], edi
mov dword [eax + 4], esi
movdqa xmm0, xmmword [esp + 0xd0]
mov edx, dword [esp + 0xb0]
mov edi, dword [ebp + 8]
movq qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 7], cl
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp], ebx
mov byte [esp + 4], al
jmp 0x100539c1
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
xor esi, esi
mov dword [esp + 0xd0], edx
sub edi, edx
mov edx, 0xaaaaaaab
mov dword [esp + 0xf0], ecx
mul edx
shr edx, 3
dec edx
jmp 0x10055424
mov edx, dword [esp + 0x60]
inc esi
cmp esi, edx
jg 0x100524b2
lea eax, [edx + esi]
mov dword [esp + 0x70], esi
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0x60], edx
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
lea eax, [esi + esi*2]
lea eax, [ecx + eax*4]
mov ecx, esp
add eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
adc ebx, 0
mov edx, dword [eax]
push 1
mov dword [esp + 0xb0], ebx
push ebx
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10034c70
add esp, 0x14
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
test ebx, ebx
jne 0x10056b4c
xor eax, eax
cmp ecx, edi
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 1
je 0x10055417
movzx eax, al
cmp eax, 0xff
jne 0x100568c2
dec esi
mov edx, esi
mov esi, dword [esp + 0x70]
cmp esi, edx
jle 0x10055424
jmp 0x100524b2
mov edi, dword [ebp + 8]
pxor xmm2, xmm2
jmp 0x1005321f
mov eax, dword [esp + 0xb0]
xor edi, edi
mov ecx, eax
mov dword [esp + 0x60], eax
jmp 0x100554ee
mov dword [esp + 0x60], ecx
sub ecx, edi
jbe 0x1005b3f1
shr ecx, 1
mov edx, dword [esp + 0x20]
xor eax, eax
add ecx, edi
mov esi, ecx
shl esi, 4
cmp dword [edx + esi + 0xc], 0x2dd2b3ce
mov edx, 0xff
setne al
cmovb eax, edx
cmp al, 1
je 0x100554e2
movzx eax, al
cmp eax, 0xff
jne 0x10056666
inc ecx
mov edi, ecx
mov ecx, dword [esp + 0x60]
sub ecx, edi
ja 0x100554ee
jmp 0x1005b3f1
xor ecx, ecx
lea edx, [0x3713fbd]
lea edi, [0x3713fbe]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005556c
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x1005558b
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10055547
movdqa xmm0, xmmword [0x370c5d0]
xor ebx, 0x91
mov dword [esp + 0xb0], 0
mov dword [esp + 0x70], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor ebx, ebx
lea eax, [0x37106c5]
lea edi, [0x37106c6]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [eax]
mov eax, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100555f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
add cl, 0xa9
mov ch, cl
mov edi, ebx
movzx esi, ch
shl edi, 4
or esi, edi
lea edi, [eax + 1]
test edx, edx
cmove edi, eax
je 0x10055616
shld dword [esp + 0x20], ebx, 4
inc edx
test eax, eax
mov ebx, esi
jne 0x100555d0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1005576a
mov ecx, dword [esp + 0xb0]
xor esi, 0x523
mov dword [esp + 0x170], eax
movq qword [esp + 0x174], xmm0
lea edx, [esp + 0x170]
mov dword [esp + 0x17c], ecx
mov ecx, esp
push esi
call fcn.10004ae0
add esp, 4
mov eax, dword [esp]
test eax, eax
je 0x1005576a
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
shr edx, 8
mov dword [esp + 0xf0], edx
mov dword [esp + 0xd0], ecx
xor edi, edi
lea edx, [0x37106c5]
lea eax, [0x37106c6]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ebx, byte [edx]
mov edx, eax
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x100556d1
or bl, 0x20
mov eax, ebx
add al, 0x9f
cmp al, 6
jae 0x1005b40d
add bl, 0xa9
mov eax, ebx
mov esi, edi
movzx ebx, al
lea eax, [edx + 1]
shl esi, 4
or ebx, esi
test ecx, ecx
cmove eax, edx
je 0x100556f2
shld dword [esp + 0x20], edi, 4
inc ecx
test edx, edx
mov edi, ebx
jne 0x100556b0
mov ecx, dword [esp + 0xf0]
movzx eax, byte [esp + 0x60]
movd xmm1, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0xd0]
xor ebx, 0x551
shl ecx, 8
mov dword [esp], esi
mov dword [esp + 4], edi
or eax, ecx
movd xmm0, eax
mov eax, dword [0x3716000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x17c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x10055878
mov ecx, esp
call fcn.10005180
xor eax, eax
jmp 0x10055884
mov edx, dword [esp + 0x60]
mov edi, dword [ebp + 8]
add dl, dl
xor dl, 0xd0
movzx eax, dl
add dl, 0xd1
lea ecx, [eax*4]
lea eax, [eax + eax*2]
lea ebx, [ecx + ecx*2]
add al, 0x44
add bl, 0xe1
nop
mov ecx, edx
add al, 0x8d
add bl, 0x34
add dl, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x10055790
xor dl, byte [esp + 0x100]
cmp dl, 0x74
jne 0x10055864
mov ecx, eax
add bl, 0xbc
add al, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x100557b2
xor al, byte [esp + 0x101]
cmp al, 0x74
jne 0x10055864
mov eax, ebx
add bl, 0x2f
add al, 0xb0
cmp al, 0xa1
jae 0x100557d0
xor bl, byte [esp + 0x102]
mov ecx, 0x37106c4
mov edx, 0x551
call fcn.1000bfa0
cmp bl, 0x70
jne 0x1005375f
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x37117c4
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xf565af26
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c89
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x1005375f
mov ecx, 0x37106c4
mov edx, 0x551
call fcn.1000bfa0
jmp 0x1005375f
mov eax, dword [esp + 0x174]
mov dword [eax], esi
mov dword [eax + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
movq qword [esp + 0x98], xmm0
movzx ecx, word [esp + 0x9d]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0x9f]
mov byte [esp + 7], cl
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mov dword [esp], ecx
mov byte [esp + 4], al
jmp 0x10053731
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1005274c
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x371132c
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xa424d249
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c84
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x1005274c
mov eax, dword [esp + 8]
pxor xmm2, xmm2
or eax, dword [esp + 0xc]
je 0x1005321f
mov eax, dword [esp + 0x14]
lea esi, [esp + 0x170]
mov ecx, esi
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
push 1
push dword [esp + 0x74]
push dword [esp + 0x68]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035020
add esp, 0x14
mov ecx, 0x37106c4
mov edx, 0x4c7
call fcn.1000bfa0
mov ecx, esp
mov edx, esi
push eax
call fcn.10033b00
add esp, 4
movq xmm2, qword [esp]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 8]
movd eax, xmm2
test eax, eax
je 0x10056a1a
movd xmm0, ebx
movd xmm1, esi
jmp 0x10056a87
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10053c8c
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x3711980
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x2488d7d2
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c88
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x10053c8c
mov edi, dword [ebp + 8]
dec dword [ebx]
lea ecx, [esp + 0x170]
mov edx, edi
push dword [ebp + 0xc]
call fcn.100684e0
add esp, 4
xor ecx, ecx
lea edx, [0x37106c5]
lea edi, [0x37106c6]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10055c85
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x1005b40d
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 0x10055ca4
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10055c60
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10055d1d
movsd xmm0, qword [esp + 0x174]
mov esi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
xor ebx, 0x6a0
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
lea ecx, [esp + 0x8c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
je 0x10055d3f
lea ecx, [esp + 0x98]
call fcn.10005180
xor eax, eax
jmp 0x10055d55
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x70], ecx
jne 0x10055dd4
jmp 0x10056d81
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]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x10055dbc
mov edx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
add edx, 0x10
mov dword [esp + 0x60], edx
mov dword [esp + 0x170], ecx
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x60]
mov edx, 0x37133f0
mov ecx, dword [eax]
lea eax, [esp + 0x170]
push eax
push 8
call fcn.1003cab0
add esp, 8
jmp 0x10056d94
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x70], ecx
je 0x10056d81
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
xor eax, eax
mov esi, ecx
mov dword [esp + 0x60], ecx
jmp 0x10055dfc
mov dword [esp + 0x60], esi
sub esi, eax
jbe 0x10056d81
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 0x10055df0
movzx eax, dl
cmp eax, 0xff
jne 0x10055e3d
inc esi
mov eax, esi
mov esi, dword [esp + 0x60]
sub esi, eax
ja 0x10055dfc
jmp 0x10056d81
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
test edx, edx
je 0x10056d81
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
mov eax, dword [eax + ecx]
mov dword [esp + 0x60], eax
xor eax, eax
mov edi, dword [esp + 0x60]
jmp 0x10055e7f
shr edx, 1
xor ecx, ecx
add edx, eax
mov esi, edx
shl esi, 4
cmp dword [edi + esi + 0xc], 0xf8a3eca5
mov esi, 0xff
setne cl
cmovb ecx, esi
cmp cl, 1
je 0x10055e70
mov dword [esp + 0x40], 0
xor eax, eax
jmp 0x1004d078
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov eax, dword [esp + 0x184]
mov ebx, dword [esp + 0xb0]
add ecx, 0xffffffff
adc edx, 0xffffffff
adc eax, 0xffffffff
cmp ecx, 0xffffffff
sbb edx, 0
sbb eax, 0
mov eax, dword [esp + 0x70]
jae 0x1004e195
mov edi, dword [ebp + 0xc]
add eax, 0x50
mov esi, ebx
lea ecx, [esp + 0x170]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov esi, 0xffffffff
mov edi, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor esi, esi
cmp edi, eax
mov eax, 0
mov edi, dword [ebp + 8]
sbb eax, ecx
mov eax, dword [esp + 0x70]
sbb esi, edx
jb 0x1004e195
mov edi, dword [ebp + 0xc]
add eax, 0x90
lea ecx, [esp + 0x170]
adc ebx, 0
mov edx, dword [edi]
push ebx
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov esi, 0xffffffff
mov edi, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor esi, esi
cmp edi, eax
mov eax, 0
mov edi, dword [ebp + 8]
sbb eax, ecx
mov eax, dword [esp + 0x70]
sbb esi, edx
mov esi, dword [esp + 0xb0]
jb 0x1004e195
mov edi, dword [ebp + 0xc]
add eax, 0xd0
lea ecx, [esp + 0x170]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov esi, 0xffffffff
mov edi, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor esi, esi
cmp edi, eax
mov eax, 0
mov edi, dword [ebp + 8]
sbb eax, ecx
mov eax, dword [esp + 0x70]
sbb esi, edx
mov esi, dword [esp + 0xb0]
jb 0x1004e195
mov edi, dword [ebp + 0xc]
add eax, 0x110
lea ecx, [esp + 0x170]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov esi, 0xffffffff
mov edi, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor esi, esi
cmp edi, eax
mov eax, 0
mov edi, dword [ebp + 8]
sbb eax, ecx
mov eax, dword [esp + 0x70]
sbb esi, edx
mov esi, dword [esp + 0xb0]
jb 0x1004e195
mov edi, dword [ebp + 0xc]
add eax, 0x150
lea ecx, [esp + 0x170]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov esi, 0xffffffff
mov edi, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor esi, esi
cmp edi, eax
mov eax, 0
mov edi, dword [ebp + 8]
sbb eax, ecx
mov eax, dword [esp + 0x70]
sbb esi, edx
mov esi, dword [esp + 0xb0]
jb 0x1004e195
mov edi, dword [ebp + 0xc]
add eax, 0x190
lea ecx, [esp + 0x170]
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov esi, 0xffffffff
mov edi, 0xfffffffe
mov ebx, dword [esp + 0xb0]
add eax, esi
adc ecx, esi
adc edx, esi
xor esi, esi
cmp edi, eax
mov edi, 0
sbb edi, ecx
mov edi, dword [ebp + 8]
sbb esi, edx
mov esi, dword [esp + 0x70]
jb 0x1004e195
mov eax, dword [ebp + 0xc]
add esi, 0x1d0
lea ecx, [esp + 0x170]
adc ebx, 0
mov edx, dword [eax]
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100343c0
add esp, 0x10
mov ecx, 0x37106c4
mov edx, 0xa7
call fcn.1000bfa0
cmp dword [esp + 0x170], 0
jne 0x1004e068
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov edx, 0xffffffff
add eax, edx
adc ecx, edx
adc edx, dword [esp + 0x184]
cmp eax, 0xffffffff
sbb ecx, 0
sbb edx, 0
jb 0x1004e133
jmp 0x1004e195
mov edi, dword [ebp + 8]
mov eax, esi
test al, al
jne 0x1005503a
jmp 0x100539ef
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 8]
jne 0x1005b5ee
mov eax, dword [esp + 8]
mov edx, dword [ecx + 0x18]
add ebx, 0xfffffff0
mov dword [esp + 0xb0], ecx
mov ecx, esp
adc esi, 0xffffffff
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
push 0x10
lea eax, [esp + 0x84]
push eax
push esi
push ebx
push dword [esp + 0x30]
mov eax, dword [esp + 0xc4]
mov esi, eax
push dword [eax + 0x1c]
call fcn.100355f0
add esp, 0x18
mov ecx, 0x37106c4
mov edx, 0x1b4
call fcn.1000bfa0
mov ecx, dword [esp]
test ecx, ecx
je 0x100566db
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x170]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100566db
movd xmm1, dword [esp + 0x44]
movq xmm0, qword [esp + 0x48]
movd xmm2, eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
movdqa xmmword [esp + 0x20], xmm2
push esi
call fcn.100381e0
add esp, 4
mov ecx, esi
call fcn.1002ec20
movdqa xmm2, xmmword [esp + 0x20]
jmp 0x1004f4af
cmp byte [esp + 4], 0
mov edi, dword [ebp + 8]
je 0x1004d0ac
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x370fdc4
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x25f65687
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xe543
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x1004d0ac
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi + 4]
test eax, eax
je 0x1005b3f1
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x70], eax
mov ecx, dword [ecx + esi]
mov dword [esp + 0x60], ecx
mov edi, dword [esp + 0x60]
jmp 0x10056699
movzx eax, byte [esp + 0x80]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x81]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x82]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x83]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x84]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x85]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x86]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x87]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x88]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x89]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x8a]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x8b]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x8c]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x8d]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x8e]
add al, 0xbf
cmp al, 0x19
ja 0x10056858
movzx eax, byte [esp + 0x8f]
add al, 0xbf
cmp al, 0x1a
jae 0x10056858
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x37109a4
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp]
mov edx, 0x38d5dc59
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push ebx
push 0xffff1c76
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, ebx
call fcn.1002cb80
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
push esi
call fcn.100381e0
add esp, 4
mov ecx, esi
call fcn.1002ec20
pxor xmm2, xmm2
jmp 0x1004f4af
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x20]
xor ebx, dword [esp + 0x180]
mov edi, dword [ebp + 8]
xor ecx, dword [esp + 0x17c]
xor eax, dword [esp + 0x184]
or eax, ecx
mov ecx, dword [esp + 0x70]
xor ecx, dword [esp + 0x178]
or ebx, ecx
or ebx, eax
setne al
test ebx, 0xc0c0c0c0
sete cl
and cl, al
mov esi, ecx
jmp 0x10055021
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xac]
mov edx, dword [ecx]
mov ecx, esp
add eax, 4
mov esi, ebx
adc esi, 0
push 1
push esi
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10034c70
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x10056b12
mov eax, ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ebx, eax
jmp 0x10056b54
xor ecx, 0x1c
mov dword [esp + 0x20], eax
jmp 0x10056921
mov dword [esp + 0x20], eax
xor ecx, 0x1e
mov esi, dword [esp + 0x174]
mov dword [esp + 0x70], ecx
mov edi, dword [esp + 0x178]
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x40], edi
mov dword [esp + 0xf0], eax
mov dword [esp + 0x44], eax
call fcn.10033840
mov ebx, dword [0x3716000]
mov dword [esp + 0xd0], edx
push edx
mov dword [esp + 0xb4], eax
push eax
push 0x3715820
lea ecx, [esp + 0xc]
push ecx
call dword [ebx + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1005698d
lea ecx, [esp + 0x40]
call fcn.10005180
mov dword [esp + 0x60], 0
jmp 0x100569a1
mov eax, dword [esp + 4]
mov dword [eax], edi
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x60], eax
mov dword [eax + 4], ecx
mov ecx, 0x370c9c8
mov edx, 0x4d
call fcn.1000bfa0
mov edi, eax
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [0x3716000]
push dword [esp + 0xd0]
push dword [esp + 0xb4]
push 0x3715820
lea ecx, [esp + 0x17c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x100569fc
mov ecx, esp
call fcn.10005180
xor eax, eax
jmp 0x10056a0c
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x60]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xac]
dec dword [ecx]
jmp 0x1004d6a8
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push dword [esp + 0xb4]
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035020
add esp, 0x14
mov ecx, 0x37106c4
mov edx, 0x4c7
call fcn.1000bfa0
mov ecx, esp
lea edx, [esp + 0x170]
push eax
call fcn.10033b00
add esp, 4
movq xmm2, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm2
test edx, edx
je 0x10056c3c
movd xmm0, ecx
movd xmm1, eax
punpckldq xmm0, xmm1
punpcklqdq xmm2, xmm0
jmp 0x1005321f
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov ecx, 0x370c9c8
mov edx, 0x21
mov dword [esp + 0x60], eax
call fcn.1000bfa0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xf0], edi
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.10033840
mov ecx, dword [0x3716000]
mov dword [esp + 0xd0], edx
push edx
mov dword [esp + 0xb4], eax
push eax
push 0x3715820
push ebx
call dword [ecx + 0xc]
add esp, 0x10
cmp byte [esp + 0x170], 0
je 0x10056cfa
mov ecx, esp
jmp 0x1005697e
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
add esi, 8
adc ebx, 0
mov edx, dword [eax]
push 1
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10034c70
add esp, 0x14
mov ebx, dword [esp]
test ebx, ebx
je 0x1005a3be
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0xc]
cmp ebx, 0xc76970a8
jne 0x10056b78
cmp ecx, 0x76d4030
jne 0x10056b78
test edi, edi
je 0x100524b2
mov ecx, edi
call fcn.10008670
jmp 0x100524b2
mov esi, ecx
mov dword [esp + 0x20], edx
mov ecx, 0x37101d8
mov edx, 0x58
call fcn.1000bfa0
mov ecx, dword [esp + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov edx, esp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
lea ecx, [esp + 0x174]
push eax
call fcn.10004ae0
add esp, 4
mov eax, dword [esp + 0x174]
test eax, eax
je 0x100524c1
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x180]
mov esi, dword [esp + 0x17c]
jmp 0x10052417
xor eax, esi
xor ecx, ebx
xor ecx, 0x61656843
xor eax, 0x74
or eax, ecx
jne 0x1005324e
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x3711524
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0x45dea372
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c87
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x1005324e
mov dword [esp + 0x70], eax
mov dword [esp + 0x20], ecx
jmp 0x1005692c
push 0x3712180
call fcn.10008830
add esp, 4
ud2
push 0x37121ac
call fcn.10008830
add esp, 4
ud2
mov ecx, 1
push 0x3711008
call fcn.10008830
add esp, 4
ud2
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
jmp 0x10056993
mov eax, dword [esp + 0x3c]
dec dword [ebx]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
add eax, 0x10
mov dword [esp + 0x60], eax
lea edx, [esp + 0x138]
lea ecx, [esp + 0x170]
push edi
push esi
call fcn.10003e70
add esp, 8
xor ebx, ebx
lea edi, [0x37106c5]
lea edx, [0x37106c6]
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 0x10056df5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10056e16
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x10056dd0
cmp dword [esp + 0x170], 0
je 0x10056e87
cmp byte [edx + 0x15], 0
je 0x100597f7
mov ecx, 0x370e918
mov edx, 8
call fcn.1000d390
test eax, eax
mov esi, 1
mov ecx, 0x370e920
mov edx, 6
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1000d390
test eax, eax
lea edi, [0x370e928]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x370e927]
xor ebx, ebx
mov dword [esp + 0x60], eax
xor eax, eax
nop dword [eax + eax]
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x100589c5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x1005b40d
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 0x100589e4
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x100589a0
mov eax, dword [esp + 0x20]
mov esi, 0x4433
xor edx, 4
mov ebx, 0x22110000
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], 0
mov edx, 0x3713435
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x170]
mov dword [esp + 0x20], ecx
push eax
push 5
call fcn.1005b6d0
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 0x100596ff
cmp dword [eax + 0xec], 0x6d736b63
jne 0x100596ff
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10032e80
add esp, 8
xor edi, edi
lea esi, [0x37135f9]
lea edx, [0x37135fa]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10058ac5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x1005b40d
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 0x10058ae6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10058aa0
cmp dword [esp + 0x170], 0
je 0x10058b5b
mov esi, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x174]
mov ebx, dword [esp + 0x180]
mov eax, dword [0x3716000]
xor ecx, 0x1e
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], esi
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], ebx
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 8]
je 0x10058ce7
lea ecx, [esp + 0x80]
call fcn.10005180
xor edx, edx
jmp 0x10058cf0
mov ebx, dword [esp + 0x180]
mov ecx, dword [esp + 0x60]
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ecx + 8]
jne 0x1005b5ee
mov eax, dword [edi]
mov esi, 0x4433
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x1005a358
mov edx, dword [esp + 0x178]
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x17c]
mov dword [esp + 0xd0], edx
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
cmp edx, 0x400
jne 0x10058d25
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x1c]
xorps xmm0, xmm0
mov dword [esp + 0xac], ebx
mov dword [esp + 0x180], 0
mov ecx, esp
movaps xmmword [esp + 0x170], xmm0
push 0
push 0x14
lea esi, [esp + 0x178]
push esi
push 0
push 0x400
push dword [esp + 0x74]
push eax
call fcn.10033bb0
add esp, 0x1c
xor edi, edi
lea edx, [0x37135f9]
lea esi, [0x37135fa]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10058c45
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10058c64
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10058c20
mov eax, dword [esp]
mov edi, dword [ebp + 8]
test eax, eax
je 0x10059028
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x3716000]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x80]
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x98], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x9c], esi
push 4
push 8
push 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x80], 0
mov ebx, dword [esp + 0xac]
je 0x10059129
lea ecx, [esp + 0x98]
call fcn.10005180
xor edx, edx
jmp 0x1005913f
mov edx, dword [esp + 0x44]
mov dword [edx], esi
mov dword [edx + 4], ebx
movdqa xmm0, xmmword [esp + 0x70]
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 + 0x60]
test eax, eax
jne 0x100596b1
jmp 0x100596ff
mov dword [esp + 0xcc], eax
mov dword [esp + 0xac], 0
jmp 0x10059651
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x60], eax
jmp 0x10059188
movdqa xmm0, xmmword [esp + 0x70]
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 + 0x60]
mov esi, 0x4433
movd ecx, xmm0
pshufd xmm0, xmm0, 0x55
test ecx, ecx
je 0x10059182
mov dword [esp + 0x70], edx
xor eax, 0x2b
movd edx, xmm0
mov dword [esp + 0x60], eax
mov eax, edx
mov dword [esp + 0xcc], edx
shr edx, 8
mov dword [esp + 0xb0], edx
jmp 0x1005964a
movd dword [esp + 0x60], 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.10035390
add esp, 0x14
mov ecx, dword [esp]
test ecx, ecx
je 0x100591e7
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 + 0xcc], eax
mov dword [esp + 0x60], esi
or edx, edi
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x70], edx
jmp 0x10059642
xor ecx, ecx
cmp byte [esp + 4], 0x4d
jne 0x1005963b
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.10035390
add esp, 0x14
mov eax, dword [esp]
test eax, eax
je 0x10059efc
movzx ecx, byte [esp + 4]
movzx edx, word [esp + 5]
mov dword [esp + 0xcc], 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 + 0x60], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
mov ecx, eax
jmp 0x10059642
mov dword [esp + 0xcc], eax
mov edi, dword [ebp + 8]
mov esi, 0x4433
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xd0]
push ebx
call fcn.100381e0
add esp, 4
dec dword [ebx]
jne 0x10059697
inc dword [ebx + 4]
lea ecx, [ebx + 8]
call fcn.1002e380
mov eax, dword [ebx + 4]
dec eax
mov dword [ebx + 4], eax
or eax, dword [ebx]
jne 0x10059697
mov eax, dword [0x3716000]
push 8
push 0x30
push ebx
push 0x3715820
call dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xcc]
test eax, eax
je 0x100596ff
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x170], eax
movzx eax, bl
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x20]
shl edx, 8
or eax, edx
mov edx, 0x371343a
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x170]
push eax
push 0xc
call fcn.1005b6d0
add esp, 8
mov eax, dword [edi]
mov ecx, 0x22110000
xor esi, dword [eax + 0x9c]
xor ecx, dword [eax + 0x98]
or ecx, esi
jne 0x100597f3
cmp dword [eax + 0xec], 0x73747373
jne 0x100597f3
cmp dword [eax + 0xcc], 0x2000
jne 0x100597f3
cmp dword [eax + 0xe4], 0x3000
jne 0x100597f3
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x100597f3
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x100597f3
mov edi, 0x2000
mov esi, dword [eax + 0xc]
lea ecx, [esp + 0x170]
add edi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
adc esi, 0
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10035c50
add esp, 0x10
mov eax, dword [esp + 0x170]
test eax, eax
je 0x10059954
mov ecx, dword [esp + 0x17c]
movq xmm0, qword [esp + 0x174]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp]
movsd xmm1, qword [esp + 8]
mov ecx, dword [esp + 0x20]
mov edx, 0x3713446
lea eax, [esp + 0x170]
movsd qword [esp + 0x178], xmm1
movsd qword [esp + 0x170], xmm0
push eax
push 6
call fcn.1005b6d0
add esp, 8
mov edx, dword [esp + 0x3c]
cmp byte [edx + 0x14], 0
je 0x1005993b
mov esi, edx
lea eax, [esp + 0x138]
mov edx, edi
lea ecx, [esp + 0x170]
push dword [esi + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.10038ee0
add esp, 0xc
xor edi, edi
lea edx, [0x371344d]
lea ebx, [0x371344e]
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 0x10059865
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x1005b40d
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 0x10059886
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10059840
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1005993b
movsd xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp], eax
mov eax, dword [0x3716000]
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 0x3715820
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005991b
lea ecx, [esp + 0x80]
call fcn.10005180
xor eax, eax
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
je 0x1005993b
mov ecx, dword [esp + 0x134]
xor esi, 0x11d
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
movq qword [ecx], xmm0
jmp 0x1005994c
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 0x10059902
mov eax, dword [esp + 0x134]
mov byte [eax + 4], 0
mov dword [eax], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 0x174], 0
mov edi, dword [ebp + 8]
je 0x100597f3
cmp dword [esp + 0x178], 0x33c0c300
jne 0x100597f3
mov eax, dword [edi]
mov ebx, dword [ebp + 0xc]
mov edi, 0x2004
lea ecx, [esp + 0x170]
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.10034c70
add esp, 0x14
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005979b
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x174]
mov eax, dword [eax]
mov dword [esp + 0xcc], ecx
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x170], ecx
mov eax, edx
mov edi, esi
mov dword [esp + 0xf0], edx
mov dword [esp + 0xac], esi
add eax, 0x2008
mov dword [esp + 0x60], eax
mov eax, edx
adc edi, 0
mov edx, 4
add eax, ecx
lea ecx, [esp + 0x170]
adc esi, 0
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], esi
call fcn.1000d0b0
mov dword [esp + 0xd0], edx
mov edx, dword [ebx]
mov esi, eax
lea ecx, [esp + 0x170]
push 1
push edi
push dword [esp + 0x68]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
je 0x1005a193
mov edi, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 0xc], eax
movd eax, xmm0
mov dword [esp + 8], ecx
test eax, eax
jne 0x100597bb
jmp 0x100597f3
cmp byte [esp + 4], 0x5a
mov edi, dword [ebp + 8]
mov esi, 0x4433
jne 0x1005a090
mov ecx, dword [esp + 0x60]
cmp ecx, 0x15
jae 0x1005b69d
cmp ecx, 0x14
jne 0x10059fb2
movdqa xmm0, xmmword [esp + 0x170]
movd xmm1, dword [esp + 0x180]
pcmpeqb xmm1, xmmword [0x370c610]
pcmpeqb xmm0, xmmword [0x370c620]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x10059fb2
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
mov edx, esp
push 4
push 0x3713628
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov edx, 0x549a2aa6
mov dword [esp + 0x60], eax
push dword [esp + 0x44]
push eax
push 0xddf2
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
call fcn.1002cb80
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xd0]
push ebx
call fcn.100381e0
add esp, 4
mov ecx, ebx
call fcn.1002ec20
jmp 0x100596ff
mov dword [esp + 0xcc], eax
xor ecx, ecx
jmp 0x1005964a
xor eax, dword [esp + 0xd0]
mov edx, dword [ebx]
xor ecx, esi
mov edi, ebx
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov dword [esp + 4], eax
mov eax, esp
push 1
push 0
push 8
push eax
push dword [esp + 0xc0]
push dword [esp + 0x84]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
je 0x1005a44b
mov ecx, dword [esp + 0x17c]
movq xmm0, qword [esp + 0x174]
mov dword [esp + 0xc], ecx
movq qword [esp + 4], xmm0
mov dword [esp], eax
jmp 0x100597b8
xor edx, edx
push 0x3710528
call fcn.10008830
add esp, 4
ud2
mov ecx, 0x37101d8
mov edx, 0x58
call fcn.1000bfa0
mov ecx, dword [esp + 0x60]
xor eax, eax
sub ecx, edi
cmovb ecx, eax
cmp ecx, 6
jbe 0x100524c1
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov ecx, esp
lea edx, [esp + 0x170]
push 4
push 0x37101f4
call fcn.1001c3b0
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp]
mov edx, 0xd7df84ac
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push esi
push 0xffff1c82
call fcn.1003d890
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002cb80
jmp 0x100524c1
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
dec eax
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2010
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 8
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
add eax, 0xfffffffe
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2018
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 0x10
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
add eax, 0xfffffffd
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2020
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 0x18
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
add eax, 0xfffffffc
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2028
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 0x20
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
add eax, 0xfffffffb
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2030
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 0x28
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
add eax, 0xfffffffa
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2038
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 0x30
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
mov edi, eax
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x170]
mov edx, 4
add eax, 0xfffffff9
mov dword [esp + 0x170], eax
call fcn.1000d0b0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x170]
add eax, 0x2040
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10035020
add esp, 0x14
movq xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
movd edx, xmm0
test edx, edx
jne 0x10059a5e
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
add edi, 0x38
adc esi, 0
xor eax, ebx
xor ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push 1
push 0
push 8
lea ebx, [esp + 0xc]
push ebx
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100354e0
add esp, 0x20
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x1005a1e2
mov edi, dword [ebp + 8]
jmp 0x100597f3
push 0x37106d4
call fcn.10008830
add esp, 4
ud2
mov dword [esp + 0x40], 0
xor esi, esi
dec dword [ebx]
mov edi, dword [ebp + 8]
test esi, esi
jne 0x100541aa
jmp 0x100541d7
mov ecx, 0x3714230
mov edx, 0xe
push 0x370de30
call fcn.100091f0
add esp, 4
ud2
mov ecx, 0x3710048
mov edx, 0x41
push 0x371008c
call fcn.100091f0
add esp, 4
ud2
mov edx, 6
push 0x37101e4
call fcn.10008d00
add esp, 4
ud2
mov edi, dword [esp + 0x70]
mov bl, 7
jmp 0x1005b641
mov edi, edx
mov bl, 7
jmp 0x1005b641
mov edi, dword [esp + 0x170]
mov ebx, eax
mov esi, dword [esp + 0x178]
call fcn.10033850
mov ecx, eax
push esi
call fcn.1000b6f0
add esp, 4
test eax, eax
je 0x1005b670
mov ecx, dword [0x3716000]
push edx
push eax
push edi
push 0x3715820
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, 0x37157f4
mov edx, 0x2b
mov byte [esp + 0x170], bl
push 0x370f9c8
push 0x370fbf8
lea eax, [esp + 0x178]
push eax
call fcn.10009a40
add esp, 0xc
ud2
mov edx, 0x14
push 0x3713604
call fcn.10008d00
add esp, 4
ud2
mov ecx, 1
xor edx, edx
push 0x370fc64
call fcn.10008ca0
add esp, 4
ud2