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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x270
mov dword [esp + 0x98], ecx
mov ecx, dword [edx + 8]
cmp ecx, 0x7ffffffe
jbe 0x1006ac6a
mov ecx, 0x3e89468
mov edx, 6
call fcn.1000af30
test eax, eax
mov esi, 1
mov ecx, 0x3e894a0
mov edx, 0x12
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1000af30
test eax, eax
lea edi, [0x3e8942e]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x3e8942d]
xor ebx, ebx
mov dword [esp + 0x10], eax
xor eax, eax
nop
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1006ac25
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x1006c870
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 0x1006ac44
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x1006ac00
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
xor edx, 0x48
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], 0
jmp 0x1006c7c0
mov esi, edx
add edx, 8
mov eax, dword [ebp + 8]
lea edi, [0x3e8942e]
mov dword [esp + 0xf4], edx
lea edx, [ecx + 1]
mov dword [esp + 0xa8], esi
mov dword [esi + 8], edx
lea edx, [esi + 0xc]
lea esi, [0x3e8942d]
mov dword [esp + 0xac], edx
mov edx, 0xfffffff9
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 0x1006acce
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1006c870
lea edi, [esi + 1]
test edx, edx
cmove edi, esi
je 0x1006acdd
inc edx
test esi, esi
jne 0x1006acb0
mov edx, dword [esp + 0xac]
cmp dword [edx], 0
je 0x1006ad08
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xf4]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax], 0
jmp 0x1006c7c0
mov edx, dword [esp + 0xa8]
mov dword [edx + 8], ecx
mov ecx, dword [edx]
mov edx, dword [ecx + 0x14c]
test edx, edx
mov dword [esp + 0x20], edx
je 0x1006c88d
mov edi, dword [esp + 0x20]
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
dec edi
mov ebx, esi
add edi, edx
adc ebx, 0
jb 0x1006c88d
sub edi, edx
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x4c], ecx
sbb ebx, esi
mov dword [esp + 0x198], edi
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], edx
mov esi, dword [esp + 0xa8]
xor ebx, ebx
mov edx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x20]
mov edi, dword [esi + 4]
test edx, edx
setne bl
xor ecx, ecx
shl ebx, 6
or ebx, 3
test eax, eax
mov esi, dword [edi + 0x1c4]
mov dword [esp + 0xfc], 4
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 4
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
cmovne ebx, ecx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
lea edx, [esp + 0x100]
movdqu xmm0, xmmword [edi + 0x1b4]
movdqu xmmword [esp + 0x134], xmm0
mov dword [esp + 0x144], esi
pxor xmm0, xmm0
lea esi, [esp + 0x50]
nop word cs:[eax + eax]
nop
test bl, 1
jne 0x1006bf0c
mov eax, dword [esp + 0x128]
cmp eax, dword [esp + 0x134]
jne 0x1006ae75
or ebx, 9
mov dword [esp + 0x114], ebx
jmp 0x1006ae50
mov eax, esi
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x124]
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x74]
lea edx, [esp + 0x198]
push 0x14
push eax
mov dword [esp + 0xf8], edi
push edi
call fcn.100416c0
add esp, 0xc
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x1006c376
cmp dword [esp + 0x7c], 0x14
jne 0x1006aecc
mov eax, dword [esp + 0x78]
xor edx, edx
jmp 0x1006af00
lea ecx, [esp + 0x74]
lea edx, [esp + 0x198]
push 0x14
lea edi, [esp + 0x54]
push edi
push dword [esp + 0xf8]
call fcn.10041510
add esp, 0xc
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x1006c376
mov edx, 0x101
mov eax, edi
movdqu xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0x38], 0
test eax, eax
mov dword [esp + 0x9c], eax
movdqa xmmword [esp + 0x1c0], xmm0
je 0x1006b157
mov dword [esp + 0x3c], edx
pshufd xmm0, xmm0, 0xff
sub esp, 0xc
lea eax, [esp + 0xcc]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x1a4]
mov dword [esp + 4], esi
movd dword [esp], xmm0
mov dword [esp + 8], eax
call fcn.10041210
add esp, 0xc
movzx ecx, byte [esp + 0x74]
movzx eax, byte [esp + 0x75]
cmp ecx, 3
jne 0x1006c471
mov edi, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
mov ecx, 0x10
cmp edi, esi
mov esi, 0x200
mov dword [esp + 0xec], edx
cmove esi, ecx
test al, al
mov eax, 0
lea ecx, [esp + 0x30]
cmovne esi, eax
mov dword [esp + 0x10], esi
push edi
call fcn.1002b720
add esp, 4
cmp al, 8
jne 0x1006c4d1
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
movdqa xmm5, xmmword [0x3e81700]
movdqa xmm6, xmmword [0x3e81710]
movdqa xmm7, xmmword [0x3e81720]
mov dword [esp + 0x20], eax
cmp edx, edi
mov eax, edi
cmovb eax, edx
test eax, eax
je 0x1006b1ba
mov esi, dword [esp + 0x20]
cmp eax, 8
mov ecx, esi
jb 0x1006b199
xor ecx, ecx
cmp eax, 0x20
mov dword [esp + 0xd0], edi
mov dword [esp + 0x18], eax
jb 0x1006b0fd
movdqa xmm5, xmmword [0x3e816d0]
movdqa xmm6, xmmword [0x3e816e0]
movdqa xmm7, xmmword [0x3e816f0]
mov ecx, eax
add esi, 0x10
and ecx, 0xffffffe0
mov edi, ecx
nop word cs:[eax + eax]
movdqu xmm1, xmmword [esi - 0x10]
movdqu xmm0, xmmword [esi]
movdqa xmm2, xmm1
movdqa xmm3, xmm0
paddb xmm2, xmm5
paddb xmm3, xmm5
movdqa xmm4, xmm2
pminub xmm4, xmm6
pcmpeqb xmm4, xmm2
movdqa xmm2, xmm3
pminub xmm2, xmm6
pand xmm4, xmm7
pcmpeqb xmm2, xmm3
por xmm4, xmm1
pand xmm2, xmm7
movdqu xmmword [esi - 0x10], xmm4
por xmm2, xmm0
movdqu xmmword [esi], xmm2
add esi, 0x20
add edi, 0xffffffe0
jne 0x1006b070
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xd0]
movdqa xmm5, xmmword [0x3e81700]
movdqa xmm6, xmmword [0x3e81710]
movdqa xmm7, xmmword [0x3e81720]
cmp eax, ecx
je 0x1006b1ba
test al, 0x18
je 0x1006b18f
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edi, esi
mov esi, eax
and esi, 0xfffffff8
add edi, ecx
sub ecx, esi
nop dword [eax + eax]
movq xmm0, qword [edi]
movdqa xmm1, xmm0
paddb xmm1, xmm5
movdqa xmm2, xmm1
pmaxub xmm2, xmm6
pcmpeqb xmm2, xmm1
pandn xmm2, xmm7
por xmm2, xmm0
movq qword [edi], xmm2
add edi, 8
add ecx, 8
jne 0x1006b110
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xd0]
cmp eax, esi
je 0x1006b1ba
add esi, dword [esp + 0x20]
mov ecx, esi
mov esi, dword [esp + 0x20]
jmp 0x1006b199
pxor xmm1, xmm1
mov ecx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0xec], 1
pcmpeqd xmm0, xmm1
or ecx, 0x80
movmskps eax, xmm0
cmp eax, 0xf
cmovne edx, ecx
mov ecx, 1
xor eax, eax
jmp 0x1006b294
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add ecx, esi
add eax, esi
mov esi, eax
nop dword [eax]
movzx eax, byte [ecx]
mov ah, al
add ah, 0xbf
cmp ah, 0x1a
setb ah
shl ah, 5
or ah, al
mov byte [ecx], ah
inc ecx
cmp ecx, esi
jne 0x1006b1a0
cmp edx, 4
jb 0x1006b1fa
mov eax, dword [esp + 0x20]
cmp dword [eax + edx - 4], 0x6c6c642e
jne 0x1006b1fa
lea eax, [edx - 4]
mov ecx, edx
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, edi
mov esi, edi
cmovb esi, ecx
test esi, esi
lea esi, [ecx - 1]
cmovne ecx, esi
cmovne edx, esi
cmp ecx, eax
ja 0x1006b1e0
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x30]
or dword [esp + 0x3c], eax
call fcn.1002afc0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cmp eax, 8
mov dword [esp + 0xc], eax
jae 0x1006b243
test eax, eax
je 0x1006b281
mov edx, dword [esp + 0x3c]
xor eax, eax
nop word cs:[eax + eax]
cmp byte [ecx + eax], 0x5c
je 0x1006bf02
inc eax
cmp dword [esp + 0xc], eax
jne 0x1006b230
jmp 0x1006b29b
lea eax, [ecx + 3]
and eax, 0xfffffffc
sub eax, ecx
je 0x1006b273
mov edx, dword [esp + 0xc]
cmp eax, edx
cmovae eax, edx
test eax, eax
je 0x1006b273
xor edx, edx
cmp byte [ecx + edx], 0x5c
je 0x1006b28b
inc edx
cmp eax, edx
jne 0x1006b25c
mov edx, dword [esp + 0xc]
add edx, 0xfffffff8
jmp 0x1006bed9
mov eax, dword [esp + 0xc]
lea edx, [eax - 8]
xor eax, eax
jmp 0x1006be9b
mov dword [esp + 0xc], 0
jmp 0x1006b29b
mov edx, dword [esp + 0x3c]
mov eax, 0xa
bts edx, eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xc]
call 0x10070750
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0x7c], esi
mov ecx, dword [esp + 0x38]
test edx, edx
mov dword [esp + 0x160], esi
mov dword [esp + 0xb8], esi
movsd xmm0, qword [esp + 0x74]
mov dword [esp + 0x164], ecx
movaps xmmword [esp + 0x250], xmm0
movsd qword [esp + 0xb0], xmm0
je 0x1006bace
movdqa xmm0, xmmword [esp + 0x1c0]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x44], 0
movd ecx, xmm0
movzx eax, word [eax + 0xf8]
movd xmm0, edx
test ecx, ecx
cmove ecx, edx
movd xmm1, ecx
punpckldq xmm1, xmm0
mov word [esp + 0xfa], ax
movdqa xmmword [esp + 0x1d0], xmm1
cmp byte [esp + 0x44], 0
jne 0x1006bb2e
movzx esi, word [esp + 0xfa]
movdqa xmm0, xmmword [esp + 0x1d0]
cmp esi, 0x20b
movd eax, xmm0
jne 0x1006b3e7
lea ecx, [esp + 0x50]
lea edx, [esp + 0x198]
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
push 8
lea edi, [esp + 0x14c]
push edi
push eax
call fcn.100416c0
add esp, 0xc
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
test edx, edx
je 0x1006b4df
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0x14], edx
mov dword [esp + 0x15c], edx
mov edx, dword [esp + 0x4c]
mov al, 2
mov dword [esp + 0x1b4], ecx
xor ebx, ebx
cmp al, 3
je 0x1006b44e
jmp 0x1006baa3
lea ecx, [esp + 0x50]
mov dword [esp + 0x148], 0
lea edx, [esp + 0x198]
push 4
lea edi, [esp + 0x14c]
push edi
push eax
call fcn.100416c0
add esp, 0xc
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
test ecx, ecx
jne 0x1006c3aa
cmp dword [esp + 0x58], 4
jne 0x1006b431
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov al, 3
jmp 0x1006b433
xor eax, eax
mov edx, dword [esp + 0x4c]
movdqa xmm0, xmmword [esp + 0x180]
mov ecx, dword [esp + 0x48]
xor ebx, ebx
cmp al, 3
jne 0x1006baa3
cmp dword [esp + 0x14], 0
movdqa xmmword [esp + 0x180], xmm0
mov dword [esp + 0x48], ecx
je 0x1006b54d
js 0x1006b4be
lea ecx, [esp + 0x50]
mov word [esp + 0x148], 0
lea edx, [esp + 0x198]
push 2
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x1c]
call fcn.100416c0
add esp, 0xc
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
test ecx, ecx
jne 0x1006c3c8
cmp dword [esp + 0x58], 2
jne 0x1006b55a
movzx eax, word [eax]
mov word [esp + 0xf8], ax
jmp 0x1006b566
mov eax, dword [esp + 0x14]
and eax, 0xffff0000
cmp eax, 0x80000000
mov eax, 0x80
cmovne ebx, eax
mov ax, 1
mov edi, ebx
jmp 0x1006b61e
cmp dword [esp + 0x58], 8
mov edx, dword [esp + 0x4c]
jne 0x1006ba78
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
xor ebx, ebx
movdqa xmm0, xmmword [esp + 0x180]
mov ecx, edi
mov dword [esp + 0x48], eax
and eax, 0x7fffffff
mov dword [esp + 0x15c], edi
and ecx, 0x80000000
or ecx, eax
mov ecx, dword [esp + 0x48]
setne bl
and edi, 0x7fffffff
shl ebx, 7
mov eax, ecx
and eax, 0x80000000
or edi, eax
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], 0
movdqa xmmword [esp + 0x180], xmm0
mov dword [esp + 0x48], ecx
jne 0x1006b466
mov edi, ebx
mov ax, 2
mov bl, 1
jmp 0x1006b622
or ebx, 0x10000
mov al, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x30]
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x148]
lea edx, [esp + 0x198]
add eax, 2
push edi
push dword [esp + 0x148]
push eax
call fcn.10041210
add esp, 0xc
movzx eax, byte [esp + 0x148]
cmp al, 3
jne 0x1006c3fd
cmp byte [esp + 0x149], 0
mov edx, dword [esp + 0x34]
jne 0x1006b5ef
mov ecx, dword [esp + 0x44]
cmp edx, dword [esp + 0x144]
mov eax, 1
mov edi, 0x20
movzx ecx, cl
cmovne ecx, eax
mov eax, 0x10000
cmove eax, edi
mov dword [esp + 0x44], ecx
or ebx, eax
mov ecx, dword [esp + 0x30]
mov edi, ebx
call 0x10070750
movq xmm0, qword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
xor eax, eax
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0xc8], ecx
mov ebx, dword [esp + 0x44]
mov edx, dword [edx + 0x14c]
xor ecx, ecx
cmp esi, 0x20b
pshufd xmm0, xmmword [esp + 0x1d0], 0x55
movzx ebx, bl
sete cl
lea ecx, [ecx*4 + 4]
mov dword [esp + 0x1bc], ecx
sub edx, ecx
mov ecx, 0
movd esi, xmm0
movq xmm0, qword [esp + 0xc0]
cmovb edx, ecx
mov ecx, edi
mov dword [esp + 0x1b8], esi
or ecx, 0x1000
cmp esi, edx
mov edx, dword [esp + 0xc8]
lea esi, [esp + 0x78]
cmovbe ecx, edi
movq qword [esi], xmm0
mov dword [esi + 8], edx
mov edx, 1
cmova ebx, edx
or dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cmp ax, 2
mov dword [esp + 0x44], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
je 0x1006bb4b
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
mov edi, eax
test di, di
mov dword [esp + 0x168], edx
je 0x1006b6dc
movzx eax, cx
jmp 0x1006b6e7
mov edx, dword [esp + 0x7c]
mov ecx, esi
call 0x10070750
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x16c], esi
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x1006b771
mov eax, dword [esp + 0x108]
xor esi, esi
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x10], eax
mov eax, ecx
jmp 0x1006b72b
mov dword [esp + 0xd0], eax
sub eax, esi
jbe 0x1006b773
shr eax, 1
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
xor edx, edx
add eax, esi
mov edi, eax
shl edi, 4
cmp dword [ecx + edi + 0xc], ebx
mov edi, 0xff
setne dl
cmovb edx, edi
cmp dl, 1
je 0x1006b720
movzx edx, dl
cmp edx, 0xff
jne 0x1006b83e
inc eax
mov esi, eax
mov eax, dword [esp + 0xd0]
sub eax, esi
ja 0x1006b72b
jmp 0x1006b773
xor esi, esi
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], 4
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
inc ebx
mov dword [esp + 0x80], eax
je 0x1006c36b
cmp ebx, dword [esp + 0x110]
mov edi, dword [esp + 0x40]
jbe 0x1006b7e3
mov ecx, ebx
call fcn.10034400
mov edx, ebx
cmp eax, ebx
jbe 0x1006b7cf
lea ecx, [esp + 0x108]
mov edx, eax
call fcn.1002b480
mov edx, ebx
cmp al, 8
je 0x1006b7e3
lea ecx, [esp + 0x108]
call fcn.1002b480
cmp al, 8
jne 0x1006c4f0
mov ebx, dword [esp + 0x10c]
mov eax, ebx
sub eax, esi
jb 0x1006c8a6
mov edx, dword [esp + 0x108]
mov edi, esi
shl eax, 4
shl edi, 4
lea ecx, [edx + edi]
mov dword [esp + 0x10], edx
lea edx, [edx + edi + 0x10]
push eax
push ecx
push edx
call 0x10070c30
mov ecx, dword [esp + 0x1c]
add esp, 0xc
movq xmm0, qword [esp + 0x74]
movq xmm1, qword [esp + 0x7c]
inc ebx
movq qword [ecx + edi], xmm0
movq qword [ecx + edi + 8], xmm1
mov dword [esp + 0x10c], ebx
jmp 0x1006b848
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edx, dword [esp + 0x110]
cmp ebx, edx
cmovb edx, ebx
cmp esi, edx
jae 0x1006c856
shl esi, 4
mov edx, dword [ecx + esi + 4]
lea eax, [ecx + esi]
mov dword [esp + 0x1c], eax
test edx, edx
mov dword [esp + 0xa4], edx
je 0x1006b8e1
mov eax, dword [ecx + esi]
xor esi, esi
mov ecx, edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0x10], eax
jmp 0x1006b89b
mov dword [esp + 0xd0], ecx
sub ecx, esi
jbe 0x1006b8e3
shr ecx, 1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
xor ebx, ebx
add ecx, esi
mov edi, ecx
shl edi, 4
cmp dword [edx + edi + 0xc], eax
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x1006b890
movzx esi, bl
cmp esi, 0xff
jne 0x1006b995
inc ecx
mov esi, ecx
mov ecx, dword [esp + 0xd0]
sub ecx, esi
ja 0x1006b89b
jmp 0x1006b8e3
xor esi, esi
mov ecx, dword [esp + 0xa4]
inc ecx
je 0x1006c398
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
cmp ecx, dword [ebx + 8]
jbe 0x1006b935
mov ebx, ecx
call fcn.10034400
mov edx, ebx
cmp eax, ebx
jbe 0x1006b920
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.1002b480
mov edx, ebx
mov ebx, dword [esp + 0x1c]
cmp al, 8
je 0x1006b935
mov ecx, dword [esp + 0x1c]
call fcn.1002b480
mov ebx, dword [esp + 0x1c]
cmp al, 8
jne 0x1006c50d
mov edx, dword [ebx + 4]
mov eax, edx
sub eax, esi
jb 0x1006c3a3
mov ebx, dword [ebx]
mov edi, esi
shl eax, 4
mov dword [esp + 0xa4], edx
shl edi, 4
lea ecx, [ebx + edi]
lea edx, [ebx + edi + 0x10]
push eax
push ecx
push edx
call 0x10070c30
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [ebx + edi], 4
mov dword [ebx + edi + 4], 0
mov dword [ebx + edi + 8], 0
mov dword [ebx + edi + 0xc], eax
mov eax, dword [esp + 0xa4]
inc eax
mov dword [ecx + 4], eax
jmp 0x1006b9a2
mov esi, ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa4]
mov edx, dword [ecx + 8]
cmp eax, edx
cmovb edx, eax
cmp esi, edx
jae 0x1006c85f
mov edi, dword [ecx]
shl esi, 4
mov ebx, dword [edi + esi + 4]
inc ebx
je 0x1006c360
add edi, esi
cmp ebx, dword [edi + 8]
jbe 0x1006b9f2
mov ecx, ebx
call fcn.10034400
cmp eax, ebx
jbe 0x1006b9e1
mov ecx, edi
mov edx, eax
call fcn.1002aec0
cmp al, 8
je 0x1006b9f2
mov ecx, edi
mov edx, ebx
call fcn.1002aec0
cmp al, 8
jne 0x1006c468
movd xmm0, dword [esp + 0x1bc]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x1b8]
movdqa xmm1, xmmword [esp + 0x1d0]
cmp word [esp + 0x40], 0
mov esi, dword [esp + 0x16c]
pshufd xmm0, xmm0, 0x50
mov dword [eax + ecx*4], edx
lea eax, [ecx + 1]
paddd xmm1, xmm0
mov dword [edi + 4], eax
movdqa xmmword [esp + 0x1d0], xmm1
jne 0x1006b352
mov edx, 1
mov ecx, 1
push dword [esp + 0x168]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006b352
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1006b352
mov ecx, dword [esp + 0x15c]
movdqa xmm0, xmmword [esp + 0x180]
xor eax, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1b4], ecx
xor ebx, ebx
cmp al, 3
je 0x1006b44e
mov dword [esp + 0x48], ecx
movzx ecx, al
test ecx, ecx
jne 0x1006c311
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x9c]
or eax, 0x20000
jmp 0x1006bb62
or ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0xf0]
movdqa xmm0, xmmword [esp + 0x180]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x114], ebx
inc dword [esp + 0x128]
add eax, 0x14
jb 0x1006c8c8
mov edx, eax
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x118]
add eax, dword [esp + 0x11c]
jb 0x1006bbad
cmp edx, eax
jne 0x1006bbad
or ebx, 4
mov dword [esp + 0x114], ebx
jmp 0x1006bbad
movdqa xmm0, xmmword [esp + 0x180]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
jmp 0x1006bb62
movdqa xmm0, xmmword [esp + 0x180]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0xf0]
or ebx, eax
mov eax, dword [esp + 0x124]
or ebx, dword [esp + 0x114]
cmp eax, esi
mov dword [esp + 0x114], ebx
jne 0x1006c907
inc dword [esp + 0x128]
mov eax, esi
add eax, 0x14
jb 0x1006c8c8
test edx, edx
mov dword [esp + 0x124], eax
je 0x1006be80
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x14], ecx
movdqa xmmword [esp + 0x180], xmm0
test edx, edx
mov dword [esp + 0xd0], edx
je 0x1006bc3b
mov eax, dword [esp + 0x108]
xor edi, edi
mov ecx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
jmp 0x1006bbf8
mov dword [esp + 0x18], ecx
sub ecx, edi
jbe 0x1006bc3d
shr ecx, 1
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
xor ebx, ebx
add ecx, edi
mov esi, ecx
shl esi, 4
cmp dword [edx + esi + 0xc], eax
mov esi, 0xff
setne bl
cmovb ebx, esi
cmp bl, 1
je 0x1006bbf0
movzx esi, bl
cmp esi, 0xff
jne 0x1006bd11
inc ecx
mov edi, ecx
mov ecx, dword [esp + 0x18]
sub ecx, edi
ja 0x1006bbf8
jmp 0x1006bc3d
xor edi, edi
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x20]
mov bl, 7
inc ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x74], 4
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
jne 0x1006bc7a
lea ecx, [esp + 0x74]
call fcn.1002b580
jmp 0x1006bde3
cmp ecx, dword [esp + 0x110]
jbe 0x1006bcb6
mov esi, ecx
call fcn.10034400
mov edx, esi
cmp eax, esi
jbe 0x1006bca4
lea ecx, [esp + 0x108]
mov edx, eax
call fcn.1002b480
mov edx, esi
cmp al, 8
je 0x1006bcb6
lea ecx, [esp + 0x108]
call fcn.1002b480
mov ebx, eax
cmp al, 8
jne 0x1006bc6c
mov esi, dword [esp + 0x10c]
mov eax, esi
sub eax, edi
jb 0x1006c8a6
mov edx, dword [esp + 0x108]
mov ebx, edi
shl eax, 4
shl ebx, 4
lea ecx, [edx + ebx]
mov dword [esp + 0x20], edx
lea edx, [edx + ebx + 0x10]
push eax
push ecx
push edx
call 0x10070c30
add esp, 0xc
movq xmm0, qword [esp + 0x74]
movq xmm1, qword [esp + 0x7c]
mov eax, dword [esp + 0x20]
inc esi
movq qword [eax + ebx], xmm0
movq qword [eax + ebx + 8], xmm1
mov dword [esp + 0x10c], esi
jmp 0x1006bd1a
mov esi, dword [esp + 0xd0]
mov edi, ecx
mov edx, dword [esp + 0x110]
movdqa xmm0, xmmword [esp + 0x1c0]
cmp esi, edx
cmovb edx, esi
cmp edi, edx
jae 0x1006c889
mov esi, dword [esp + 0x100]
mov bl, 7
inc esi
je 0x1006bde3
cmp esi, dword [esp + 0x104]
jbe 0x1006bd93
mov ecx, esi
call fcn.10034400
cmp eax, esi
jbe 0x1006bd76
lea ecx, [esp + 0xfc]
mov edx, eax
call fcn.1002c120
movdqa xmm0, xmmword [esp + 0x1c0]
cmp al, 8
je 0x1006bd93
lea ecx, [esp + 0xfc]
mov edx, esi
call fcn.1002c120
movdqa xmm0, xmmword [esp + 0x1c0]
mov ebx, eax
cmp al, 8
jne 0x1006bde3
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xfc]
mov esi, dword [esp + 0x9c]
movdqa xmm1, xmm0
pshufd xmm0, xmm0, 0xf9
mov bl, 8
pshufd xmm3, xmm0, 0xee
pshufd xmm2, xmm0, 0x55
lea edx, [ecx + ecx*4]
inc ecx
movd dword [eax + edx*4], xmm1
movd dword [eax + edx*4 + 0xc], xmm3
movd dword [eax + edx*4 + 8], xmm2
movd dword [eax + edx*4 + 4], xmm0
mov dword [eax + edx*4 + 0x10], esi
mov dword [esp + 0x100], ecx
pshufd xmm0, xmmword [esp + 0x250], 0x55
sub esp, 4
mov ecx, 1
mov edx, 1
movd dword [esp], xmm0
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006be25
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xf4]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 1
mov ecx, 1
push dword [esp + 0x164]
call fcn.100092d0
add esp, 4
test eax, eax
lea esi, [esp + 0x50]
je 0x1006be60
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x168]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
cmp bl, 8
jne 0x1006c4ff
mov ebx, dword [esp + 0x114]
lea edx, [esp + 0x100]
pxor xmm0, xmm0
jmp 0x1006ae50
mov edx, eax
mov eax, dword [esp + 0x118]
add eax, dword [esp + 0x11c]
jae 0x1006bb1a
jmp 0x1006bbad
mov esi, dword [ecx + eax]
mov edi, esi
xor esi, 0x5c5c5c5c
not edi
add esi, 0xfefefeff
and esi, edi
test esi, 0x80808080
jne 0x1006bedd
mov esi, dword [ecx + eax + 4]
mov edi, esi
xor esi, 0x5c5c5c5c
not edi
add esi, 0xfefefeff
and esi, edi
test esi, 0x80808080
jne 0x1006bedd
add eax, 8
cmp eax, edx
jbe 0x1006be9b
cmp dword [esp + 0xc], eax
je 0x1006b29b
mov edx, dword [esp + 0x3c]
nop dword [eax + eax]
cmp byte [ecx + eax], 0x5c
je 0x1006bf02
inc eax
cmp dword [esp + 0xc], eax
jne 0x1006bef0
jmp 0x1006b29b
mov eax, 0xa
jmp 0x1006b294
movsd xmm1, qword [edx + 0x1c]
mov eax, dword [edx + 8]
movsd xmm2, qword [edx + 0x24]
mov edi, dword [esp + 0xfc]
mov ecx, dword [esp + 0x10c]
movq xmm0, qword [edx]
movq xmm3, qword [edx + 0x14]
mov esi, dword [esp + 0x110]
movsd qword [esp + 0x220], xmm1
movsd xmm1, qword [edx + 0x2c]
mov dword [esp + 0x178], eax
movsd qword [esp + 0x228], xmm2
movq xmm2, qword [edx + 0x34]
mov eax, dword [edx + 0x44]
test edi, edi
movq qword [esp + 0x170], xmm0
movq qword [esp + 0x218], xmm3
mov dword [esp + 0xc], ecx
movsd qword [esp + 0x230], xmm1
movq xmm1, qword [edx + 0x3c]
movq qword [esp + 0x238], xmm2
mov dword [esp + 0x248], eax
movq qword [esp + 0x240], xmm1
je 0x1006c6cb
movsd xmm0, qword [esp + 0x218]
mov eax, dword [esp + 0x178]
movq xmm1, qword [esp + 0x220]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edi
movsd qword [esp + 0x1e0], xmm0
movsd xmm0, qword [esp + 0x228]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x248]
movq qword [esp + 0x1e8], xmm1
movsd qword [esp + 0x1f0], xmm0
movsd xmm0, qword [esp + 0x230]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0xf4]
movsd qword [esp + 0x1f8], xmm0
movsd xmm0, qword [esp + 0x238]
movsd qword [esp + 0x200], xmm0
movsd xmm0, qword [esp + 0x240]
movsd qword [esp + 0x208], xmm0
movq xmm0, qword [esp + 0x170]
cmp dword [eax], 0
je 0x1006c1b4
mov ecx, 0x3e89468
mov edx, 6
movdqa xmmword [esp + 0xd0], xmm0
call fcn.1000af30
test eax, eax
mov esi, 1
mov ecx, 0x3e894a0
mov edx, 0x12
cmove eax, esi
mov dword [esp + 0x14], eax
call fcn.1000af30
movdqa xmm0, xmmword [esp + 0xd0]
test eax, eax
lea edi, [0x3e8942e]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x3e8942d]
xor ebx, ebx
mov dword [esp + 0xac], eax
xor eax, eax
nop word [eax + eax]
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1006c0d5
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x1006c870
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 0x1006c0f4
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x1006c0b0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x14]
xor edx, 0x60
pshufd xmm0, xmm0, 0x55
mov dword [eax], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], 0
sub esp, 4
mov ecx, 0x14
mov edx, 4
movd dword [esp], xmm0
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c152
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x20]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
cmp edi, ebx
cmovae edi, ebx
test edi, edi
je 0x1006c17d
mov esi, dword [esp + 0x20]
nop word [eax + eax]
mov ecx, esi
call fcn.1002b580
add esi, 0x10
dec edi
jne 0x1006c170
mov edx, 4
mov ecx, 0x10
push ebx
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c7c0
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x28]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1006c7c0
mov dword [eax], 0xffffffff
lea ecx, [0x3e8942d]
lea edx, [0x3e8942e]
mov eax, 0xfffffff9
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1006c1ee
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x1006c870
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1006c1fd
inc eax
test ecx, ecx
jne 0x1006c1d0
mov ebx, dword [esp + 0xac]
cmp dword [ebx], 0
je 0x1006c262
mov edi, dword [esp + 0xa8]
mov edx, 4
movdqa xmmword [esp + 0xd0], xmm0
mov ecx, 0x14
push dword [edi + 0x14]
call fcn.100092d0
add esp, 4
mov esi, dword [esp + 0xc]
test eax, eax
je 0x1006c24b
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [ebx]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea ecx, [edi + 0x18]
call fcn.1002ca80
mov eax, dword [edi + 8]
movdqa xmm0, xmmword [esp + 0xd0]
inc eax
jmp 0x1006c26f
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0xa8]
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp eax, 0x7fffffff
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x20]
movq qword [edi + 0x10], xmm0
mov dword [edi + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], ecx
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
movsd qword [edi + 0x24], xmm0
movsd qword [edi + 0x2c], xmm1
movsd xmm0, qword [esp + 0x1f0]
movsd qword [edi + 0x34], xmm0
movsd xmm0, qword [esp + 0x1f8]
movsd qword [edi + 0x3c], xmm0
movsd xmm0, qword [esp + 0x200]
movsd qword [edi + 0x44], xmm0
movsd xmm0, qword [esp + 0x208]
movsd qword [edi + 0x4c], xmm0
mov ecx, dword [esp + 0x210]
mov dword [edi + 0x54], ecx
mov dword [edi + 8], eax
jae 0x1006c8e1
mov ecx, dword [esp + 0xf4]
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x98]
mov dword [eax + 4], ebx
jmp 0x1006acfa
xor esi, esi
cmp al, 1
je 0x1006c456
mov eax, dword [esp + 0x1b4]
mov esi, dword [esp + 0x14]
cmp ecx, 2
je 0x1006c3b2
mov dword [esp + 0x50], 0x3e88e34
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], 0x3e8a968
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x50]
jmp 0x1006c96b
mov edi, dword [esp + 0x40]
mov al, 7
jmp 0x1006c547
mov edi, dword [esp + 0x40]
mov bl, 7
jmp 0x1006c4f2
movq xmm0, qword [esp + 0x78]
mov edi, dword [esp + 0x80]
mov dword [esp + 0xb0], eax
movq qword [esp + 0xb4], xmm0
jmp 0x1006c841
mov edi, dword [esp + 0x40]
mov bl, 7
jmp 0x1006c50f
mov bl, 8
jmp 0x1006c50f
movq xmm0, qword [esp + 0x58]
mov esi, ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
movq qword [esp + 0x80], xmm0
jmp 0x1006c456
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0xf8]
lea edx, [esp + 0x50]
lea ecx, [esp + 0x78]
movq qword [esp + 0x5c], xmm0
mov byte [esp + 0x50], 2
mov word [esp + 0x52], ax
call fcn.10063080
jmp 0x1006c452
movzx edx, word [esp + 0x15a]
movq xmm0, qword [esp + 0x152]
movq xmm1, qword [esp + 0x14a]
movzx ecx, byte [esp + 0x149]
mov word [esp + 0x62], dx
movq qword [esp + 0x5a], xmm0
movq qword [esp + 0x52], xmm1
mov byte [esp + 0x50], al
mov byte [esp + 0x51], cl
lea edx, [esp + 0x50]
lea ecx, [esp + 0x78]
call fcn.10063080
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
call fcn.1002ca00
mov esi, dword [esp + 0x78]
movq xmm0, qword [esp + 0x7c]
mov edi, dword [esp + 0x84]
jmp 0x1006c58c
mov edi, dword [esp + 0x40]
jmp 0x1006c547
movq xmm1, qword [esp + 0x7c]
movq xmm0, qword [esp + 0x76]
mov edi, dword [esp + 0xc]
cmp ecx, 1
movq qword [esp + 0x14e], xmm1
movq qword [esp + 0x148], xmm0
je 0x1006c7c8
cmp ecx, 2
jne 0x1006c939
mov eax, dword [esp + 0x152]
movq xmm0, qword [esp + 0x14a]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xb8], eax
movq qword [esp + 0xb0], xmm0
jmp 0x1006c7da
mov dword [esp + 0xb0], 0
mov byte [esp + 0xb4], al
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0xc]
jmp 0x1006c7dc
mov ebx, eax
lea ecx, [esp + 0x74]
call fcn.1002b580
mov eax, ebx
jmp 0x1006c547
movzx eax, bl
xor esi, esi
movd xmm0, eax
jmp 0x1006c611
mov ebx, eax
mov edx, 4
mov ecx, 4
push 0
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c53c
mov ecx, dword [0x3e8b000]
push edx
push eax
push 4
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, ebx
cmp bl, 8
je 0x1006c920
test di, di
movzx esi, al
jne 0x1006c586
mov edx, 1
mov ecx, 1
push dword [esp + 0x168]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c586
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x174]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
movd xmm0, esi
xor esi, esi
movdqa xmmword [esp + 0x20], xmm0
pshufd xmm0, xmmword [esp + 0x250], 0x55
sub esp, 4
mov ecx, 1
mov edx, 1
movd dword [esp], xmm0
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c5d4
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xf4]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 1
mov ecx, 1
push dword [esp + 0x164]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c60b
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x168]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
movdqa xmm0, xmmword [esp + 0x20]
mov edx, 4
mov dword [esp + 0x170], esi
mov dword [esp + 0xc], edi
movq qword [esp + 0x174], xmm0
mov ecx, 0x14
push dword [esp + 0x104]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c65c
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x104]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
cmp edi, ebx
mov dword [esp + 0x20], eax
cmovae edi, ebx
test edi, edi
je 0x1006c69d
mov esi, dword [esp + 0x20]
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, esi
call fcn.1002b580
add esi, 0x10
dec edi
jne 0x1006c690
mov edx, 4
mov ecx, 0x10
push ebx
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c6cb
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x28]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x170]
lea esi, [0x3e8942d]
lea ebx, [0x3e8942e]
mov ecx, 0xfffffff9
xor edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
xor eax, eax
nop word cs:[eax + eax]
movzx edx, byte [esi]
mov esi, ebx
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x1006c725
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x1006c870
add dl, 0xa9
mov dh, dl
mov ebx, eax
movzx edx, dh
shl ebx, 4
or edx, ebx
lea ebx, [esi + 1]
test ecx, ecx
cmove ebx, esi
je 0x1006c744
shld edi, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x1006c700
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
xor edx, 0x5b
xor ebx, ebx
mov esi, 0x3e88edf
test eax, eax
cmove ecx, edx
sete bl
mov edx, 0xa
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc]
cmove ecx, eax
mov eax, 0x3e88ed5
mov dword [esp + 0xc], ecx
mov ecx, 0x3e88ee8
cmove esi, eax
add ebx, 9
call fcn.1000af30
mov edi, eax
test eax, eax
mov eax, 1
mov ecx, esi
mov edx, ebx
cmove edi, eax
call fcn.1000af30
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
test eax, eax
mov ecx, 1
cmove eax, ecx
mov dword [ebx], edi
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp + 0xb4], al
mov dword [esp + 0xb0], 0
xor eax, eax
mov edx, 1
mov ecx, 1
push eax
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c80a
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0x38]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 1
mov ecx, 1
push dword [esp + 0xc8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1006c841
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xc8]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov esi, dword [esp + 0xb0]
movq xmm0, qword [esp + 0xb4]
jmp 0x1006c611
mov ecx, esi
push 0x3e890fc
jmp 0x1006c866
mov ecx, esi
push 0x3e890dc
call fcn.10006410
add esp, 4
ud2
mov ecx, 0x3e8a5f4
mov edx, 0xe
push 0x3e82e44
call fcn.10006dd0
add esp, 4
ud2
mov ecx, edi
jmp 0x1006c858
mov ecx, 0x3e8ab8c
mov edx, 0x2b
push 0x3e89480
call fcn.10006dd0
add esp, 4
ud2
lea ecx, [esp + 0x74]
call fcn.1002b580
mov ecx, 0x3e8ab8c
mov edx, 0x2b
push 0x3e8910c
call fcn.10006dd0
add esp, 4
ud2
mov ecx, 0x3e8ab8c
mov edx, 0x2b
push 0x3e8907c
call fcn.10006dd0
add esp, 4
ud2
mov ecx, 0x3e8926c
mov edx, 0x18
push 0x3e89490
push 0x3e894e4
lea eax, [esp + 0x104]
push eax
call fcn.10007620
add esp, 0xc
ud2
mov ecx, 0x3e8908c
mov edx, 0x3e
push 0x3e890cc
call fcn.10006dd0
add esp, 4
ud2
mov ecx, 0x3e8ab8c
mov edx, 0x2b
push 0x3e890ec
call fcn.10006dd0
add esp, 4
ud2
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], 0x3e88e34
mov dword [esp + 0x78], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x7c], 0x3e8a968
mov dword [esp + 0x80], 0
mov edx, 0x3e88e48
call fcn.100063a0
ud2