Function at 0x10045cb0
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, 0x11d0
call 0x10070ab3
mov eax, dword [edx]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x168], 6
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x148], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x180], eax
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov esi, dword [ebx]
movzx eax, word [esi + 0x120]
cmp eax, 0x8664
jne 0x100553c0
movzx eax, word [esi + 0x106]
and eax, 0xfffffffe
cmp ax, 2
jne 0x10045e77
mov edi, dword [esi + 0xd8]
xor eax, eax
sub edi, 1
cmovb edi, eax
movzx eax, word [esi + 0x122]
and eax, 0xfffffffe
cmp ax, 2
jne 0x10045d88
mov edx, dword [esi + 0x12c]
cmp edx, 2
jb 0x10047758
mov ebx, dword [esi + 0x128]
cmp byte [ebx + 0x2f], 0
jne 0x10045d88
cmp byte [ebx + 0x2e], 0
jne 0x10045d88
cmp byte [ebx + 0x2d], 0
jne 0x10045d88
cmp byte [ebx + 0x2c], 0
je 0x100464ff
mov ecx, dword [esi + 0x12c]
test ecx, ecx
je 0x10045e74
mov eax, dword [esi + 0x128]
mov ebx, dword [ebp + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add eax, 8
jmp 0x10045dbc
add eax, 0x28
add ecx, 0xffffffd8
je 0x10045e77
mov edx, dword [eax + 0x18]
not edx
test edx, 0xa0000000
jne 0x10045db0
mov edx, dword [esi + 0xcc]
sub edx, dword [eax + 4]
jb 0x10045db0
cmp edx, dword [eax]
jae 0x10045db0
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e8848c
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10045e60
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov esi, dword [ebx]
movzx eax, word [esi + 0x122]
add eax, 0xfffffffe
cmp ax, 2
jbe 0x10045e87
jmp 0x10045eb2
mov ebx, dword [ebp + 8]
movzx eax, word [esi + 0x122]
add eax, 0xfffffffe
cmp ax, 2
ja 0x10045eb2
movzx eax, word [esi + 0x106]
and eax, 0xfffffffe
cmp ax, 2
jne 0x10045eb2
movzx eax, word [esi + 0x126]
cmp eax, 0x2022
jne 0x10045eb2
cmp dword [esi + 0xcc], 0
je 0x10046262
mov eax, dword [ebx]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10045eee
cmp dword [eax + 0x18], 0
je 0x10045eee
cmp dword [eax + 0x12c], 3
jb 0x10045eee
mov edx, dword [eax + 0x128]
cmp byte [edx + 0x2f], 0
jne 0x10045eee
cmp byte [edx + 0x2e], 0
jne 0x10045eee
cmp byte [edx + 0x2d], 0
je 0x10046344
mov eax, dword [ebx]
cmp dword [eax + 0x18], 0
je 0x10047185
mov edx, ebx
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor edi, edi
lea edx, [0x3e87f0d]
lea esi, [0x3e87f0e]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10045f55
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10045f74
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10045f30
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10045feb
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0x50
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x78]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x10046009
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x1004601c
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1a4]
mov ebx, dword [ebp + 8]
lea esi, [esp + 0x1a0]
mov dword [esp + 0x20], ecx
jmp 0x10046080
movdqa xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x20]
lea esi, [esp + 0x1a0]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10046077
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov edx, 0x3e88061
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
push esi
push 7
call fcn.100582c0
add esp, 8
jmp 0x10047185
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
lea ecx, [esp + 0x18c]
mov dword [esp + 0xf0], 4
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x11a0], 0
mov dword [esp + 0x18c], esi
mov dword [esp + 0xf4], ecx
xor ecx, ecx
mov edi, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
lea eax, [edi + edi*8]
add edi, edx
lea eax, [eax + eax*2]
add edi, eax
nop word cs:[eax + eax]
nop dword [eax]
add edx, 0x1c
lea eax, [edx - 0x1c]
cmp eax, edi
je 0x1004659f
mov eax, dword [eax + 0x10]
test eax, eax
je 0x100460e0
mov esi, dword [edx - 8]
cmp esi, 3
jbe 0x100460e0
movzx ebx, byte [eax]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x90], esi
xor esi, esi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xd0], edx
mov ecx, ebx
add cl, 0x81
cmp cl, 0xa1
mov ecx, 0
jb 0x10046158
mov cl, 2
cmp bl, 0x5f
je 0x10046158
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
mov cl, 3
jb 0x10046158
mov ecx, ebx
add cl, 0xbf
cmp cl, 0x1a
mov cl, 4
jb 0x10046158
add bl, 0x9f
cmp bl, 0x1a
setb cl
shl cl, 2
or cl, 1
mov edx, dword [esp + 0x90]
inc eax
lea edi, [edx - 1]
jmp 0x10046181
xor ebx, ebx
xor ecx, ecx
cmp dl, bl
setne cl
inc eax
add esi, ecx
dec edi
mov ecx, ebx
je 0x100461c0
mov edx, ecx
movzx ecx, byte [eax]
mov ch, cl
add ch, 0x81
cmp ch, 0xa1
jb 0x10046170
mov bl, 2
cmp cl, 0x5f
je 0x10046172
mov ch, cl
mov bl, 3
add ch, 0xd0
cmp ch, 0xa
jb 0x10046172
mov ch, cl
mov bl, 4
add ch, 0xbf
cmp ch, 0x1a
jb 0x10046172
add cl, 0x9f
cmp cl, 0x1a
setb bl
shl bl, 2
or bl, 1
jmp 0x10046172
push 0
push dword [esp + 0x94]
push esi
push 0
call 0x10070e3c
add esp, 0x10
test edx, edx
jne 0x10047c16
mov esi, eax
mov eax, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0xb0]
mov ecx, eax
inc ecx
je 0x1004646f
cmp ecx, dword [esp + 0xfc]
jbe 0x1004623d
mov dword [esp + 0x60], ecx
call fcn.10034400
mov edx, dword [esp + 0x60]
test eax, eax
je 0x10046229
cmp eax, edx
jbe 0x10046229
lea ecx, [esp + 0xf0]
mov edx, eax
call fcn.1002bc40
mov edx, dword [esp + 0x60]
cmp al, 8
je 0x1004623d
lea ecx, [esp + 0xf0]
call fcn.1002bc40
cmp al, 8
jne 0x10046598
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xd0]
mov dword [eax + ecx*4], esi
inc ecx
mov dword [esp + 0xf8], ecx
jmp 0x100460e0
cmp dword [esi + 0x18], 0
je 0x10045eb2
mov eax, dword [esi + 0x20]
or eax, dword [esi + 0x24]
jne 0x10045eb2
lea ecx, [esi + 8]
call fcn.10070210
mov ebx, edx
mov edx, dword [esi + 0x12c]
cmp edx, 2
jb 0x10047ac5
mov ecx, dword [esi + 0x128]
mov esi, dword [ebp + 0xc]
add eax, dword [ecx + 0x30]
mov edx, dword [esi]
lea ecx, [esp + 0x1a0]
mov edi, eax
adc ebx, 0
mov dword [esp + 0x60], eax
add edi, 0xfffffff8
mov dword [esp + 0x20], ebx
adc ebx, 0xffffffff
push 0
push ebx
push edi
push dword [esi + 8]
push dword [esi + 4]
mov esi, ecx
call fcn.100378e0
add esp, 0x14
mov ecx, 0x3e8846c
mov edx, 0x23
call fcn.10009b40
mov ecx, esp
mov edx, esi
push eax
call fcn.1002f3e0
add esp, 4
movq xmm0, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm0
test edx, edx
je 0x1004647d
mov ebx, dword [ebp + 8]
movd edx, xmm0
test edx, edx
je 0x10045eb2
movq qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1ac], eax
mov edx, 0x3e88058
mov ecx, dword [ecx + 0x10]
push esi
push 3
call fcn.100582c0
add esp, 8
jmp 0x10045eb2
cmp byte [edx + 0x2c], 0
je 0x10045eee
movzx eax, byte [edx + 0x2c]
mov ecx, 0x7865742e
xor ecx, dword [edx + 0x28]
xor eax, 0x74
or eax, ecx
jne 0x10045eee
mov dword [esp + 0x60], edx
mov edx, ebx
mov ecx, esp
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor esi, esi
lea ebx, [0x3e85215]
lea edx, [0x3e85216]
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 0x100463b8
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100463d9
shld dword [esp + 0x20], esi, 4
inc eax
test ebx, ebx
mov esi, edi
jne 0x10046393
mov eax, dword [esp]
test eax, eax
je 0x100475e6
mov ecx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
xor edi, 0x23
mov dword [esp + 0x1a0], eax
lea edx, [esp + 0x1a0]
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], ecx
lea ecx, [esp + 0x40]
push edi
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10047655
mov ecx, dword [esp + 0x4c]
movq xmm0, qword [esp + 0x44]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], ecx
mov edx, 0x3e8805b
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 6
call fcn.100582c0
add esp, 8
jmp 0x10045eee
mov ecx, eax
mov dword [esp + 0x14c], eax
jmp 0x100465af
mov edi, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
or ecx, eax
je 0x10045eb2
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x60]
mov ebx, edi
lea ecx, [esp + 0x1a0]
mov edx, dword [esi]
add eax, 8
adc ebx, 0
push 0
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.100378e0
add esp, 0x14
mov ecx, 0x3e8846c
mov edx, 0x26
call fcn.10009b40
mov ecx, esp
lea edx, [esp + 0x1a0]
push eax
call fcn.1002f3e0
add esp, 4
movq xmm0, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm0
test edx, edx
je 0x10047507
mov ebx, dword [ebp + 8]
lea esi, [esp + 0x1a0]
jmp 0x10046305
cmp byte [ebx + 0x2b], 0
je 0x10045d88
cmp dword [ebx + 0x28], 0x30585055
jne 0x10045d88
test dword [ebx + 0x30], edi
jne 0x10045d88
cmp dword [ebx + 0x38], 0
jne 0x10045d88
cmp dword [ebx + 0x48], 0xe0000080
jne 0x10045d88
cmp edx, 3
jb 0x10047cdc
lea ecx, [ebx + 0x50]
call 0x10070a50
cmp edx, 4
jne 0x10045d88
cmp dword [eax], 0x31585055
jne 0x10045d88
test dword [ebx + 0x58], edi
jne 0x10045d88
cmp dword [ebx + 0x60], 0
je 0x10045d88
cmp dword [ebx + 0x70], 0xe0000040
jne 0x10045d88
mov ebx, dword [ebp + 8]
movzx eax, word [esi + 0x122]
add eax, 0xfffffffe
cmp ax, 2
jbe 0x10045e87
jmp 0x10045eb2
mov ecx, dword [esp + 0xf8]
cmp ecx, 2
mov dword [esp + 0x14c], ecx
jb 0x10047173
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x60], ecx
mov eax, 0x20
cmp ecx, edx
cmovb edx, ecx
mov ecx, 0x20
test edx, edx
je 0x100465da
bsr ecx, edx
xor ecx, 0x1f
sub eax, ecx
mov ecx, edi
mov esi, esp
push eax
push 0
push esi
call fcn.10063d20
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x190], eax
mov eax, ecx
and eax, 0xfffffffe
cmp ecx, 4
mov eax, dword [edi + eax*2]
mov dword [esp + 0x194], eax
mov eax, dword [edi + ecx*4 - 4]
mov dword [esp + 0x198], eax
jae 0x10046620
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x10046681
mov eax, ecx
lea ecx, [edi + 8]
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm0, xmm0
and eax, 0xfffffffc
mov edx, eax
nop word cs:[eax + eax]
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 0x10046640
paddq xmm0, xmm2
cmp dword [esp + 0x60], eax
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
movd edx, xmm0
je 0x1004669b
mov esi, dword [esp + 0x60]
sub esi, eax
lea eax, [edi + eax*4]
nop word [eax + eax]
add ecx, dword [eax]
adc edx, 0
add eax, 4
dec esi
jne 0x10046690
push 0
push dword [esp + 0x64]
push edx
push ecx
call 0x10070e3c
add esp, 0x10
test edx, edx
jne 0x10047c3b
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x14c]
mov dword [esp], 0x3e8aa34
lea edi, [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov edx, 0x3e88274
mov dword [esp + 0x124], eax
lea eax, [esp + 0xe4]
mov ecx, edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x120], 0x3e72df0
mov dword [esp + 8], eax
mov eax, esp
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x100468aa
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x10]
cmp byte [esi + 0x28], 2
jb 0x100468aa
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
cmp byte [esi + 0x2a], 0
je 0x10046782
mov ebx, esp
mov byte [esi + 0x2a], 0
jmp 0x100467d7
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x40]
mov ebx, esp
mov dword [esp], 0x3e87948
mov dword [esp + 4], 1
mov dword [esp + 8], 0x3e8a968
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0
mov edx, 0x3e87870
push ebx
mov dword [esp + 0x64], eax
call fcn.10006f80
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x64]
add esp, 4
mov dword [esp], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x78], 0x3e8795c
mov dword [esp + 0x7c], 3
mov dword [esp + 4], ecx
mov dword [esp + 0x40], 0x3e87f15
mov dword [esp + 0x44], 0xa
mov ecx, 0x7fffffff
mov edx, 0xffffffdf
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0x3e19440
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x128], esi
mov dword [esp + 0x48], 0
mov dword [esp + 8], 0
mov dword [esp + 0xac], 0x3e19440
mov dword [esp + 0x80], eax
mov eax, 0xefffffff
mov dword [esp + 0x84], 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x128]
mov edx, 0x3e87870
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov byte [esp + 0x58], 0
mov byte [esp + 0x18], 0
push eax
call fcn.10006f80
add esp, 4
mov ebx, dword [ebp + 8]
mov edx, 1
mov ecx, 1
push dword [esp + 0xec]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x100468e1
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xec]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea eax, [esp + 0x190]
mov dword [esp], 0x3e8aa34
lea edi, [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov edx, 0x3e88274
mov dword [esp + 0x124], eax
lea eax, [esp + 0xe4]
mov ecx, edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x120], 0x3e72df0
mov dword [esp + 8], eax
mov eax, esp
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x10046ad1
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x10]
cmp byte [esi + 0x28], 2
jb 0x10046ad1
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
cmp byte [esi + 0x2a], 0
je 0x100469a9
mov ebx, esp
mov byte [esi + 0x2a], 0
jmp 0x100469fe
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x40]
mov ebx, esp
mov dword [esp], 0x3e87948
mov dword [esp + 4], 1
mov dword [esp + 8], 0x3e8a968
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0
mov edx, 0x3e87870
push ebx
mov dword [esp + 0x64], eax
call fcn.10006f80
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x64]
add esp, 4
mov dword [esp], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x78], 0x3e8795c
mov dword [esp + 0x7c], 3
mov dword [esp + 4], ecx
mov dword [esp + 0x40], 0x3e87f1f
mov dword [esp + 0x44], 8
mov ecx, 0x7fffffff
mov edx, 0xffffffdf
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0x3e19440
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x128], esi
mov dword [esp + 0x48], 0
mov dword [esp + 8], 0
mov dword [esp + 0xac], 0x3e19440
mov dword [esp + 0x80], eax
mov eax, 0xefffffff
mov dword [esp + 0x84], 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x128]
mov edx, 0x3e87870
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov byte [esp + 0x58], 0
mov byte [esp + 0x18], 0
push eax
call fcn.10006f80
add esp, 4
mov ebx, dword [ebp + 8]
mov edx, 1
mov ecx, 1
push dword [esp + 0xec]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10046b08
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xec]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea eax, [esp + 0x194]
mov dword [esp], 0x3e8aa34
lea edi, [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov edx, 0x3e88274
mov dword [esp + 0x124], eax
lea eax, [esp + 0xe4]
mov ecx, edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x120], 0x3e72df0
mov dword [esp + 8], eax
mov eax, esp
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x10046cf8
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x10]
cmp byte [esi + 0x28], 2
jb 0x10046cf8
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
cmp byte [esi + 0x2a], 0
je 0x10046bd0
mov ebx, esp
mov byte [esi + 0x2a], 0
jmp 0x10046c25
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x40]
mov ebx, esp
mov dword [esp], 0x3e87948
mov dword [esp + 4], 1
mov dword [esp + 8], 0x3e8a968
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0
mov edx, 0x3e87870
push ebx
mov dword [esp + 0x64], eax
call fcn.10006f80
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x64]
add esp, 4
mov dword [esp], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x78], 0x3e8795c
mov dword [esp + 0x7c], 3
mov dword [esp + 4], ecx
mov dword [esp + 0x40], 0x3e87f27
mov dword [esp + 0x44], 0xb
mov ecx, 0x7fffffff
mov edx, 0xffffffdf
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0x3e19440
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x128], esi
mov dword [esp + 0x48], 0
mov dword [esp + 8], 0
mov dword [esp + 0xac], 0x3e19440
mov dword [esp + 0x80], eax
mov eax, 0xefffffff
mov dword [esp + 0x84], 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x128]
mov edx, 0x3e87870
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov byte [esp + 0x58], 0
mov byte [esp + 0x18], 0
push eax
call fcn.10006f80
add esp, 4
mov ebx, dword [ebp + 8]
mov edx, 1
mov ecx, 1
push dword [esp + 0xec]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10046d2f
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xec]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea eax, [esp + 0x19c]
mov dword [esp], 0x3e8aa34
lea edi, [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov edx, 0x3e88274
mov dword [esp + 0x124], eax
lea eax, [esp + 0xe4]
mov ecx, edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x120], 0x3e72df0
mov dword [esp + 8], eax
mov eax, esp
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x10046f1f
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x10]
cmp byte [esi + 0x28], 2
jb 0x10046f1f
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
cmp byte [esi + 0x2a], 0
je 0x10046df7
mov ebx, esp
mov byte [esi + 0x2a], 0
jmp 0x10046e4c
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x40]
mov ebx, esp
mov dword [esp], 0x3e87948
mov dword [esp + 4], 1
mov dword [esp + 8], 0x3e8a968
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0
mov edx, 0x3e87870
push ebx
mov dword [esp + 0x64], eax
call fcn.10006f80
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x64]
add esp, 4
mov dword [esp], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x78], 0x3e8795c
mov dword [esp + 0x7c], 3
mov dword [esp + 4], ecx
mov dword [esp + 0x40], 0x3e87f32
mov dword [esp + 0x44], 0xc
mov ecx, 0x7fffffff
mov edx, 0xffffffdf
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0x3e19440
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x128], esi
mov dword [esp + 0x48], 0
mov dword [esp + 8], 0
mov dword [esp + 0xac], 0x3e19440
mov dword [esp + 0x80], eax
mov eax, 0xefffffff
mov dword [esp + 0x84], 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x128]
mov edx, 0x3e87870
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov byte [esp + 0x58], 0
mov byte [esp + 0x18], 0
push eax
call fcn.10006f80
add esp, 4
mov ebx, dword [ebp + 8]
mov edx, 1
mov ecx, 1
push dword [esp + 0xec]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10046f56
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xec]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea eax, [esp + 0x198]
mov dword [esp], 0x3e8aa34
lea edi, [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov edx, 0x3e88274
mov dword [esp + 0x124], eax
lea eax, [esp + 0xe4]
mov ecx, edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x120], 0x3e72df0
mov dword [esp + 8], eax
mov eax, esp
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
push eax
call fcn.10006f80
add esp, 4
test al, al
jne 0x1004713c
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x10]
cmp byte [esi + 0x28], 2
jb 0x1004713c
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe8]
cmp byte [esi + 0x2a], 0
je 0x1004701e
mov eax, esp
mov byte [esi + 0x2a], 0
jmp 0x10047069
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x40]
mov eax, esp
mov dword [esp], 0x3e87948
mov dword [esp + 4], 1
mov dword [esp + 8], 0x3e8a968
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0
mov edx, 0x3e87870
push eax
call fcn.10006f80
mov ecx, dword [esp + 0x64]
lea eax, [esp + 4]
add esp, 4
mov dword [esp], ecx
mov ecx, 0x7fffffff
mov dword [esp + 4], ebx
mov dword [esp + 0x40], 0x3e87f3e
mov dword [esp + 0x44], 8
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0x3e19440
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x78], 0x3e8795c
mov dword [esp + 0x7c], 3
mov dword [esp + 0x128], esi
mov dword [esp + 0x48], 0
mov dword [esp + 8], 0
mov dword [esp + 0xac], 0x3e19440
mov edx, 0x3e87870
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], ecx
mov ecx, 0xefffffff
mov dword [esp + 0x80], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x84], 2
mov dword [esp + 0x88], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x10], ecx
mov ecx, 0xffffffdf
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x58], 0
mov byte [esp + 0x18], 0
lea ecx, [esp + 0x128]
push eax
call fcn.10006f80
add esp, 4
mov ebx, dword [ebp + 8]
mov edx, 1
mov ecx, 1
push dword [esp + 0xec]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10047173
mov ecx, dword [0x3e8b000]
push edx
push eax
push dword [esp + 0xec]
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea ecx, [esp + 0xf0]
call fcn.1002caf0
mov eax, dword [esp + 0x20]
dec dword [eax]
mov edx, ebx
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
call fcn.1006ab90
add esp, 4
xor edi, edi
lea esi, [0x3e8a597]
lea edx, [0x3e8a598]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100471d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100471f6
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x100471b0
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004726a
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0xd
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x78]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10047293
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x100472a6
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
jne 0x10047322
jmp 0x10047de0
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov 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 0x10047307
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1a0], edx
mov edx, 0x3e88068
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0x1a0]
push eax
push 6
call fcn.100582c0
add esp, 8
jmp 0x10047dec
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
je 0x10047de0
mov ebx, dword [esp + 0x90]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, ebx
mov dword [esp + 0x20], eax
jmp 0x1004734a
mov ebx, esi
sub esi, ecx
jbe 0x10047de0
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 0x10047340
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004738a
inc esi
mov ecx, esi
mov esi, ebx
sub esi, ecx
ja 0x1004734a
jmp 0x10047de0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10047de0
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x100473ba
mov ecx, edx
sub edx, ebx
jbe 0x10047de0
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 0x100473b0
movzx eax, al
cmp eax, 0xff
jne 0x100473f4
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x100473ba
jmp 0x10047de0
mov ecx, dword [esp + 0x90]
xor ebx, ebx
mov esi, ecx
jmp 0x1004740b
mov ecx, esi
sub esi, ebx
jbe 0x10047de0
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 0x10047401
movzx edx, dl
cmp edx, 0xff
jne 0x1004744b
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x1004740b
jmp 0x10047de0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10047de0
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10047472
mov ecx, edx
sub edx, ebx
jbe 0x10047de0
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 0x10047468
movzx eax, al
cmp eax, 0xff
jne 0x100474ac
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10047472
jmp 0x10047de0
mov ecx, dword [esp + 0x90]
xor ebx, ebx
mov esi, ecx
jmp 0x100474c3
mov ecx, esi
sub esi, ebx
jbe 0x10047de0
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 0x100474b9
movzx edx, dl
cmp edx, 0xff
jne 0x100475f0
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x100474c3
jmp 0x10047de0
mov ebx, dword [ebp + 8]
or ecx, eax
lea esi, [esp + 0x1a0]
je 0x10045eb2
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 0
push edi
push dword [esp + 0x68]
push dword [eax + 8]
push dword [eax + 4]
call fcn.100378e0
add esp, 0x14
mov ecx, 0x3e8846c
mov edx, 0x29
call fcn.10009b40
mov ecx, esp
lea edx, [esp + 0x1a0]
push eax
call fcn.1002f3e0
add esp, 4
movq xmm0, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm0
test edx, edx
jne 0x10046305
or ecx, eax
jne 0x10045eb2
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e88488
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x10045eb2
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x1004765d
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10047de0
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10047617
mov ecx, edx
sub edx, ebx
jbe 0x10047de0
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 0x1004760d
movzx eax, al
cmp eax, 0xff
jne 0x100476fd
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10047617
jmp 0x10047de0
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
cmp dword [esi + 0x18], 0xa
mov dword [esp + 0x20], eax
ja 0x1004766d
cmp dword [esi + 0x14], 0
je 0x1004767b
mov eax, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
dec dword [eax]
jmp 0x10045eee
mov ecx, 0x3e85236
mov edx, 0x11
call 0x10070750
mov edi, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
lea ecx, [edi + edi*8]
mov dword [esp + 0x90], edx
lea ebx, [ecx + ecx*2]
mov ecx, ebx
lea ecx, [ebx + edi]
mov dword [esp + 0xb0], ebx
test ecx, ecx
je 0x1004766d
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x100476a9
cmp dword [ebx + 4], eax
jne 0x100476a9
mov ecx, 0x3e85247
mov edx, 0x13
call 0x10070750
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x90]
add ecx, edi
test ecx, ecx
je 0x1004776c
mov ebx, edx
add ecx, 0xffffffe4
add edx, 0x1c
cmp dword [ebx], 0
je 0x100476de
cmp dword [ebx + 4], eax
jne 0x100476de
jmp 0x1004766d
mov ecx, dword [esp + 0x90]
xor ebx, ebx
mov esi, ecx
jmp 0x10047714
mov ecx, esi
sub esi, ebx
jbe 0x10047de0
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 0x1004770a
movzx edx, dl
cmp edx, 0xff
jne 0x10047a0d
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x10047714
jmp 0x10047de0
mov ecx, 1
push 0x3e88e08
call fcn.10006410
add esp, 4
ud2
mov ecx, esi
call fcn.10063d00
test eax, eax
je 0x1004766d
cmp dword [eax + 0xc], 0
jne 0x1004766d
cmp edi, 1
je 0x100479a3
test edi, edi
je 0x1005829d
mov eax, dword [ebp + 8]
add dword [esp + 0x90], 0x28
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x100], 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 + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [eax]
mov eax, edx
sub eax, dword [ecx + 0x34]
jb 0x1004766d
mov ecx, dword [esp + 0x60]
cmp eax, dword [ecx + 0x30]
jae 0x1004766d
add edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x100]
lea esi, [esp + 0x1a0]
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.10058ba0
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov edi, esp
mov ecx, edi
push esi
call fcn.10068800
add esp, 4
mov ecx, 0x3e85214
mov edx, 0x3e
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x10047b3a
movdqu xmm0, xmmword [esp + 0x48]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004766d
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 + 0x1ac]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
movd dword [esp], xmm1
mov ecx, esi
call fcn.10058ba0
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov edi, esp
mov ecx, edi
push esi
call fcn.10068a20
add esp, 4
mov ecx, 0x3e85214
mov edx, 0x43
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x10047b3a
movdqu xmm0, xmmword [esp + 0x48]
pshufd xmm1, xmm0, 0x55
movd eax, xmm0
movd ecx, xmm1
or ecx, eax
jne 0x1004766d
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 + 0x1ac]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
movd dword [esp], xmm1
mov ecx, esi
call fcn.10058ba0
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov edi, esp
mov ecx, edi
push esi
call fcn.100685e0
add esp, 4
mov ecx, 0x3e85214
mov edx, 0x48
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x10047b3a
movdqu xmm0, xmmword [esp + 0x48]
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
or eax, dword [esp + 0x48]
jne 0x1004766d
add dword [esp + 0x90], 0x1c
add dword [esp + 0xb0], 0xffffffe4
jne 0x100477c9
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e8526c
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x1004766d
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10047de0
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10047a34
mov ecx, edx
sub edx, ebx
jbe 0x10047de0
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 0x10047a2a
movzx eax, al
cmp eax, 0xff
jne 0x10047a6e
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10047a34
jmp 0x10047de0
mov ecx, dword [esp + 0x90]
xor ebx, ebx
mov esi, ecx
jmp 0x10047a85
mov ecx, esi
sub esi, ebx
jbe 0x10047de0
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 0x10047a7b
movzx edx, dl
cmp edx, 0xff
jne 0x10047ad9
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x10047a85
jmp 0x10047de0
mov ecx, 1
push 0x3e88478
call fcn.10006410
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10047de0
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10047b00
mov ecx, edx
sub edx, ebx
jbe 0x10047de0
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 0x10047af6
movzx eax, al
cmp eax, 0xff
jne 0x10047b5e
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10047b00
jmp 0x10047de0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
movq xmm0, qword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov ebx, dword [ebp + 8]
dec dword [edx]
test eax, eax
jne 0x10046435
jmp 0x10045eee
mov ecx, dword [esp + 0x90]
xor ebx, ebx
mov esi, ecx
jmp 0x10047b75
mov ecx, esi
sub esi, ebx
jbe 0x10047de0
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 0x10047b6b
movzx edx, dl
cmp edx, 0xff
jne 0x10047bb5
inc esi
mov ebx, esi
mov esi, ecx
sub esi, ebx
ja 0x10047b75
jmp 0x10047de0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10047de0
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [ecx + eax]
mov ecx, edx
jmp 0x10047bdc
mov ecx, edx
sub edx, ebx
jbe 0x10047de0
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 0x10047bd2
movzx eax, al
cmp eax, 0xff
jne 0x10047c62
inc edx
mov ebx, edx
mov edx, ecx
sub edx, ebx
ja 0x10047bdc
jmp 0x10047de0
mov eax, esp
mov ecx, 0x3e8a738
mov edx, 0x2b
mov byte [esp], 1
push 0x3e89504
push 0x3e882a8
push eax
call fcn.10007620
add esp, 0xc
ud2
mov ecx, 0x3e8a738
mov edx, 0x2b
mov byte [esp], 1
push 0x3e89504
push 0x3e882a8
lea eax, [esp + 8]
push eax
call fcn.10007620
add esp, 0xc
ud2
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0xff
jmp 0x10047c8a
mov ecx, dword [esp + 0x90]
sub dword [esp + 0x90], esi
jbe 0x10047de0
mov eax, dword [esp + 0x90]
xor ebx, ebx
shr eax, 1
add eax, esi
mov dword [esp + 0x90], eax
shl eax, 4
cmp dword [edi + eax + 0xc], 0x2dd2b3ce
setne bl
cmovb ebx, edx
cmp bl, 1
je 0x10047c76
movzx esi, bl
cmp esi, 0xff
jne 0x10047cf5
mov esi, dword [esp + 0x90]
mov dword [esp + 0x90], ecx
inc esi
sub dword [esp + 0x90], esi
ja 0x10047c8a
jmp 0x10047de0
mov ecx, 2
mov edx, 2
push 0x3e88e18
call fcn.10006410
add esp, 4
ud2
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x10047de0
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov esi, ecx
mov eax, dword [edx + eax]
jmp 0x10047d1c
mov esi, ecx
sub ecx, ebx
jbe 0x10047de0
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 0x10047d12
movzx edx, dl
cmp edx, 0xff
jne 0x10047d58
inc ecx
mov ebx, ecx
mov ecx, esi
sub ecx, ebx
ja 0x10047d1c
jmp 0x10047de0
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e8a59f
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10047de0
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
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]
lea ecx, [esp + 0x1a0]
mov edx, esi
push edi
call fcn.1006ab90
add esp, 4
xor ecx, ecx
lea edx, [0x3e8832e]
lea edi, [0x3e8832f]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10047e45
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x10047e64
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10047e20
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10047ed4
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ebx, 0x15
lea ecx, [esp + 0x78]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10047ef3
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x10047f06
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
mov esi, dword [edi + 0x10]
cmp esi, 1
jne 0x10047f72
jmp 0x100482bc
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd edx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test edx, edx
je 0x10047f5d
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1a0], edx
mov edx, 0x3e8806e
mov ecx, dword [ecx + 0x10]
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0x1a0]
push eax
push 6
call fcn.100582c0
add esp, 8
jmp 0x100482be
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
mov esi, dword [edi + 0x10]
cmp esi, 1
je 0x100482bc
mov ecx, 0x3e88336
mov edx, 8
call 0x10070750
test esi, esi
mov dword [esp + 0x60], eax
je 0x100482bc
mov eax, dword [edi + 0xc]
mov dword [esp + 0xb0], esi
mov dword [esp + 0x90], eax
xor eax, eax
jmp 0x10047fc3
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb0], esi
sub esi, eax
jbe 0x100482bc
shr esi, 1
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
xor edx, edx
add esi, eax
mov eax, dword [esp + 0x90]
mov edi, esi
shl edi, 4
cmp dword [eax + edi + 0xc], ecx
mov eax, 0xff
setne dl
cmovb edx, eax
cmp dl, 1
je 0x10047fb0
movzx ecx, dl
cmp ecx, 0xff
jne 0x1004800f
inc esi
mov eax, esi
mov esi, dword [esp + 0xb0]
sub esi, eax
ja 0x10047fc3
jmp 0x100482bc
mov eax, dword [esp + 0x90]
mov eax, dword [eax + edi + 4]
cmp eax, 9
mov dword [esp + 0xd0], eax
ja 0x100482bc
mov ecx, 0x3e8833e
mov edx, 0xc
call 0x10070750
cmp dword [esp + 0xd0], 0
mov dword [esp + 0xb0], eax
je 0x100482bc
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0xd0]
xor ecx, ecx
add eax, edi
mov edi, dword [esp + 0xb0]
mov edx, esi
mov dword [esp + 0x90], esi
mov eax, dword [eax]
mov dword [esp + 0x60], eax
jmp 0x1004808b
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x90], edx
sub edx, ecx
jbe 0x100482bc
shr edx, 1
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
add edx, ecx
xor ecx, ecx
mov esi, edx
shl esi, 4
cmp dword [eax + esi + 0xc], edi
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10048078
movzx ecx, cl
cmp ecx, 0xff
jne 0x100480d0
inc edx
mov ecx, edx
mov edx, dword [esp + 0x90]
sub edx, ecx
ja 0x1004808b
jmp 0x100482bc
mov ecx, 0x3e8834a
mov edx, 8
call 0x10070750
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x90], eax
xor ecx, ecx
mov edi, dword [esp + 0x90]
mov edx, esi
mov dword [esp + 0xb0], esi
jmp 0x10048114
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], edx
sub edx, ecx
jbe 0x100482bc
shr edx, 1
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
add edx, ecx
xor ecx, ecx
mov esi, edx
shl esi, 4
cmp dword [eax + esi + 0xc], edi
mov eax, 0xff
setne cl
cmovb ecx, eax
cmp cl, 1
je 0x10048101
movzx ecx, cl
cmp ecx, 0xff
jne 0x10048159
inc edx
mov ecx, edx
mov edx, dword [esp + 0xb0]
sub edx, ecx
ja 0x10048114
jmp 0x100482bc
mov ecx, 0x3e88352
mov edx, 0xd
call 0x10070750
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.10064bb0
add esp, 4
test eax, eax
jne 0x100482bc
mov ecx, 0x3e8835f
mov edx, 0xc
call 0x10070750
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.10064bb0
add esp, 4
test eax, eax
jne 0x100482bc
mov ecx, 0x3e8836b
mov edx, 0xc
call 0x10070750
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.10064bb0
add esp, 4
test eax, eax
jne 0x100482bc
mov ecx, 0x3e88377
mov edx, 0xe
call 0x10070750
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.10064bb0
add esp, 4
test eax, eax
jne 0x100482bc
mov ecx, 0x3e88385
mov edx, 5
call 0x10070750
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.10064bb0
add esp, 4
test eax, eax
jne 0x100482bc
mov ecx, 0x3e8838a
mov edx, 0xc
call 0x10070750
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
push eax
call fcn.10064bb0
add esp, 4
test eax, eax
jne 0x100482bc
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e88396
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
dec dword [ebx]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
movzx ecx, word [eax + 0x126]
cmp ecx, 0x2022
jne 0x10049566
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x10049566
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x10049566
mov edi, dword [eax + 0xcc]
test edi, edi
je 0x10049566
mov esi, dword [eax + 0xc]
add edi, dword [eax + 8]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
adc esi, 0
push 0xa
push 0x3e8521d
mov dword [esp + 0x98], esi
push esi
push edi
call fcn.10066820
add esp, 0x10
lea ecx, [0x3e85215]
lea edx, [0x3e85216]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004835e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004836d
inc eax
test ecx, ecx
jne 0x10048340
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x100483d1
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100483de
lea ecx, [esp + 0x78]
call fcn.10003710
xor ebx, ebx
jmp 0x100483f1
movzx eax, byte [esp + 0x1a4]
mov esi, dword [ebp + 0xc]
jmp 0x10048402
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], esi
cmp dword [esp], 0
mov esi, dword [ebp + 0xc]
jne 0x100485fe
mov eax, dword [esp + 4]
test al, al
je 0x1004861e
mov ebx, dword [esp + 0x90]
mov eax, edi
xor edx, edx
movd xmm0, edi
mov byte [esp + 0x1b0], 2
mov dword [esp + 0x60], edi
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 [0x3e815a0]
movd xmm0, edx
pshufd xmm0, xmm0, 0x44
psllq xmm0, 0x3f
psrad xmm0, 0x1f
pshufd xmm0, xmm0, 0xf5
movdqa xmm2, xmm0
pand xmm0, xmmword [0x3e815b0]
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 + 0x1a0]
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 + 0xf0], ecx
mov dword [esp + 0xf3], eax
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0xa8], xmm1
jb 0x100494f8
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf3]
lea edx, [esp + 0x1a0]
movq qword [esp + 0x1a8], xmm1
movsd qword [esp + 0x1a0], xmm0
mov byte [esp + 0x1b0], 0
mov dword [esp + 0x1b1], eax
mov dword [esp + 0x1b4], ecx
lea ecx, [esp + 0x40]
push esi
push 6
push 0x3e88938
call fcn.1002ced0
add esp, 0xc
xor edi, edi
lea esi, [0x3e85215]
lea edx, [0x3e85216]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ebx, byte [esi]
mov esi, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10048585
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100485a6
shld dword [esp + 0x20], edi, 4
inc eax
test esi, esi
mov edi, ebx
jne 0x10048560
cmp dword [esp + 0x40], 0
je 0x10048bb9
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor ebx, 0x80
lea edx, [esp + 0x1a0]
movsd qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
lea ecx, [esp + 0x7c]
push ebx
call fcn.100031f0
add esp, 4
mov ebx, dword [esp + 0x88]
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x60]
test ebx, ebx
je 0x1004861e
mov ecx, ebx
call fcn.10003710
mov eax, dword [0x3e8b000]
push 4
push 8
push ebx
push 0x3e8a968
call dword [eax + 0x10]
add esp, 0x10
mov ebx, dword [esp + 0x90]
mov edx, esi
mov word [esp + 0x11c], 0x24
lea ecx, [esp + 0x1a0]
push 3
push 0x3e887b4
mov dword [esp + 0x28], ebx
push ebx
mov dword [esp + 0x6c], edi
push edi
call fcn.10066820
add esp, 0x10
xor esi, esi
lea edi, [0x3e85215]
lea edx, [0x3e85216]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10048695
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100486b6
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x10048670
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004871f
movsd xmm0, qword [esp + 0x1a4]
mov edi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
mov esi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10048733
lea ecx, [esp + 0x78]
call fcn.10003710
xor edx, edx
jmp 0x10048749
movzx ecx, byte [esp + 0x1a4]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x60]
jmp 0x10048808
movdqa xmm0, xmmword [esp + 0x90]
mov edx, dword [esp + 0x44]
movd eax, xmm0
mov dword [edx], eax
mov dword [edx + 4], edi
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x60]
test eax, eax
mov dword [esp + 0x90], eax
je 0x10048805
xor esi, 0xa7
mov dword [esp + 0x60], ecx
shr ecx, 0x10
mov dword [esp + 0xb0], edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x100], ecx
xor edi, edi
lea ecx, [0x3e85215]
lea edx, [0x3e85216]
mov eax, 0xfffffff9
xor ebx, ebx
nop word [eax + eax]
mov esi, ecx
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100487c9
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100487ec
shld ebx, edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x100487a0
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
xor esi, 0xe8
jmp 0x10048a15
mov ebx, dword [ebp + 8]
test cl, cl
je 0x10049557
mov ebx, dword [esp + 0x20]
mov edx, edi
mov eax, edi
mov byte [esp + 0x1b0], 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 + 0x1a0]
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 + 0xe4], ecx
mov dword [esp + 0xe7], eax
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0xa8], xmm1
jb 0x100494f8
movsd xmm0, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe7]
lea edx, [esp + 0x1a0]
movq qword [esp + 0x1a8], xmm1
movsd qword [esp + 0x1a0], xmm0
mov byte [esp + 0x1b0], 0
mov dword [esp + 0x1b1], eax
mov dword [esp + 0x1b4], ecx
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
push 3
push 0x3e85233
call fcn.1002ced0
add esp, 0xc
lea esi, [0x3e85215]
lea ebx, [0x3e85216]
mov eax, 0xfffffff9
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [esi]
mov esi, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10048955
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
add cl, 0xa9
mov ch, cl
mov ebx, edx
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [esi + 1]
test eax, eax
cmove ebx, esi
je 0x10048976
shld dword [esp + 0x20], edx, 4
inc eax
test esi, esi
mov edx, edi
jne 0x10048930
cmp dword [esp + 0x40], 0
je 0x10048c51
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor edi, 0xad
lea edx, [esp + 0x1a0]
movsd qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
lea ecx, [esp + 0x7c]
push edi
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x88]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x60], ecx
shr ecx, 0x10
mov dword [esp + 0xb0], eax
mov dword [esp + 0x100], ecx
mov ecx, 0x3e85214
mov edx, 0xe8
call fcn.10009b40
test edi, edi
je 0x10048b1c
mov ecx, dword [esp + 0x60]
mov esi, eax
movzx eax, ch
mov dword [esp + 0x60], ecx
movzx ecx, cl
mov dword [esp + 0x90], edi
movd xmm1, edi
mov edi, dword [esp + 0xd0]
shl eax, 8
or ecx, eax
mov eax, dword [esp + 0x100]
mov dword [esp], edi
shl eax, 0x10
or eax, ecx
movd xmm0, eax
mov eax, dword [esp + 0xb0]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 4], eax
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10048a8f
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x10048aa2
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0xb0]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x90]
movaps xmm0, xmmword [esp + 0x20]
test edx, edx
movlps qword [esp + 0xf0], xmm0
je 0x10048b1c
movzx ecx, word [esp + 0xf5]
mov word [esp + 0x1a5], cx
movzx ecx, byte [esp + 0xf7]
mov byte [esp + 0x1a7], cl
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1a0], edx
mov edx, 0x3e88074
mov byte [esp + 0x1a4], cl
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 6
call fcn.100582c0
add esp, 8
jmp 0x10049566
mov eax, dword [esp + 0x60]
test al, al
je 0x10049566
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85270
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10049566
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10049566
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x60]
or eax, dword [esp + 0x4c]
je 0x10048e80
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0x50]
mov ecx, esp
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x60]
call fcn.1002d4d0
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0x84
call fcn.10009b40
mov ecx, dword [esp]
test ecx, ecx
je 0x10048d0c
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov ebx, dword [esp + 0x4c]
cmp dword [esp + 0x40], 0
jne 0x100485fe
mov esi, ebx
mov ebx, dword [esp + 0x48]
jmp 0x10048d14
mov eax, dword [esp + 0x48]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x4c]
je 0x10049557
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
lea edi, [esp + 0x1a0]
mov ecx, edi
mov esi, edx
mov ebx, eax
add esi, 0x20
adc ebx, 0
push ebx
push esi
push eax
call fcn.10058ba0
add esp, 0xc
mov ecx, esp
mov edx, edi
push dword [ebp + 0xc]
push 3
push 0x3e863a8
call fcn.1002ced0
add esp, 0xc
mov ecx, 0x3e85214
mov edx, 0xb8
call fcn.10009b40
cmp dword [esp], 0
je 0x10048d66
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x50]
jmp 0x100489e0
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
push 3
push 0x3e85227
push esi
push ebx
call fcn.10066820
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0x86
call fcn.10009b40
mov ecx, esp
lea edx, [esp + 0x1a0]
push eax
call fcn.1002cd90
add esp, 4
cmp dword [esp], 0
je 0x10048e01
mov ebx, dword [esp + 0xc]
mov esi, dword [ebp + 0xc]
jmp 0x100485fe
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10049557
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea edi, [esp + 0x1a0]
mov ecx, edi
mov edx, dword [eax]
push 1
push ebx
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037c50
add esp, 0x14
mov ecx, 0x3e85214
mov edx, 0xbd
call fcn.10009b40
mov ecx, esp
mov edx, edi
push eax
call fcn.1002d660
add esp, 4
mov eax, dword [esp]
test eax, eax
mov dword [esp + 0x90], eax
je 0x10048e8f
movzx eax, byte [esp + 4]
mov ah, byte [esp + 5]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], eax
movzx eax, word [esp + 6]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], eax
jmp 0x10048785
cmp byte [esp + 4], 0
je 0x10048e80
mov edx, ebx
mov eax, esi
lea ecx, [esp + 0x1a0]
add edx, 0x90
adc eax, 0
add ebx, 0xb0
adc esi, 0
push esi
push ebx
push eax
call fcn.10058ba0
add esp, 0xc
mov esi, dword [ebp + 0xc]
mov edi, esp
lea edx, [esp + 0x1a0]
mov ecx, edi
push esi
push 9
push 0x3e8522a
call fcn.1002ced0
add esp, 0xc
mov ecx, 0x3e85214
mov edx, 0x8d
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, edi
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
je 0x10048f57
mov ebx, dword [esp + 0x50]
jmp 0x100485fa
mov ebx, dword [esp + 0x90]
mov esi, dword [ebp + 0xc]
jmp 0x10048625
movzx eax, byte [esp + 4]
mov edx, esi
lea edi, [esp + 0x1a0]
add edx, 5
mov ecx, edi
mov byte [esp + 0x11d], al
mov eax, ebx
adc eax, 0
add esi, 0x25
adc ebx, 0
push ebx
push esi
push eax
call fcn.10058ba0
add esp, 0xc
lea eax, [esp + 0x11c]
mov ecx, esp
mov edx, edi
push dword [ebp + 0xc]
push 2
push eax
call fcn.1002ced0
add esp, 0xc
mov ecx, 0x3e85214
mov edx, 0xc2
call fcn.10009b40
cmp dword [esp], 0
je 0x10048fc5
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movsd qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], edx
lea ecx, [esp + 0x44]
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x60], ecx
shr ecx, 0x10
mov dword [esp + 0xd0], eax
mov dword [esp + 0xb0], edx
jmp 0x100489f1
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x100490aa
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov edx, esi
lea ecx, [esp + 0x1a0]
mov eax, edi
mov esi, ebx
add eax, 4
adc esi, 0
push 9
push 0x3e8522a
push esi
push eax
call fcn.10066820
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0x94
call fcn.10009b40
mov ecx, esp
lea edx, [esp + 0x1a0]
push eax
call fcn.1002cd90
add esp, 4
cmp dword [esp], 0
je 0x100490ba
mov ebx, dword [esp + 0xc]
jmp 0x100485f7
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10049557
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov edx, dword [esi]
mov dword [esp + 0x20], eax
add eax, 0xfffffffc
mov edi, ebx
adc ebx, 0xffffffff
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.10036c80
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0xc7
call fcn.10009b40
mov ecx, dword [esp]
test ecx, ecx
je 0x10049107
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x90], eax
je 0x1004910e
movzx eax, word [esp + 0x46]
movzx edi, word [esp + 0x44]
mov ecx, 0x3e85214
mov edx, 0xe8
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb0], eax
call fcn.10009b40
mov ecx, edi
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x90]
jmp 0x10048a13
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x60]
jmp 0x10048625
cmp byte [esp + 4], 0
je 0x1004924c
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
mov edx, edi
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push ebx
call fcn.1002d4d0
add esp, 0x10
mov ebx, dword [esp + 0x1ac]
cmp dword [esp + 0x1a0], 0
mov edi, dword [esp + 0x60]
jne 0x100485fe
mov edi, dword [esp + 0x1a8]
jmp 0x10048625
movzx eax, word [esp + 4]
jmp 0x10049113
movzx eax, word [esp + 0x44]
movzx eax, ax
mov cl, 1
cmp eax, 0x64c0
mov dword [esp + 0x60], ecx
jg 0x1004913a
cmp eax, 0x446b
je 0x10049157
cmp eax, 0x4481
je 0x10049157
cmp eax, 0x4c81
je 0x10049157
jmp 0x1004914f
cmp eax, 0x64c1
je 0x10049157
cmp eax, 0x6cc1
je 0x10049157
cmp eax, 0x7481
je 0x10049157
mov dword [esp + 0x60], 0
mov edx, dword [esp + 0x20]
mov esi, edi
lea ebx, [esp + 0x1a0]
mov ecx, ebx
mov eax, edx
add eax, 0x20
adc esi, 0
push esi
push eax
push edi
call fcn.10058ba0
add esp, 0xc
mov ecx, esp
mov edx, ebx
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x124]
push eax
call fcn.1002ced0
add esp, 0xc
mov ecx, 0x3e85214
mov edx, 0xc2
call fcn.10009b40
cmp dword [esp], 0
jne 0x10048ef1
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10049557
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, edi
mov edx, dword [esi]
mov dword [esp + 0x20], ebx
add eax, 0xfffffffc
adc ebx, 0xffffffff
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.10036c80
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0xc7
call fcn.10009b40
mov ecx, dword [esp]
test ecx, ecx
je 0x1004925f
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x90], eax
jne 0x10049063
movzx eax, word [esp + 0x44]
jmp 0x10049264
mov ebx, dword [esp + 0x90]
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x60]
jmp 0x10048625
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x10049285
cmp eax, 0x446b
je 0x1004929a
cmp eax, 0x4481
je 0x1004929a
cmp eax, 0x4c81
je 0x1004929a
jmp 0x100492be
cmp eax, 0x64c1
je 0x1004929a
cmp eax, 0x7481
je 0x1004929a
cmp eax, 0x6cc1
jne 0x100492be
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
je 0x100492be
mov ecx, 0x3e85214
mov edx, 0xe8
call fcn.10009b40
mov ebx, dword [ebp + 8]
jmp 0x10048b28
mov ebx, dword [esp + 0x20]
mov eax, edi
lea ecx, [esp + 0x1a0]
mov edx, edi
add eax, 0x20
mov esi, ebx
adc esi, 0
push esi
push eax
push ebx
call fcn.10058ba0
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x1a0]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x124]
push eax
call fcn.1002ced0
add esp, 0xc
mov ecx, 0x3e85214
mov edx, 0xc2
call fcn.10009b40
cmp dword [esp], 0
jne 0x10048ef1
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10049557
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, esp
mov eax, edi
mov edx, dword [esi]
mov dword [esp + 0x20], ebx
add eax, 0xfffffffc
adc ebx, 0xffffffff
push ebx
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.10036c80
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0xc7
call fcn.10009b40
mov ecx, dword [esp]
test ecx, ecx
je 0x100493b8
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x90], eax
jne 0x10049063
movzx eax, word [esp + 0x44]
jmp 0x100493bd
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x100493de
cmp eax, 0x446b
je 0x100493f3
cmp eax, 0x4481
je 0x100493f3
cmp eax, 0x4c81
je 0x100493f3
jmp 0x10049404
cmp eax, 0x64c1
je 0x100493f3
cmp eax, 0x7481
je 0x100493f3
cmp eax, 0x6cc1
jne 0x10049404
cmp byte [esp + 0x60], 0
mov al, 1
mov dword [esp + 0x60], eax
jne 0x100492a7
mov ebx, dword [esp + 0x20]
mov eax, edi
lea ecx, [esp + 0x1a0]
mov edx, edi
add eax, 0x20
mov esi, ebx
adc esi, 0
push esi
push eax
push ebx
call fcn.10058ba0
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x1a0]
push dword [ebp + 0xc]
push 2
lea eax, [esp + 0x124]
push eax
call fcn.1002ced0
add esp, 0xc
mov ecx, 0x3e85214
mov edx, 0xc2
call fcn.10009b40
cmp dword [esp], 0
jne 0x10048ef1
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x10049557
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.10036c80
add esp, 0x10
mov ecx, 0x3e85214
mov edx, 0xc7
call fcn.10009b40
mov ecx, dword [esp]
test ecx, ecx
je 0x10049511
mov edx, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x90], eax
jne 0x10049063
movzx eax, word [esp + 0x44]
jmp 0x10049516
mov ecx, 0x3e8ab8c
mov edx, 0x2b
push 0x3e88298
call fcn.10006dd0
add esp, 4
ud2
movzx eax, word [esp + 4]
movzx eax, ax
cmp eax, 0x64c0
jg 0x10049537
cmp eax, 0x446b
je 0x1004954c
cmp eax, 0x4481
je 0x1004954c
cmp eax, 0x4c81
je 0x1004954c
jmp 0x10049557
cmp eax, 0x64c1
je 0x1004954c
cmp eax, 0x7481
je 0x1004954c
cmp eax, 0x6cc1
jne 0x10049557
cmp byte [esp + 0x60], 0
jne 0x100492a7
mov ecx, 0x3e85214
mov edx, 0xe8
call fcn.10009b40
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x10049842
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x10049842
movzx eax, word [eax + 0x126]
not eax
test eax, 0x2022
jne 0x10049842
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e85215]
lea edx, [0x3e85216]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100495f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x10049616
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100495d0
cmp dword [esp + 0x1a0], 0
je 0x1004967e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x128
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100497e6
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x100497ef
movq xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov ebx, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 1
jne 0x10049842
cmp dword [esp + 8], 0x7dd
jne 0x10049842
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0x78]
lea edi, [esp + 0x1a0]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x78], ecx
mov ecx, esp
push edi
push 0xb
push 0x3e852e0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ecx, ecx
lea edx, [0x3e85215]
lea esi, [0x3e85216]
mov eax, 0xfffffff9
xor edi, edi
nop word [eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10049755
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x10049774
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x10049730
cmp dword [esp], 0
je 0x1004b34e
movq xmm0, qword [esp + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor ebx, 0x13c
lea edx, [esp + 0x1a0]
movq qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
lea ecx, [esp + 0x44]
push ebx
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], esi
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x10049815
jmp 0x10049842
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 ebx, dword [ebp + 8]
test eax, eax
je 0x10049842
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0x40]
mov edx, 0x3e8807a
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
movdqu xmmword [esp + 0x1a0], xmm0
push eax
push 8
call fcn.100582c0
add esp, 8
mov ecx, dword [ebx]
pxor xmm0, xmm0
lea edi, [esp + 0x1a0]
lea edx, [esp + 0x78]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 0xcc]
mov ecx, dword [ebp + 0xc]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x78], ecx
adc esi, 0
mov ecx, esp
push edi
push 8
push 0x3e883c8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
jne 0x10049945
cmp dword [esp + 8], 1
jne 0x10049945
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
lea ecx, [esp + 0x40]
push 4
push 0x3e88468
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 0x48]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004996d
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
jmp 0x1004996a
test eax, eax
je 0x1004996d
mov esi, dword [esp + 0x10]
test esi, esi
je 0x1004996d
mov ecx, esi
call fcn.10003710
mov eax, dword [0x3e8b000]
push 4
push 8
push esi
push 0x3e8a968
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [ebx]
test byte [eax + 0x127], 0x20
je 0x10049fea
movzx ecx, word [eax + 0xf8]
cmp ecx, 0x20b
jne 0x10049fea
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
je 0x10049fea
lea ecx, [esp + 0x1a0]
mov edx, ebx
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor esi, esi
lea ecx, [0x3e81bd1]
lea edx, [0x3e81bd2]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop
mov edi, ecx
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100499f9
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edi, dl
shl ecx, 4
or edi, ecx
mov ecx, dword [esp + 0x20]
test eax, eax
lea edx, [ecx + 1]
cmove edx, ecx
je 0x10049a1c
shld ebx, esi, 4
inc eax
test ecx, ecx
mov esi, edi
jne 0x100499d0
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10049a82
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1a4]
mov esi, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1ac]
xor edi, 0x41
mov dword [esp + 0x20], eax
mov eax, dword [0x3e8b000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x10049eb4
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x10049ebd
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x20], 0
mov dword [esp + 0xc8], 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 + 0x90], ecx
mov ecx, 5
jmp 0x10049ad6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
add edx, 0x1c
mov dword [esp + 0x20], eax
dec ecx
je 0x10049f0b
cmp edx, dword [esp + 0x90]
je 0x10049f07
mov dword [esp + 0x60], ecx
mov ecx, dword [ebx]
mov eax, dword [edx + 0xc]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
add esi, eax
adc edi, 0
cmp dword [ecx + 0x14c], eax
jbe 0x10049ac0
cmp dword [esp + 0x20], 3
mov eax, 3
je 0x10049ac4
mov eax, dword [ebp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0xb0], edx
mov ecx, esp
lea edx, [esp + 0x78]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x78], eax
lea eax, [esp + 0x1a0]
push eax
push 2
push 0x3e81b8c
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10064f10
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
jne 0x10049df6
cmp dword [esp + 8], 1
jne 0x10049df6
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
pxor xmm0, xmm0
lea eax, [esp + 0x1a0]
mov byte [esp + 0x40], 4
mov dword [esp + 0x44], 0x40
mov dword [esp + 0x48], 0x3e81bbc
mov dword [esp + 0x4c], 1
mov ecx, esp
lea edx, [esp + 0x78]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
push eax
push 1
lea eax, [esp + 0x48]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push edi
call fcn.10064f10
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
jne 0x10049e05
cmp dword [esp + 8], 1
jne 0x10049e05
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x78]
mov edx, dword [eax]
push 0
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037c50
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x3e81bd2]
xor edx, edx
lea esi, [0x3e81bd1]
nop word [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10049c75
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x10049c94
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x10049c50
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10053254
movzx eax, byte [esp + 0x1a4]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x100]
lea ecx, [esp + 0x1a0]
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.10037c50
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea esi, [0x3e81bd2]
xor edx, edx
lea edi, [0x3e81bd1]
nop word [eax + eax]
movzx ebx, byte [edi]
mov edi, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10049d25
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edi + 1]
test eax, eax
cmove esi, edi
je 0x10049d44
shld edx, ecx, 4
inc eax
test edi, edi
mov ecx, ebx
jne 0x10049d00
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x1005325d
movzx eax, byte [esp + 0x1a4]
mov ecx, eax
and cl, 0xc7
cmp cl, 0x44
jne 0x10049e27
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 0
push dword [esp + 0x104]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037c50
add esp, 0x14
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10053575
movsx esi, byte [esp + 0x1a4]
mov eax, 0xfffffff9
lea edx, [0x3e81bd2]
lea ecx, [0x3e81bd1]
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x10049dde
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x10049e82
inc eax
test ecx, ecx
jne 0x10049dc0
jmp 0x10049e82
test eax, eax
je 0x10049e15
lea ecx, [esp + 0xc]
call fcn.10003710
jmp 0x10049e15
test eax, eax
je 0x10049e12
lea ecx, [esp + 0xc]
call fcn.10003710
mov ebx, dword [ebp + 8]
xor eax, eax
mov edx, dword [esp + 0xb0]
add eax, dword [esp + 0x20]
jmp 0x10049ac4
mov ebx, dword [ebp + 8]
not al
test al, 0x84
jne 0x10049e15
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 0
push dword [esp + 0x104]
push dword [esp + 0xd8]
push dword [eax + 8]
push dword [eax + 4]
call fcn.100371b0
add esp, 0x14
mov ecx, 0x3e81bd0
mov edx, 0x24
call fcn.10009b40
mov ebx, eax
mov eax, dword [esp + 0x1a0]
mov esi, dword [esp + 0x1a4]
test eax, eax
jne 0x100536bf
mov edx, dword [esp + 0xcc]
cmp esi, 0x100
mov ebx, dword [ebp + 8]
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 0x10049e17
mov eax, dword [esp + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
mov edx, 0x3e88082
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 6
call fcn.100582c0
add esp, 8
jmp 0x10049fea
mov eax, dword [esp + 0x20]
lea edx, [0x3e81bd1]
lea esi, [0x3e81bd2]
mov ecx, 0xfffffff9
nop dword [eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10049f3e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea esi, [edx + 1]
test ecx, ecx
cmove esi, edx
je 0x10049f4d
inc ecx
test edx, edx
jne 0x10049f20
mov ecx, dword [esp + 0xc8]
mov ebx, dword [ebp + 8]
dec dword [ecx]
cmp eax, 3
jne 0x10049fea
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e81bd9
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10049fea
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
lea edi, [esp + 0x1a0]
lea edx, [esp + 0x150]
mov ecx, edi
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
cmp dword [esp + 0x1a0], 0
je 0x1004a12f
movdqu xmm0, xmmword [esp + 0x1a4]
movd eax, xmm0
test eax, eax
je 0x1004a044
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e88088
mov ecx, dword [eax + 0x10]
push edi
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x1004a0a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004a0c6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004a080
cmp dword [esp + 0x1a0], 0
je 0x1004a277
mov edi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor esi, 0x62
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004a3d8
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004a3e1
cmp dword [esp + 0x1a8], 0
jne 0x1004a044
cmp dword [esp + 0x1ac], 0x7e3
jne 0x1004a044
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1b4]
mov eax, dword [esp + 0x1b0]
pxor xmm0, xmm0
lea edx, [esp + 0x78]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x78], ecx
mov ecx, esp
push edi
push 7
push 0x3e81c28
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea esi, [0x3e81bd1]
lea edx, [0x3e81bd2]
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 0x1004a1f5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004a216
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004a1d0
cmp dword [esp], 0
je 0x1004a672
movups xmm0, xmmword [esp + 4]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x76
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004a7b6
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x1004a7c2
movsd xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004a428
cmp dword [esp + 8], 0x7e3
jne 0x1004a428
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ecx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 0xa
push 0x3e8542c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004a355
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004a376
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004a330
cmp dword [esp], 0
je 0x1004a714
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor esi, 0x69
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004a7f2
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004a7fe
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 0x1004a428
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e88090
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 5
call fcn.100582c0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c]
cmp ecx, 7
mov dword [esp + 0x1a0], ecx
jae 0x1004a486
lea ecx, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
nop dword [eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a46e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004a9d1
inc eax
test ecx, ecx
jne 0x1004a450
jmp 0x1004a9d1
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x3e86ffc
call fcn.10036360
add esp, 8
cmp ax, 1
jne 0x1004a43c
mov edi, edx
cmp dx, 3
jb 0x1004a43c
mov eax, dword [esp + 0x3c]
mov edx, 0x3e87001
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
mov dword [esp + 0x60], ecx
push eax
push 0x16
call fcn.10058590
add esp, 8
movzx ecx, di
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
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 0x1004a50e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea esi, [edx + 1]
test eax, eax
cmove esi, edx
je 0x1004a51d
inc eax
test edx, edx
jne 0x1004a4f0
mov eax, dword [ebp + 8]
add ecx, 0xfffffffe
mov eax, dword [eax]
mov edx, dword [eax + 0x12c]
cmp ecx, edx
jae 0x10057681
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, 0xfffffc00
add esi, dword [edx + ecx*8 + 8]
cmp esi, 0xbff
ja 0x1004a9d1
mov ecx, dword [edx + ecx*8 + 0xc]
mov esi, dword [eax + 8]
mov edx, dword [eax + 0xc]
add esi, ecx
adc edx, 0
cmp dword [eax + 0x14c], ecx
jbe 0x1004a9d1
mov eax, dword [ebp + 0xc]
mov edi, edx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x90], edi
mov edx, dword [eax]
push edi
mov dword [esp + 0xb4], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037560
add esp, 0x10
xor esi, esi
lea ebx, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [ebx]
mov ebx, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004a5e5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004a606
shld dword [esp + 0x20], esi, 4
inc eax
test ebx, ebx
mov esi, edi
jne 0x1004a5c0
cmp dword [esp + 0x1a0], 0
je 0x1004a835
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0xa1
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004a8f2
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004a8fb
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004a044
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e81cb4
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004a044
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004a044
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004a428
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e854fd
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004a428
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004a428
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movd xmm0, edi
movd xmm1, eax
mov ebx, dword [ebp + 8]
lea edi, [esp + 0x1a0]
punpcklqdq xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
shufps xmm0, xmm1, 0x24
movd eax, xmm0
test eax, eax
jne 0x1004a025
jmp 0x1004a044
mov eax, dword [esp + 0x1a4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004a402
jmp 0x1004a428
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0x90]
or ecx, dword [esp + 0x1b4]
or eax, dword [esp + 0x1b0]
or eax, ecx
jne 0x1004a9d1
mov edi, dword [ebp + 0xc]
mov eax, ebx
mov esi, edx
lea ecx, [esp + 0x1a0]
add eax, 0x10
adc esi, 0
mov edx, dword [edi]
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
je 0x1004ef3d
movq xmm0, qword [esp + 0x1a4]
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1b0]
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.100031f0
add esp, 4
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
jmp 0x1004a90e
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
movd edx, xmm0
mov ecx, dword [esp + 4]
mov esi, eax
shr eax, 8
shld esi, edi, 0x18
shld edi, ecx, 0x18
test edx, edx
je 0x1004a96a
mov dword [esp + 0x1a0], edx
mov byte [esp + 0x1a4], cl
mov ecx, dword [esp + 0x60]
mov word [esp + 0x1ad], ax
shr eax, 0x10
mov dword [esp + 0x1a5], edi
mov dword [esp + 0x1a9], esi
mov edx, 0x3e88095
mov byte [esp + 0x1af], al
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
jmp 0x1004a9d1
test cl, 1
je 0x1004a9d1
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e85514
call fcn.1001dd30
add esp, 8
mov edi, dword [esp]
mov ecx, dword [esp + 0x60]
mov edx, 0xbd51f66
push dword [esp + 4]
push edi
push 0xffff1c70
call fcn.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, edi
call fcn.1002ca00
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax + 0x18], 0
je 0x1004ace4
mov edx, esi
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor esi, esi
lea edi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax]
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004aa35
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004aa56
shld ebx, esi, 4
inc eax
test edi, edi
mov esi, ecx
jne 0x1004aa10
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004aad1
movsd xmm0, qword [esp + 0x1a4]
mov edi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0xd6
mov ebx, ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov esi, dword [ebp + 8]
je 0x1004aaf1
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x1004ab04
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
mov esi, dword [ebp + 8]
cmp dword [edi + 0x34], 5
je 0x1004ab70
jmp 0x1004ace2
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm0, qword [esp]
mov edx, ebx
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x1004ab5d
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x1a0], ecx
mov edx, 0x3e8809c
movsd qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
jmp 0x1004ace4
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
cmp dword [edi + 0x34], 5
jne 0x1004ace2
mov ecx, 0x3e85518
mov edx, 6
call 0x10070750
mov edi, dword [edi + 0x30]
cmp dword [edi], 0
je 0x1004ab8c
cmp dword [edi + 4], eax
je 0x1004abc0
cmp dword [edi + 0x1c], 0
je 0x1004ab97
cmp dword [edi + 0x20], eax
je 0x1004abc0
cmp dword [edi + 0x38], 0
je 0x1004aba2
cmp dword [edi + 0x3c], eax
je 0x1004abc0
cmp dword [edi + 0x54], 0
je 0x1004abad
cmp dword [edi + 0x58], eax
je 0x1004abc0
cmp dword [edi + 0x70], 0
je 0x1004ace2
cmp dword [edi + 0x74], eax
jne 0x1004ace2
mov ecx, 0x3e8551e
mov edx, 9
call 0x10070750
cmp dword [edi], 0
je 0x1004abd9
cmp dword [edi + 4], eax
je 0x1004ac0d
cmp dword [edi + 0x1c], 0
je 0x1004abe4
cmp dword [edi + 0x20], eax
je 0x1004ac0d
cmp dword [edi + 0x38], 0
je 0x1004abef
cmp dword [edi + 0x3c], eax
je 0x1004ac0d
cmp dword [edi + 0x54], 0
je 0x1004abfa
cmp dword [edi + 0x58], eax
je 0x1004ac0d
cmp dword [edi + 0x70], 0
je 0x1004ace2
cmp dword [edi + 0x74], eax
jne 0x1004ace2
mov ecx, 0x3e85527
mov edx, 0x14
call 0x10070750
cmp dword [edi], 0
je 0x1004ac26
cmp dword [edi + 4], eax
je 0x1004ac5a
cmp dword [edi + 0x1c], 0
je 0x1004ac31
cmp dword [edi + 0x20], eax
je 0x1004ac5a
cmp dword [edi + 0x38], 0
je 0x1004ac3c
cmp dword [edi + 0x3c], eax
je 0x1004ac5a
cmp dword [edi + 0x54], 0
je 0x1004ac47
cmp dword [edi + 0x58], eax
je 0x1004ac5a
cmp dword [edi + 0x70], 0
je 0x1004ace2
cmp dword [edi + 0x74], eax
jne 0x1004ace2
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e8553b
call fcn.1001dd30
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xe543
call fcn.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004ace2
mov ecx, dword [0x3e8b000]
push edx
push eax
push edi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
dec dword [ebx]
push 0x200
push 0
lea eax, [esp + 0x1a8]
push eax
call 0x10070b00
add esp, 0xc
mov ecx, esp
lea edx, [esp + 0x150]
push esi
call fcn.10002e50
add esp, 4
xor ecx, ecx
lea edx, [0x3e854f5]
lea edi, [0x3e854f6]
mov eax, 0xfffffff9
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004ad55
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004ad74
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004ad30
mov eax, dword [esp]
test eax, eax
je 0x1004addb
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [0x3e8b000]
movsd qword [esp + 0x44], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1004ade5
lea ecx, [esp + 0xa0]
call fcn.10003710
xor edi, edi
jmp 0x1004adf8
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp 0x1004ae12
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [esp + 0x7c]
movd eax, xmm0
mov dword [edi], eax
mov dword [edi + 4], esi
movq xmm0, qword [esp + 0x40]
xor ebx, 0xfa
movd eax, xmm0
test eax, eax
jne 0x1004b5e5
mov esi, ebx
cmp esi, 0x8000
mov eax, edi
xorps xmm0, xmm0
sbb eax, 0
jae 0x1004ae33
movd eax, xmm0
test eax, eax
jne 0x1004b5ed
jmp 0x1004b622
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10056e9e
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
xor ebx, ebx
mov dword [esp + 0x20], 0
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov eax, esi
mov ecx, edi
sub eax, edx
sbb ecx, 0
cmovb eax, ebx
cmovb ecx, ebx
cmp eax, 0x8000
sbb ecx, 0
jb 0x1004b5e5
mov eax, dword [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0xb0], esi
mov dword [esp + 0x90], edi
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10033710
add esp, 8
lea edi, [0x3e854f5]
lea ecx, [0x3e854f6]
mov eax, 0xfffffff9
xor esi, esi
nop dword [eax]
movzx ebx, byte [edi]
mov edi, ecx
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x1004aee5
or bl, 0x20
mov ecx, ebx
add cl, 0x9f
cmp cl, 6
jae 0x10057f9a
add bl, 0xa9
mov ecx, ebx
mov edx, esi
movzx ebx, cl
lea ecx, [edi + 1]
shl edx, 4
or ebx, edx
test eax, eax
cmove ecx, edi
je 0x1004af06
shld dword [esp + 0x20], esi, 4
inc eax
test edi, edi
mov esi, ebx
jne 0x1004aec0
cmp dword [esp], 0
je 0x1004af6a
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor ebx, 0x106
lea ecx, [esp + 0x40]
mov dword [esp + 0xa0], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004b010
lea ecx, [esp + 0xa0]
call fcn.10003710
xor edi, edi
jmp 0x1004b5df
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0xd0], edx
mov dword [esp + 0x118], eax
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 8]
jne 0x10058187
mov eax, dword [esp + 0xb0]
mov edx, dword [ecx + 0x18]
mov esi, dword [esp + 0x90]
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0x100], ecx
mov ecx, esp
add eax, 0xfffffff0
mov dword [esp + 0x130], edx
adc esi, 0xffffffff
push 0
push 0x10
lea edi, [esp + 0x1a8]
push edi
push esi
push eax
push dword [esp + 0x74]
mov dword [esp + 0xe4], ebx
push ebx
call fcn.10036470
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1004b020
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0xc8], ecx
jmp 0x1004b0c1
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, eax
jmp 0x1004b5df
cmp dword [esp + 4], 0x10
jne 0x1004b03f
mov dword [esp + 0x20], 0
mov dword [esp + 0xc8], 0
jmp 0x1004b0c1
xor ecx, ecx
lea edx, [0x3e8911d]
lea edi, [0x3e8911e]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004b079
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004b098
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004b054
movdqa xmm0, xmmword [0x3e815c0]
xor ebx, 0x91
mov dword [esp + 0xc8], 0
mov dword [esp + 0x20], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor edx, edx
lea esi, [0x3e854f5]
lea edi, [0x3e854f6]
mov ecx, 0xfffffff9
xor eax, eax
nop word cs:[eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004b105
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
add bl, 0xa9
mov bh, bl
mov edi, edx
movzx ebx, bh
shl edi, 4
or ebx, edi
lea edi, [esi + 1]
test ecx, ecx
cmove edi, esi
je 0x1004b124
shld eax, edx, 4
inc ecx
test esi, esi
mov edx, ebx
jne 0x1004b0e0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
test eax, eax
je 0x1004b1bf
mov edi, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
movq qword [esp + 4], xmm0
pshufd xmm0, xmm0, 0x55
lea ecx, [esp + 0x40]
movd dword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004b192
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x1004b1a5
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x44]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], edi
movq xmm1, qword [esp]
movd ecx, xmm1
test ecx, ecx
je 0x1004b1bf
xor ebx, 0x10e
mov edi, eax
jmp 0x1004b50a
xor eax, eax
cmp dword [esp + 0x1a0], 0x6578652e
je 0x1004b2c5
cmp dword [esp + 0x1a1], 0x6578652e
mov eax, 1
je 0x1004b2c5
cmp dword [esp + 0x1a2], 0x6578652e
mov eax, 2
je 0x1004b2c5
cmp dword [esp + 0x1a3], 0x6578652e
mov eax, 3
je 0x1004b2c5
cmp dword [esp + 0x1a4], 0x6578652e
mov eax, 4
je 0x1004b2c5
cmp dword [esp + 0x1a5], 0x6578652e
mov eax, 5
je 0x1004b2c5
cmp dword [esp + 0x1a6], 0x6578652e
mov eax, 6
je 0x1004b2c5
cmp dword [esp + 0x1a7], 0x6578652e
mov eax, 7
je 0x1004b2c5
cmp dword [esp + 0x1a8], 0x6578652e
mov eax, 8
je 0x1004b2c5
cmp dword [esp + 0x1a9], 0x6578652e
mov eax, 9
je 0x1004b2c5
cmp dword [esp + 0x1aa], 0x6578652e
mov eax, 0xa
je 0x1004b2c5
cmp dword [esp + 0x1ab], 0x6578652e
mov eax, 0xb
je 0x1004b2c5
cmp dword [esp + 0x1ac], 0x6578652e
mov eax, 0xc
je 0x1004b2c5
xor ecx, ecx
jmp 0x1004b50a
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x130]
mov ecx, esp
add edi, eax
adc esi, 0
add edi, 0xfffffdf0
adc esi, 0xffffffff
push 0
push 0x200
lea eax, [esp + 0x1a8]
push eax
push esi
push edi
push dword [esp + 0x74]
push dword [esp + 0xe4]
call fcn.10036470
add esp, 0x1c
mov eax, dword [esp]
test eax, eax
je 0x1004b328
movq xmm0, qword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], ecx
jmp 0x1004b453
cmp dword [esp + 4], 0x200
jne 0x1004b3d1
mov dword [esp + 0x60], 0
mov dword [esp + 0x90], 0
jmp 0x1004b453
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1004ef23
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x1a0]
mov ecx, edi
push dword [esp + 0x78]
push dword [esp + 0x18]
call fcn.1002d710
add esp, 8
mov ecx, 0x3e85214
mov edx, 0x141
call fcn.10009b40
mov ecx, esp
mov edx, edi
push eax
call fcn.1002cd90
add esp, 4
mov eax, dword [esp]
mov ebx, dword [ebp + 8]
test eax, eax
je 0x1004f405
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
test eax, eax
jne 0x10049815
jmp 0x10049842
xor ecx, ecx
lea edx, [0x3e8911d]
lea edi, [0x3e8911e]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004b40b
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004b42a
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004b3e6
movdqa xmm0, xmmword [0x3e815c0]
xor ebx, 0x91
mov dword [esp + 0x90], 0
mov dword [esp + 0x60], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor ebx, ebx
lea eax, [0x3e854f5]
lea edi, [0x3e854f6]
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 0x1004b495
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004b4b6
shld dword [esp + 0x20], ebx, 4
inc edx
test eax, eax
mov ebx, esi
jne 0x1004b470
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1004c1b4
mov ecx, dword [esp + 0x90]
mov dword [esp], eax
movq qword [esp + 4], xmm0
xor esi, 0x11e
mov edx, esp
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x40]
push esi
call fcn.100031f0
add esp, 4
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x1004c1b4
movd xmm0, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
pshufd xmm1, xmm0, 0x50
mov eax, dword [esp + 0x100]
dec dword [eax + 0x24]
jne 0x1004b5c6
mov esi, dword [eax + 0x2c]
cmp dword [esi + 0x1940], 0
jne 0x10058270
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x118]
mov dword [esi + 0x1940], 0xffffffff
movdqa xmmword [esp + 0x20], xmm1
mov dword [esp + 0x90], edi
shld ecx, eax, 0x1a
mov eax, ecx
mov dword [esp + 0xd0], ecx
and eax, 0x3f
cmp dword [esi + eax*4 + 0x1944], 0
je 0x10058236
lea edi, [esi + eax*4 + 0x1944]
mov ecx, edi
call fcn.1002f060
mov ecx, dword [esp + 0xd0]
mov dword [edi], 0
mov eax, 1
xor edi, edi
xor edx, edx
movdqa xmm1, xmmword [esp + 0x20]
shld edi, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x60]
cmovne edi, eax
cmovne eax, edx
or dword [esi + 0x1934], edi
mov edi, dword [esp + 0x90]
or dword [esi + 0x1930], eax
inc dword [esi + 0x1940]
movd xmm0, ecx
lea ecx, [esp + 0x80]
movss xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
call fcn.1002f060
movdqa xmm0, xmmword [esp + 0x20]
movd eax, xmm0
test eax, eax
je 0x1004b622
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], edi
mov edx, 0x3e880a3
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [edi]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1004b856
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
pxor xmm0, xmm0
lea edx, [esp + 0x78]
lea edi, [esp + 0x1a0]
mov dword [esp + 0x78], ebx
mov ecx, esp
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
adc esi, 0
push edi
push 3
push 0x3e85574
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x1004b6d5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004b6f6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004b6b0
cmp dword [esp], 0
je 0x1004b751
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004b7ef
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x1004b7fb
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
or eax, dword [esp + 0xc]
je 0x1004b856
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e855b0
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004b856
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004b856
mov eax, dword [esp + 0x1a4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd ecx, xmm0
test ecx, ecx
je 0x1004b856
xor esi, 0x143
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1a0], ecx
mov edx, 0x3e880aa
mov dword [esp + 0x1a8], esi
movd dword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push ebx
push edi
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x1004b8b5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004b8d6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004b890
cmp dword [esp + 0x1a0], 0
je 0x1004b93e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x16c
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004ba9b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004baa4
movsd xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1004baed
cmp dword [esp + 8], 0x1ec
jne 0x1004baed
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ebx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 0xa
push 0x3e8564c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ba15
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004ba36
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004b9f0
cmp dword [esp], 0
je 0x1004bd7e
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x173
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004bf23
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004bf2f
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd eax, xmm0
test eax, eax
je 0x1004baed
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e880b1
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
xorps xmm0, xmm0
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
movaps xmmword [esp + 0xa0], xmm0
push ebx
push edi
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004bb55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004bb76
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004bb30
cmp dword [esp + 0x1a0], 0
je 0x1004bbde
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x198
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004bd4b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004bd54
movq xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
pxor xmm2, xmm2
movsd qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004bf86
cmp dword [esp + 8], 0x13418bf
mov ebx, dword [ebp + 8]
jne 0x1004bf89
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0xf0]
lea edi, [esp + 0x1a0]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xf0], ecx
mov ecx, esp
push edi
push 9
push 0x3e85720
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004bcc5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004bce6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004bca0
cmp dword [esp], 0
je 0x1004be23
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x1a0
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004bf57
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004bf63
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
movd eax, xmm2
test eax, eax
jne 0x1004bf91
jmp 0x1004bfb7
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
or eax, dword [esp + 0xc]
je 0x1004baed
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85714
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004baed
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004baed
mov eax, dword [esp + 8]
pxor xmm2, xmm2
or eax, dword [esp + 0xc]
je 0x1004bf86
lea ecx, [esp + 0x1a0]
lea edx, [esp + 0x150]
push dword [ebp + 8]
call fcn.10002e50
add esp, 4
xor ecx, ecx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
xor edi, edi
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 0x1004be95
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004beb4
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004be70
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004c1e1
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004eb0c
lea ecx, [esp + 0x78]
call fcn.10003710
xor edi, edi
jmp 0x1004eb1f
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x1004bab9
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
movd xmm0, eax
movlps qword [esp + 0x40], xmm1
mov dword [esp + 0x48], edi
movsd xmm2, qword [esp + 0x44]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
mov ebx, dword [ebp + 8]
movd eax, xmm2
test eax, eax
je 0x1004bfb7
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm2
mov edx, 0x3e880b8
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
mov eax, dword [ebx]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x1004c267
mov edx, dword [eax + 0x128]
lea esi, [ecx + ecx*4]
mov ecx, dword [edx + esi*8 - 0x20]
lea edi, [ecx - 0x20000]
cmp edi, 0x1dffff
ja 0x1004c267
lea edx, [edx + esi*8]
mov esi, 0x636f6c
movsd xmm0, qword [edx - 0x28]
mov edx, 0x6c65722e
movsd qword [esp + 0x78], xmm0
xor edx, dword [esp + 0x78]
xor esi, dword [esp + 0x7b]
or esi, edx
je 0x1004c030
mov edx, 0x7273722e
movzx esi, word [esp + 0x7c]
xor edx, dword [esp + 0x78]
xor esi, 0x63
or esi, edx
jne 0x1004c267
lea edx, [eax + 0x28]
cmp dword [edx], 0
jne 0x1004c03c
jmp 0x1004c267
lea edx, [eax + 0x40]
cmp dword [edx], 0
je 0x1004c267
cmp dword [edx + 4], ecx
jae 0x1004c267
mov esi, dword [eax + 0xcc]
cmp dword [eax + 0x14c], esi
jbe 0x1004c267
mov edi, dword [eax + 0xc]
add esi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x1a0]
adc edi, 0
push eax
push 2
push 0x3e85818
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push esi
call fcn.10064f10
add esp, 0x1c
xor esi, esi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x1004c0f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
add cl, 0xa9
mov ch, cl
mov ebx, esi
movzx edi, ch
shl ebx, 4
or edi, ebx
lea ebx, [edx + 1]
test eax, eax
cmove ebx, edx
je 0x1004c116
shld dword [esp + 0x20], esi, 4
inc eax
test edx, edx
mov esi, edi
jne 0x1004c0d0
cmp dword [esp], 0
mov ebx, dword [ebp + 8]
je 0x1004c1f8
movsd xmm0, qword [esp + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x1a0]
xor edi, 0x1ee
mov edx, esi
movsd qword [esp + 0x1a0], xmm0
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
lea ecx, [esp + 0x44]
push edi
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1004c267
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x1a4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x1ac], edi
mov edx, 0x3e880bf
push esi
push 7
call fcn.100582c0
add esp, 8
jmp 0x1004c267
mov esi, dword [esp + 0xd0]
mov eax, 0xfffffe00
test eax, eax
je 0x1004ea7a
movzx ecx, byte [esp + eax + 0x3a0]
inc eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x1004c1c0
jmp 0x1004ead3
mov ebx, dword [esp + 0x1a8]
mov edi, dword [esp + 0x1ac]
pxor xmm2, xmm2
jmp 0x1004eb4f
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x1004c267
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e85840
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
mov eax, dword [ebx]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x3e85844
call fcn.10036360
add esp, 8
cmp ax, 1
jne 0x1004c3d6
mov eax, dword [ebx]
mov ecx, edx
movzx ecx, cx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10053721
mov edx, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov esi, dword [edx + ecx*8 + 0xc]
add edi, esi
adc ebx, 0
cmp dword [eax + 0x14c], esi
mov al, 1
mov dword [esp + 0xb0], edi
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], eax
jbe 0x1004c2f0
mov eax, dword [edx + ecx*8 + 0x10]
cmp eax, 0x1000
mov dword [esp + 0x12c], eax
jae 0x1004c635
lea ecx, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c32e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004c33d
inc eax
test ecx, ecx
jne 0x1004c310
cmp byte [esp + 0xcc], 0
mov ebx, dword [ebp + 8]
jne 0x1004c3d6
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85849
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004c3d6
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, ebx
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004c435
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004c456
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004c410
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004c4cf
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor edi, 0x24a
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov ebx, dword [ebp + 8]
je 0x1004c4ef
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x1004c502
mov eax, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1a8]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 0x34]
dec dword [edi]
cmp eax, 1
je 0x1004c53b
jmp 0x1004cc0c
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
test ecx, ecx
je 0x1004c524
movq xmm0, qword [esp + 0x44]
jmp 0x1004cbd7
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov eax, dword [eax + 0x34]
dec dword [edi]
cmp eax, 1
jne 0x1004cc0c
lea ecx, [esp + 0x1a0]
mov edx, ebx
push dword [ebp + 0xc]
call fcn.10069d20
add esp, 4
xor ecx, ecx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004c595
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004c5b4
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004c570
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004ca3f
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ebx, 0x24e
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1004cba0
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x1004cbb3
xorps xmm0, xmm0
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x100], 0
movaps xmmword [esp], xmm0
nop dword [eax + eax]
cmp ecx, dword [esp + 0x12c]
mov edi, dword [ebp + 0xc]
mov eax, esi
sbb eax, 0
jae 0x1004c2f0
mov eax, ecx
mov dword [esp + 0x90], esi
mov edx, dword [edi]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x1a0]
add eax, dword [esp + 0xb0]
adc esi, dword [esp + 0xd0]
push 1
push 0x10
lea ebx, [esp + 8]
push ebx
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10036470
add esp, 0x1c
mov ecx, dword [esp + 0x1a0]
test ecx, ecx
je 0x1004c6d2
movq xmm0, qword [esp + 0x1a4]
mov eax, dword [esp + 0x1ac]
movdqa xmmword [esp + 0x130], xmm0
mov dword [esp + 0x118], eax
jmp 0x1004c780
xor ecx, ecx
cmp dword [esp + 0x1a4], 0x10
je 0x1004c780
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x3e8911e]
xor edx, edx
lea esi, [0x3e8911d]
nop word [eax + eax]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004c725
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004c744
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1004c700
movdqa xmm1, xmmword [0x3e815c0]
xor ebx, 0x91
mov dword [esp + 0x118], 0
mov ecx, 0xc76970a8
movd xmm0, ebx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x130], xmm1
nop word cs:[eax + eax]
nop dword [eax]
inc dword [esp + 0x100]
mov dword [esp + 0xc8], ecx
xor edi, edi
mov ecx, 0xfffffff9
lea eax, [0x3e854f6]
lea ebx, [0x3e854f5]
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 0x1004c7d1
or dl, 0x20
mov eax, edx
add al, 0x9f
cmp al, 6
jae 0x10057f9a
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 0x1004c7f2
shld dword [esp + 0x20], edi, 4
inc ecx
test ebx, ebx
mov edi, esi
jne 0x1004c7b0
mov eax, dword [esp + 0xc8]
mov ebx, dword [ebp + 0xc]
test eax, eax
je 0x1004c8a2
movdqa xmm0, xmmword [esp + 0x130]
mov edi, dword [esp + 0x118]
mov dword [esp + 0x1a0], eax
mov eax, dword [0x3e8b000]
movq qword [esp + 0x1a4], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x78], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004c87a
lea ecx, [esp + 0x78]
call fcn.10003710
xor ecx, ecx
movq xmm0, qword [esp + 0x1a0]
movd eax, xmm0
test eax, eax
je 0x1004c8a2
jmp 0x1004ea53
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 + 0x1a0]
movd eax, xmm0
test eax, eax
jne 0x1004ea53
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 [0x3e815d0]
mov esi, dword [esp + 0x90]
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 + 0x60]
ja 0x1004c2f0
add eax, dword [esp + 0xb0]
mov edx, dword [ebx]
lea ecx, [esp + 0x1a0]
adc esi, dword [esp + 0xd0]
add eax, 0x10
adc esi, 0
push 1
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.100371b0
add esp, 0x14
xor edi, edi
mov eax, 0xfffffff9
lea ebx, [0x3e854f6]
xor edx, edx
lea ecx, [0x3e854f5]
nop
mov esi, ecx
movzx ecx, byte [ecx]
mov dword [esp + 0x20], ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004c9a9
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
add cl, 0xa9
mov ch, cl
movzx esi, ch
mov ecx, dword [esp + 0x20]
mov ebx, edi
shl ebx, 4
or esi, ebx
test eax, eax
lea ebx, [ecx + 1]
cmove ebx, ecx
je 0x1004c9cc
shld edx, edi, 4
inc eax
test ecx, ecx
mov edi, esi
jne 0x1004c980
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
test eax, eax
jne 0x1004e909
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x90]
lea eax, [ecx - 2]
cmp eax, 0xfd
jae 0x1004c2f0
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 0x1004c2f0
cmp dword [esp + 0x100], 8
jne 0x1004c650
mov dword [esp + 0xcc], 0
jmp 0x1004c2f0
mov eax, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
cmp dword [eax + 0x34], 0
je 0x1004df3f
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx]
cmp dword [ecx + 0x14c], eax
jbe 0x1004cb99
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
adc esi, 0
dec dword [ebx]
mov dword [esp + 0xa0], ecx
mov ecx, esp
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
push edi
push 3
push 0x3e859a4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ecx, ecx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
movzx ebx, byte [edx]
mov edx, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004cb15
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004cb34
shld edi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1004caf0
cmp dword [esp], 0
je 0x1004e277
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov edi, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor ebx, 0x273
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004e8d9
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004e8e5
dec dword [ebx]
mov ebx, dword [ebp + 8]
jmp 0x1004cc0c
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test ecx, ecx
je 0x1004df2c
movq xmm0, qword [esp + 0x44]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1a0], ecx
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x3e880cd
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1004ce40
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0x78]
lea edi, [esp + 0x1a0]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
adc esi, 0
mov dword [esp + 0x78], ecx
mov ecx, esp
push edi
push 4
push 0x3e85a60
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004ccc5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004cce6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004cca0
cmp dword [esp], 0
je 0x1004cd41
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004cddc
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x1004cde8
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004ce40
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85ab0
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004ce40
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004ce40
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1004ce40
xor edi, 0x2a3
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1a0], ecx
mov edx, 0x3e880d5
mov dword [esp + 0x1a8], edi
movd dword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004cea5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004cec6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004ce80
cmp dword [esp + 0x1a0], 0
je 0x1004cf2e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x2b7
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d08b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004d094
movsd xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
mov ebx, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004d0db
cmp dword [esp + 8], 0x1337c68
jne 0x1004d0db
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 0xa
push 0x3e85b2c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004d005
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004d026
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004cfe0
cmp dword [esp], 0
je 0x1004df52
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x2cb
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004e099
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004e0a5
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm0, xmmword [esp]
mov ebx, dword [ebp + 8]
movd eax, xmm0
test eax, eax
je 0x1004d0db
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e880dd
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov eax, dword [ebx]
mov edx, dword [eax + 0x12c]
mov ecx, dword [eax + 0x128]
push 5
push 0x3e85844
call fcn.10036360
add esp, 8
cmp ax, 1
jne 0x1004d1d0
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0x14c]
mov esi, dword [eax + 0xc]
mov ecx, edi
add ecx, ebx
mov dword [esp + 0xcc], ecx
mov ecx, esi
adc ecx, 0
mov dword [esp + 0x130], ecx
movzx ecx, dx
mov edx, dword [eax + 0x12c]
cmp edx, ecx
jbe 0x10053730
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x90], eax
mov eax, esi
mov esi, edi
mov edi, ebx
mov dword [esp + 0xc8], esi
mov ebx, eax
add esi, edx
adc eax, 0
cmp edi, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x60], eax
jbe 0x1004d181
mov eax, dword [esp + 0x90]
cmp dword [eax + ecx*8 + 0x10], 0x1000
jae 0x1004d6bb
lea ecx, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x1004d1be
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004d1cd
inc eax
test ecx, ecx
jne 0x1004d1a0
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x1004d235
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004d256
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004d210
cmp dword [esp + 0x1a0], 0
je 0x1004d2be
mov edi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor esi, 0x335
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d41b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004d424
movsd xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004d46d
cmp dword [esp + 8], 0x7e3
jne 0x1004d46d
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ebx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 6
push 0x3e85c80
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x1004d395
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004d3b6
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004d370
cmp dword [esp], 0
je 0x1004dff4
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor esi, 0x34d
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004e0dc
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004e0e8
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd eax, xmm0
test eax, eax
je 0x1004d46d
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e880ed
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
cmp dword [esp + 0x180], 0x63
ja 0x1004db04
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push ebx
push edi
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea edi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edi]
mov edi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004d4d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004d4f6
shld dword [esp + 0x20], ebx, 4
inc eax
test edi, edi
mov ebx, esi
jne 0x1004d4b0
cmp dword [esp + 0x1a0], 0
je 0x1004d55e
mov edi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor esi, 0x365
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004dab4
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004dabd
movsd xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1004db04
cmp dword [esp + 8], 0x7e3
jne 0x1004db04
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ecx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 8
push 0x3e85d60
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea edi, [0x3e854f6]
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 0x1004d635
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004d656
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, esi
jne 0x1004d610
cmp dword [esp], 0
je 0x1004e1d5
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor esi, 0x37f
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004e896
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004e8a2
xor eax, eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x118], edi
inc ecx
mov dword [esp + 0x90], eax
mov edi, dword [ebp + 0xc]
add eax, dword [esp + 0x20]
mov dword [esp + 0xb0], esi
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0x1a0]
adc esi, dword [esp + 0x60]
mov edx, dword [edi]
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100371b0
add esp, 0x14
mov eax, 0xfffffff9
lea edi, [0x3e854f6]
xor edx, edx
xor ecx, ecx
lea esi, [0x3e854f5]
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004d745
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004d764
shld ecx, edx, 4
inc eax
test esi, esi
mov edx, ebx
jne 0x1004d720
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
test eax, eax
mov dword [esp + 0xd0], ecx
jne 0x1004e970
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
jae 0x1004e319
mov eax, dword [esp + 0x90]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0xb0]
lea ecx, [esp + 0x1a0]
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.100371b0
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea edi, [0x3e854f6]
xor edx, edx
lea esi, [0x3e854f5]
nop
movzx ebx, byte [esi]
mov esi, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004d805
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x1004d824
shld edx, ecx, 4
inc eax
test esi, esi
mov ecx, ebx
jne 0x1004d7e0
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
test eax, eax
jne 0x1004e9cf
lea eax, [ecx - 0x10000000]
cmp eax, 0xefffffff
mov eax, dword [esp + 0xd0]
jae 0x1004e319
xor ecx, eax
cmp ecx, 0x68
jb 0x1004e32d
cmp dword [esp + 0x118], ecx
jbe 0x1004e32d
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0xb0]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x1a0]
add eax, dword [esp + 0x20]
mov edx, dword [edi]
adc esi, dword [esp + 0x60]
add eax, 0x60
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
xor ecx, ecx
mov eax, 0xfffffff9
lea esi, [0x3e854f6]
xor edx, edx
lea edi, [0x3e854f5]
movzx ebx, byte [edi]
mov edi, esi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1004d8e5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
add bl, 0xa9
mov bh, bl
mov esi, ecx
movzx ebx, bh
shl esi, 4
or ebx, esi
lea esi, [edi + 1]
test eax, eax
cmove esi, edi
je 0x1004d904
shld edx, ecx, 4
inc eax
test edi, edi
mov ecx, ebx
jne 0x1004d8c0
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004d96b
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x11b0], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004d982
lea ecx, [esp + 0x78]
call fcn.10003710
xor edx, edx
jmp 0x1004d998
mov ebx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1ac]
mov ecx, dword [esp + 0xd0]
jmp 0x1004d9b6
movdqa xmm0, xmmword [esp + 0x11b0]
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 + 0xd0]
xor ebx, 0x30d
movd eax, xmm0
test eax, eax
jne 0x1004ec13
add ebx, ecx
mov eax, 0xffffffff
adc edx, 0
cmovb ebx, eax
cmovb edx, eax
cmp ebx, dword [esp + 0xc8]
mov eax, edx
sbb eax, dword [esp + 0x12c]
jb 0x1004e32d
cmp ebx, dword [esp + 0xcc]
sbb edx, dword [esp + 0x130]
jae 0x1004e32d
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x100]
add eax, 0x68
adc esi, 0
cmp ecx, 3
jne 0x1004d6cf
mov ecx, 0x3e854f4
mov edx, 0x323
call fcn.10009b40
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85bf8
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004d1cd
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004d1cd
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 0x1004db04
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e880f5
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov eax, dword [edi]
mov ecx, 0xfffffe00
add ecx, dword [eax + 0x2c]
cmp ecx, 0x7fdff
ja 0x1004e41f
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
call fcn.1006c980
add esp, 4
xor esi, esi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
mov eax, 0xfffffff9
xor edi, edi
nop word cs:[eax + eax]
nop
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004db75
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004db94
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004db50
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004dc0e
movsd xmm0, qword [esp + 0x1a4]
mov edi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0x395
mov dword [esp + 0x60], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1004dc22
lea ecx, [esp + 0xa0]
call fcn.10003710
xor ebx, ebx
jmp 0x1004dc35
mov eax, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x60], eax
jmp 0x1004dc64
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x7c]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov eax, dword [esp + 0x60]
movd edi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test edi, edi
je 0x1004dc5b
movsd xmm0, qword [esp + 0x44]
jmp 0x1004e3eb
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x3e85e04
mov edx, 0x1c
call 0x10070750
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x1a0], 4
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
test ecx, ecx
je 0x1004dd83
imul ebx, ecx, 0x2c
xor edx, edx
mov dword [esp + 0x90], 4
mov dword [esp + 0x20], 0
add ebx, edi
add edi, 0x2c
jmp 0x1004dcdb
cmp edi, ebx
lea edi, [edi + 0x2c]
je 0x1004dd98
cmp dword [edi - 0x1c], 0
jne 0x1004dcd0
cmp eax, dword [edi - 0x18]
jne 0x1004dcd0
mov ecx, dword [edi - 8]
mov esi, 0xfffffe00
add ecx, esi
cmp ecx, 0x7fe00
jae 0x1004dcd0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb0], eax
inc ecx
je 0x100581c3
cmp ecx, dword [esp + 0x1a8]
jbe 0x1004dd48
mov esi, ecx
call fcn.10034400
mov edx, esi
lea ecx, [esp + 0x1a0]
cmp eax, esi
jbe 0x1004dd3b
mov edx, eax
call fcn.1002aec0
mov edx, esi
lea ecx, [esp + 0x1a0]
cmp al, 8
je 0x1004dd48
call fcn.1002aec0
cmp al, 8
jne 0x100581ce
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
lea eax, [edi - 0x2c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xb0]
inc edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x20], edx
shr edx, 8
cmp edi, ebx
jne 0x1004dcbc
jmp 0x1004dd98
mov dword [esp + 0x90], 4
xor edx, edx
mov dword [esp + 0x20], 0
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x1a8]
shl edx, 8
or eax, edx
mov dword [esp + 0xb0], ecx
je 0x1004df0b
mov esi, dword [esp + 0x90]
mov ecx, dword [ebp + 8]
mov edi, 0
mov eax, dword [esi]
mov ecx, dword [ecx]
mov eax, dword [eax + 0x20]
cmp dword [ecx + 0x14c], eax
jbe 0x1004df20
mov edi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea esi, [esp + 0x1a0]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xa0], ecx
adc edi, 0
mov ecx, esp
push esi
push 2
push 0x3e85e34
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004de85
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004dea6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004de60
cmp dword [esp], 0
je 0x1004e110
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x3ac
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004e376
lea ecx, [esp + 0x78]
call fcn.10003710
xor ebx, ebx
jmp 0x1004e384
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x90]
xor edi, edi
jmp 0x1004e3b1
mov eax, dword [esp + 0xb0]
jmp 0x1004e3b1
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp dword [eax + 0x34], 0
jne 0x1004ca57
xor ecx, ecx
xor edx, edx
push 0x3e85850
call fcn.10006410
add esp, 4
ud2
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004d0db
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85bf4
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004d0db
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004d0db
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
or eax, dword [esp + 0xc]
je 0x1004d46d
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85cf8
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004d46d
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004d46d
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov ebx, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004d0b5
jmp 0x1004d0db
mov eax, dword [esp + 0x1a4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x1004d439
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x90]
or eax, dword [esp + 0xc]
je 0x1004e1ad
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85e5c
call fcn.1001dd30
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x6871a1e5
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xffff1c7d
call fcn.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004e1ad
mov ecx, dword [0x3e8b000]
push edx
push eax
push edi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0xb0]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004ea35
xor edi, edi
jmp 0x1004e3c8
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004db04
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85e00
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004db04
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004db04
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004cc0c
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e859e0
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004cc0c
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004cc0c
mov ecx, 0x3e854f4
mov edx, 0x323
call fcn.10009b40
jmp 0x1004d1cd
lea ecx, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
nop
movzx ebx, byte [ecx]
mov ecx, edx
mov edx, ebx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004e35e
or bl, 0x20
add bl, 0x9f
cmp bl, 6
jae 0x10057f9a
lea edx, [ecx + 1]
test eax, eax
cmove edx, ecx
je 0x1004d1cd
inc eax
test ecx, ecx
jne 0x1004e340
jmp 0x1004d1cd
mov eax, ebx
mov ebx, dword [esp + 0x1a4]
mov dword [ebx], esi
mov dword [ebx + 4], eax
movdqa xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0xb0]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movd edi, xmm0
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004e3dc
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x60]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test edi, edi
je 0x1004e41f
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1a0], edi
movlps qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], ebx
mov edx, 0x3e880fd
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
cmp word [ecx + 0x122], 3
jne 0x1004e680
mov edx, dword [ecx + 0x12c]
cmp edx, 2
jb 0x1005373f
mov eax, dword [ecx + 0x128]
mov edx, 0xfffff800
add edx, dword [eax + 0x38]
cmp edx, 0x480
jae 0x1004e680
mov eax, dword [eax + 0x34]
cmp dword [ecx + 0x14c], eax
jbe 0x1004e680
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0x78]
lea edi, [esp + 0x1a0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x78], ecx
adc esi, 0
mov ecx, esp
push edi
push 8
push 0x3e85ee4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004e505
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004e526
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x1004e4e0
cmp dword [esp], 0
je 0x1004e581
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004e61c
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x1004e628
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004e680
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e85f84
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004e680
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004e680
mov eax, dword [esp + 0x1a4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1004e680
xor esi, 0x3de
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1a0], ecx
mov edx, 0x3e88105
mov dword [esp + 0x1a8], esi
movd dword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov ecx, dword [ebx]
mov esi, dword [ecx + 0xcc]
test esi, esi
je 0x1004f569
mov eax, dword [ecx + 0xc]
add esi, dword [ecx + 8]
adc eax, 0
test byte [ecx + 0x127], 0x20
je 0x1004f569
mov ecx, dword [0x3e815e0]
mov word [esp + 0x7c], 0xc300
mov word [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
lea ecx, [esp + 0x1a0]
push 5
push 6
lea edi, [esp + 0x48]
push edi
mov edi, esi
push eax
push esi
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.10036470
add esp, 0x1c
mov ecx, dword [esp + 0x1a0]
test ecx, ecx
je 0x1004e74f
mov edx, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x3e8810d
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 3
call fcn.100582c0
add esp, 8
jmp 0x1004f569
mov ecx, dword [esp + 0x1a4]
cmp ecx, 7
jae 0x100581af
cmp ecx, 6
jne 0x1004f569
movzx ecx, word [esp + 0x44]
mov eax, dword [esp + 0x40]
xor cx, word [esp + 0x7c]
xor eax, dword [esp + 0x78]
movzx ecx, cx
or ecx, eax
jne 0x1004f569
mov ecx, dword [ebx]
movq xmm0, qword [ecx + 0x30]
movd eax, xmm0
test eax, eax
mov dword [esp + 0xb0], eax
je 0x1004f569
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
cmp eax, 0xc
jb 0x1004f557
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
xor ebx, ebx
mov dword [esp + 0xd0], edx
sub edi, edx
mov edx, 0xaaaaaaab
mov dword [esp + 0x100], ecx
mul edx
shr edx, 3
dec edx
jmp 0x1004e7e3
mov edx, dword [esp + 0x60]
inc ebx
cmp ebx, edx
jg 0x1004f557
lea eax, [edx + ebx]
mov dword [esp + 0x90], ebx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x100]
mov dword [esp + 0x60], edx
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x1a0]
add eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
adc esi, 0
mov edx, dword [eax]
push 1
mov dword [esp + 0xcc], esi
push esi
push dword [esp + 0x28]
push dword [eax + 8]
push dword [eax + 4]
call fcn.100371b0
add esp, 0x14
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
test eax, eax
jne 0x1004f502
xor eax, eax
cmp ecx, edi
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 1
je 0x1004e7d6
movzx eax, al
cmp eax, 0xff
jne 0x1004f47a
dec ebx
mov edx, ebx
mov ebx, dword [esp + 0x90]
cmp ebx, edx
jle 0x1004e7e3
jmp 0x1004f557
mov eax, dword [esp + 0x1a4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], esi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
mov edi, dword [ebp + 8]
movd eax, xmm0
test eax, eax
jne 0x1004dade
jmp 0x1004db04
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], edi
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
jne 0x1004c519
jmp 0x1004cc0c
mov edi, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x90], eax
mov eax, dword [0x3e8b000]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x4c]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004ec34
lea ecx, [esp + 0x78]
call fcn.10003710
mov dword [esp + 0xd0], 0
xor esi, 0x21e
jmp 0x1004ec4a
mov esi, dword [esp + 0x1a8]
mov edi, dword [esp + 0x1ac]
mov dword [esp + 0x90], eax
mov eax, dword [0x3e8b000]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004eda5
lea ecx, [esp + 0x40]
call fcn.10003710
mov dword [esp + 0xb0], 0
xor ebx, 0x2fb
jmp 0x1004edc7
mov esi, dword [esp + 0x1a8]
mov edi, dword [esp + 0x1ac]
mov dword [esp + 0x90], eax
mov eax, dword [0x3e8b000]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x1004edb1
lea ecx, [esp + 0x40]
call fcn.10003710
mov dword [esp + 0xb0], 0
xor ebx, 0x301
jmp 0x1004edc7
mov eax, dword [esp + 0x60]
dec dword [eax]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
cmp word [ecx + 0x122], 3
je 0x1004e432
jmp 0x1004e680
xor esi, 0x217
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x90], eax
movd dword [esp + 0xb0], xmm0
jmp 0x1004ec4a
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
mov edx, esp
push 4
push 0x3e8553f
call fcn.1001dd30
add esp, 8
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov edx, 0x7c82936c
mov ecx, dword [eax + 0x10]
push dword [esp + 0x44]
push ebx
push 0xffff1c73
call fcn.100403d0
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, ebx
call fcn.1002ca00
mov ecx, dword [esp + 0x118]
mov edx, esi
push dword [esp + 0x100]
call fcn.1003aad0
add esp, 4
lea ecx, [esp + 0x80]
call fcn.1002f060
pxor xmm0, xmm0
movd eax, xmm0
test eax, eax
jne 0x1004b5ed
jmp 0x1004b622
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [esp + 0x44]
movd eax, xmm0
mov dword [edi], eax
mov dword [edi + 4], esi
movq xmm0, qword [esp]
xor ebx, 0x1a6
pxor xmm2, xmm2
movd eax, xmm0
test eax, eax
je 0x1004eb4f
movd xmm1, ebx
movd xmm2, edi
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm2, xmm0
jmp 0x1004bf86
cmp ebx, 0x8000
mov eax, edi
sbb eax, 0
jb 0x1004bf86
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10056e9e
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov esi, edi
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
mov ecx, ebx
xor eax, eax
sub ecx, edx
sbb esi, 0
cmovb ecx, eax
cmovb esi, eax
cmp ecx, 0x8000
sbb esi, 0
jb 0x1004bf86
mov eax, dword [esp + 0xf0]
lea ecx, [esp + 0x1a0]
mov esi, dword [eax + 8]
mov edx, dword [esi]
push dword [ebp + 0x10]
push dword [esi + 8]
call fcn.10033710
add esp, 8
mov ecx, 0x3e854f4
mov edx, 0x1b0
call fcn.10009b40
mov ecx, esp
lea edx, [esp + 0x1a0]
push eax
call fcn.1002f340
add esp, 4
cmp dword [esp], 0
je 0x1004f2fb
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 0x1004bf86
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xb0], edx
mov dword [esp + 0x90], eax
movd dword [esp + 0xd0], xmm0
jmp 0x1004edc7
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, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x1004ec99
or bl, 0x20
mov edx, ebx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004ecbe
shld dword [esp + 0x60], eax, 4
inc edi
test ecx, ecx
mov eax, ebx
jne 0x1004ec70
movss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x90]
mov edi, dword [esp + 0xd0]
mov eax, dword [0x3e8b000]
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 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004ed1d
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x1004ed29
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
mov edx, 0x3e880c6
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x1a5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x1a7], cl
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x1a4], cl
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 7
call fcn.100582c0
add esp, 8
mov ebx, dword [ebp + 8]
jmp 0x1004c3d6
mov eax, dword [esp + 4]
xor ebx, 0x2fb
jmp 0x1004edbb
mov eax, dword [esp + 4]
xor ebx, 0x301
mov dword [eax], esi
mov dword [esp + 0xb0], eax
mov dword [eax + 4], edi
xor esi, esi
lea ecx, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x60], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [ecx]
mov dword [esp + 0x20], edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x1004ee17
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
add cl, 0xa9
mov edx, ecx
mov ecx, esi
movzx edi, dl
shl ecx, 4
or edi, ecx
mov ecx, dword [esp + 0x20]
test eax, eax
lea edx, [ecx + 1]
cmove edx, ecx
je 0x1004ee3c
shld dword [esp + 0x60], esi, 4
inc eax
test ecx, ecx
mov esi, edi
jne 0x1004edf0
movss xmm0, dword [esp + 0xd0]
movss xmm1, dword [esp + 0x90]
mov esi, dword [esp + 0xb0]
mov eax, dword [0x3e8b000]
xor edi, 0x323
mov dword [esp], ebx
unpcklps xmm1, xmm0
mov dword [esp + 4], esi
movaps xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004ee9b
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x1004eea7
mov eax, dword [esp + 0x1a4]
mov dword [eax], ebx
mov dword [eax + 4], esi
movaps xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
mov edx, 0x3e880e5
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 0x1a5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 0x1a7], cl
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0xd0]
mov byte [esp + 0x1a4], cl
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
jmp 0x1004d1d0
mov dword [esp + 0x40], 0
xor eax, eax
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x10049815
jmp 0x10049842
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b4]
add ecx, 0xffffffff
adc edx, 0xffffffff
adc eax, 0xffffffff
cmp ecx, 0xffffffff
sbb edx, 0
mov edx, dword [esp + 0x90]
sbb eax, 0
jae 0x1004a9d1
mov eax, ebx
mov esi, edx
mov ebx, edx
mov edx, dword [edi]
lea ecx, [esp + 0x1a0]
add eax, 0x50
adc esi, 0
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov esi, 0xffffffff
add eax, esi
adc ecx, esi
adc edx, esi
mov esi, ebx
mov ebx, 0xfffffffe
xor edi, edi
cmp ebx, eax
mov ebx, dword [esp + 0xb0]
mov eax, 0
sbb eax, ecx
sbb edi, edx
jb 0x1004a9d1
mov eax, ebx
mov ebx, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
add eax, 0x90
adc esi, 0
mov edx, dword [ebx]
push esi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov esi, 0xffffffff
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0xb0]
sbb edi, edx
mov edi, dword [esp + 0x90]
jb 0x1004a9d1
mov ebx, dword [ebp + 0xc]
add eax, 0xd0
lea ecx, [esp + 0x1a0]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0xb0]
sbb edi, edx
mov edi, dword [esp + 0x90]
jb 0x1004a9d1
mov ebx, dword [ebp + 0xc]
add eax, 0x110
lea ecx, [esp + 0x1a0]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0xb0]
sbb edi, edx
mov edi, dword [esp + 0x90]
jb 0x1004a9d1
mov ebx, dword [ebp + 0xc]
add eax, 0x150
lea ecx, [esp + 0x1a0]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov eax, 0
sbb eax, ecx
mov eax, dword [esp + 0xb0]
sbb edi, edx
mov edi, dword [esp + 0x90]
jb 0x1004a9d1
mov ebx, dword [ebp + 0xc]
add eax, 0x190
lea ecx, [esp + 0x1a0]
adc edi, 0
mov edx, dword [ebx]
push edi
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov ebx, 0xfffffffe
add eax, esi
adc ecx, esi
adc edx, esi
xor edi, edi
cmp ebx, eax
mov esi, 0
sbb esi, ecx
mov ecx, dword [esp + 0x90]
sbb edi, edx
mov edi, dword [esp + 0xb0]
jb 0x1004a9d1
mov eax, dword [ebp + 0xc]
add edi, 0x1d0
adc ecx, 0
mov ebx, ecx
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0xa7
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1004a8aa
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov edx, 0xffffffff
add eax, edx
adc ecx, edx
adc edx, dword [esp + 0x1b4]
cmp eax, 0xffffffff
sbb ecx, 0
sbb edx, 0
jb 0x1004a96f
jmp 0x1004a9d1
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x90], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esi + 0x2c]
cmp eax, dword [edx + 8]
jne 0x10058187
mov edx, dword [esi + 0x18]
add ebx, 0xfffffff0
lea eax, [esp + 0xa0]
mov ecx, esp
adc edi, 0xffffffff
push 0x10
push eax
push edi
push ebx
push dword [esp + 0xa0]
push dword [esi + 0x1c]
call fcn.10037eb0
add esp, 0x18
mov ecx, 0x3e854f4
mov edx, 0x1b4
call fcn.10009b40
mov ecx, dword [esp]
test ecx, ecx
je 0x10053333
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 4]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x40]
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x1a0]
push eax
call fcn.100031f0
add esp, 4
mov eax, dword [esp + 0x40]
mov ebx, dword [ebp + 8]
test eax, eax
je 0x10053336
movd xmm1, dword [esp + 0x44]
movq xmm0, qword [esp + 0x48]
movd xmm2, eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
movdqa xmmword [esp + 0x90], xmm2
push esi
call fcn.1003aad0
add esp, 4
lea ecx, [esp + 0x80]
call fcn.1002f060
movaps xmm2, xmmword [esp + 0x90]
jmp 0x1004bf86
cmp byte [esp + 4], 0
je 0x10049842
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e853bc
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x10049842
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0xc8]
mov edx, dword [ecx]
add eax, 4
mov ebx, esi
lea ecx, [esp + 0x1a0]
adc ebx, 0
push 1
push ebx
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call fcn.100371b0
add esp, 0x14
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x1004f4fb
mov eax, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
add ebx, 8
adc esi, 0
mov edx, dword [eax]
push 1
push esi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.100371b0
add esp, 0x14
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10056f07
mov ecx, dword [esp + 0x1a4]
mov esi, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1ac]
cmp eax, 0xc76970a8
jne 0x1005313c
cmp ecx, 0x76d4030
jne 0x1005313c
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x1a0], 0xc76970a8
mov dword [esp + 0x1a4], 0x76d4030
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], ebx
call fcn.10003710
mov ecx, 0x3e818d0
mov edx, 0x58
call fcn.10009b40
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x1004f5c5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004f5e6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004f5a0
cmp dword [esp + 0x1a0], 0
je 0x1004f64e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x3f2
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1004f7ab
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004f7b4
movsd xmm0, qword [esp + 0x1a8]
movsd xmm1, qword [esp + 0x1b0]
mov ebx, dword [ebp + 8]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1004f7fa
cmp dword [esp + 8], 0xc
jne 0x1004f7fa
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 4
push 0x3e85fa4
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f725
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004f746
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004f700
cmp dword [esp], 0
je 0x1004fdeb
xor edi, 0x426
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004fecb
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x1004fed7
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
movd eax, xmm0
test eax, eax
je 0x1004f7fa
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e88110
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xcc]
cmp dword [ecx + 0x14c], eax
jbe 0x1004fa20
mov esi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
xorps xmm0, xmm0
lea edx, [esp + 0x78]
lea edi, [esp + 0x1a0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
adc esi, 0
mov dword [esp + 0x78], ecx
mov ecx, esp
push edi
push 8
push 0x3e861d8
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004f8a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004f8c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004f880
cmp dword [esp], 0
je 0x1004f921
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004f9bc
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x1004f9c8
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0xc]
je 0x1004fa20
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e86278
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004fa20
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x1004fa20
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd ecx, xmm0
test ecx, ecx
je 0x1004fa20
xor edi, 0x45a
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1a0], ecx
mov edx, 0x3e88118
mov dword [esp + 0x1a8], edi
movd dword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
mov eax, dword [ebx]
mov ecx, 0xfffff000
and ecx, dword [eax + 0x2c]
cmp ecx, 0x12000
jne 0x1005006d
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
call fcn.1006c980
add esp, 4
xor esi, esi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
mov eax, 0xfffffff9
xor edi, edi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004fa85
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004faa4
shld edi, esi, 4
inc eax
test edx, edx
mov esi, ecx
jne 0x1004fa60
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1004fb1e
movsd xmm0, qword [esp + 0x1a4]
mov edi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0x470
mov dword [esp + 0x60], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], edi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x1004fb32
lea ecx, [esp + 0xa0]
call fcn.10003710
xor ebx, ebx
jmp 0x1004fb45
mov eax, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x60], eax
jmp 0x1004fb74
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x7c]
movd eax, xmm0
mov dword [ebx], eax
mov dword [ebx + 4], edi
movq xmm0, qword [esp]
mov eax, dword [esp + 0x60]
movd edi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test edi, edi
je 0x1004fb6b
movsd xmm0, qword [esp + 0x44]
jmp 0x10050039
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
mov ecx, 0x3e8627c
mov edx, 0x16
call 0x10070750
mov ecx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x1a0], 4
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
test ecx, ecx
je 0x1004fc69
imul ebx, ecx, 0x2c
mov esi, 4
xor edx, edx
xor ecx, ecx
add ebx, edi
jmp 0x1004fbdb
add edi, 0x2c
cmp edi, ebx
je 0x1004fc72
cmp dword [edi], 0
je 0x1004fbd0
cmp dword [edi + 4], 0xa
jne 0x1004fbd0
cmp dword [edi + 0x10], 0
jne 0x1004fbd0
cmp eax, dword [edi + 0x14]
jne 0x1004fbd0
inc ecx
mov dword [esp + 0x20], eax
je 0x100581ca
cmp ecx, dword [esp + 0x1a8]
jbe 0x1004fc3a
mov esi, ecx
call fcn.10034400
mov edx, esi
cmp eax, esi
jbe 0x1004fc26
lea ecx, [esp + 0x1a0]
mov edx, eax
call fcn.1002aec0
mov edx, esi
cmp al, 8
je 0x1004fc3a
lea ecx, [esp + 0x1a0]
call fcn.1002aec0
cmp al, 8
jne 0x100581ce
mov esi, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x20]
mov dword [esi + ecx*4], edi
inc ecx
add edi, 0x2c
mov edx, ecx
mov dword [esp + 0x1a4], ecx
shr edx, 8
cmp edi, ebx
jne 0x1004fbdb
jmp 0x1004fc72
mov esi, 4
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x1a8]
mov eax, ecx
shl edx, 8
movzx edi, al
or edi, edx
mov dword [esp + 0x90], ebx
je 0x1004fddb
mov eax, dword [esi]
mov ecx, dword [ebp + 8]
mov edi, 0
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx]
cmp dword [ecx + 0x14c], eax
jbe 0x1004fddf
mov edi, dword [ecx + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [ebp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0xb0], esi
lea edx, [esp + 0xa0]
lea esi, [esp + 0x1a0]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xa0], ecx
adc edi, 0
mov ecx, esp
push esi
push 2
push 0x3e862b4
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x1004fd55
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x1004fd76
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x1004fd30
cmp dword [esp], 0
je 0x1004ff02
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x48b
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x1004ffc4
lea ecx, [esp + 0x78]
call fcn.10003710
xor ebx, ebx
jmp 0x1004ffd2
xor edi, edi
jmp 0x1004fddf
mov eax, dword [esp + 0x90]
jmp 0x1004ffff
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051e52
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x1a0]
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push eax
push 1
push 0x3e860f4
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0xa4], edi
push edi
mov dword [esp + 0x78], esi
push esi
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1004fe95
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x1004feb6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x1004fe70
cmp dword [esp], 0
je 0x10051da2
xor edi, 0x42c
jmp 0x1004f756
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x1004f7cc
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xb0]
or eax, dword [esp + 0xc]
je 0x1004ff9f
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e862dc
call fcn.1001dd30
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x998609a6
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xe543
call fcn.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1004ff9f
mov ecx, dword [0x3e8b000]
push edx
push eax
push edi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov edx, 4
mov ecx, 4
push dword [esp + 0x90]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10051ffc
xor edi, edi
jmp 0x10050016
mov eax, ebx
mov ebx, dword [esp + 0x1a4]
mov dword [ebx], esi
mov dword [ebx + 4], eax
movdqa xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0x90]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edi
movd edi, xmm0
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0x20], xmm0
mov edx, 4
mov ecx, 4
push eax
call fcn.100092d0
add esp, 4
test eax, eax
je 0x1005002a
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov eax, dword [esp + 0x60]
movaps xmm0, xmmword [esp + 0x20]
dec dword [eax]
test edi, edi
je 0x1005006d
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1a0], edi
movlps qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], ebx
mov edx, 0x3e88120
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x100500d5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100500f6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x100500b0
cmp dword [esp + 0x1a0], 0
je 0x1005015e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x49f
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100502cb
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x100502d4
movq xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10050321
cmp dword [esp + 8], 0x7e3
jne 0x10050321
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ebx
mov ecx, esp
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
push edi
push 5
push 0x3e86304
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10050245
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050266
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10050220
cmp dword [esp], 0
je 0x10051522
xor edi, 0x4b2
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10051ab9
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10051ac5
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movdqu xmm2, xmmword [esp]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd eax, xmm2
test eax, eax
je 0x10050321
mov eax, dword [esp + 0x3c]
movdqu xmmword [esp + 0x1a0], xmm2
mov edx, 0x3e88128
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push ebx
push esi
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10050385
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x100503a6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10050360
cmp dword [esp + 0x1a0], 0
je 0x1005040e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x4db
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005056b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10050574
movsd xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x100505bd
cmp dword [esp + 8], 0x13418bf
jne 0x100505bd
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ebx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 0xd
push 0x3e86454
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100504e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050506
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100504c0
cmp dword [esp], 0
je 0x1005161b
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x50e
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10051b2a
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10051b36
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd eax, xmm0
test eax, eax
je 0x100505bd
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e88130
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push ebx
push edi
call fcn.100023f0
add esp, 8
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x10050615
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050636
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100505f0
cmp dword [esp + 0x1a0], 0
je 0x1005069e
mov edi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor esi, 0x53a
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100507fb
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10050804
movsd xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 3
jne 0x1005084c
cmp dword [esp + 8], 0x7a
jne 0x1005084c
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xf0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xf0], ebx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 8
push 0x3e8657c
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10050775
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050796
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10050750
cmp dword [esp], 0
je 0x100516c0
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor esi, 0x54d
mov dword [esp + 0x40], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10051b5e
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x10051b6a
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]
mov ebx, dword [ebp + 0xc]
test ecx, ecx
je 0x1005084c
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x3e88138
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
movups xmmword [esp + 0x1a0], xmm0
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push ebx
push edi
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100508a5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x100508c6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10050880
cmp dword [esp + 0x1a0], 0
je 0x1005092e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x570
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050a8b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10050a94
movsd xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10050ad9
cmp dword [esp + 8], 0x7e3
jne 0x10050ad9
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0xf0], edi
lea edx, [esp + 0xf0]
lea edi, [esp + 0x1a0]
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 4
push 0x3e86638
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax + eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10050a05
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050a26
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100509e0
cmp dword [esp], 0
je 0x100517ee
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x57f
mov dword [esp + 0x40], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x44], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10051b94
lea ecx, [esp + 0x40]
call fcn.10003710
xor eax, eax
jmp 0x10051ba0
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
mov ebx, dword [esp]
mov edi, dword [ebp + 0xc]
test ebx, ebx
je 0x10050ad9
mov eax, dword [esp + 0x3c]
movaps xmm0, xmmword [esp]
mov edx, 0x3e88140
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
movups xmmword [esp + 0x1a0], xmm0
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push edi
push dword [ebp + 8]
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x10050b35
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x10050b56
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10050b10
cmp dword [esp + 0x1a0], 0
je 0x10050bbe
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x595
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050d1b
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10050d24
movsd xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov ebx, dword [ebp + 8]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10050d6a
cmp dword [esp + 8], 0x13418bf
jne 0x10050d6a
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0xa0], ecx
mov ecx, esp
push edi
push 3
push 0x3e866a0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10050c95
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050cb6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10050c70
cmp dword [esp], 0
je 0x10051908
xor edi, 0x5bb
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10051af3
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10051aff
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
movd eax, xmm0
test eax, eax
je 0x10050d6a
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e88148
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push dword [ebp + 0xc]
push ebx
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x10050dc5
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x10050de6
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10050da0
cmp dword [esp + 0x1a0], 0
je 0x10050e4e
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x5dd
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10050fab
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10050fb4
movsd xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10050ffd
cmp dword [esp + 8], 0x134890d
jne 0x10050ffd
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov dword [esp + 0xa0], ebx
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push edi
push 6
push 0x3e86808
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10050f25
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10050f46
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10050f00
cmp dword [esp], 0
je 0x100519eb
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [0x3e8b000]
xor edi, 0x5f6
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10051bbc
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10051bc8
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movups xmm0, xmmword [esp]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd eax, xmm0
test eax, eax
je 0x10050ffd
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x1a0], xmm0
mov edx, 0x3e88150
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push ebx
push edi
call fcn.100023f0
add esp, 8
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x10051055
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10051076
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x10051030
cmp dword [esp + 0x1a0], 0
je 0x100510de
mov edi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor esi, 0x60a
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x1005123f
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
jmp 0x10051248
movq xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x1005129e
cmp dword [esp + 8], 0x7e3
jne 0x1005129e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
add eax, 0x1000
mov edx, ecx
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x1a0]
adc edx, 0
mov dword [esp + 0x100], eax
mov dword [esp + 0xc8], edx
mov edx, edi
push ebx
call fcn.1006ab90
add esp, 4
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
mov eax, 0xfffffff9
xor esi, esi
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051195
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x100511b4
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10051170
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10051a90
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0x611
mov dword [esp + 0x60], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
je 0x10051bf0
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x10051c03
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]
mov ebx, dword [ebp + 0xc]
test esi, esi
je 0x1005129e
mov eax, dword [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0x40]
mov edx, 0x3e88158
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
movdqu xmmword [esp + 0x1a0], xmm0
push eax
push 8
call fcn.100582c0
add esp, 8
lea ecx, [esp + 0x1a0]
mov edx, edi
push ebx
call fcn.1006ab90
add esp, 4
xor ecx, ecx
lea edx, [0x3e854f5]
lea edi, [0x3e854f6]
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 0x100512f5
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x10051314
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x100512d0
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1005138a
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ebx, 0x674
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x100513af
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x100513c2
mov eax, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
jne 0x10051434
jmp 0x10052c55
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
movd edi, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], ebx
test edi, edi
je 0x10051419
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x1a0], edi
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x3c]
mov edx, 0x3e88160
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.100582c0
add esp, 8
jmp 0x10052c57
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
je 0x10052c55
mov edx, dword [esp + 0x90]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov esi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], edx
jmp 0x1005145c
mov dword [esp + 0x60], esi
sub esi, ecx
jbe 0x10052c55
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 0x10051450
movzx ecx, dl
cmp ecx, 0xff
jne 0x1005149e
inc esi
mov ecx, esi
mov esi, dword [esp + 0x60]
sub esi, ecx
ja 0x1005145c
jmp 0x10052c55
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x10052c55
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 0x100514df
mov dword [esp + 0xb0], edx
sub edx, ecx
jbe 0x10052c55
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 0x100514d0
movzx eax, al
cmp eax, 0xff
jne 0x10051cbc
inc edx
mov ecx, edx
mov edx, dword [esp + 0xb0]
sub edx, ecx
ja 0x100514df
jmp 0x10052c55
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051f1a
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
pxor xmm0, xmm0
lea edx, [esp + 0xa0]
lea edi, [esp + 0x1a0]
mov ecx, esp
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x60], eax
add eax, 8
mov dword [esp + 0x90], esi
adc esi, 0
push edi
push 1
push 0x3e86368
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100515e5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10051606
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x100515c0
cmp dword [esp], 0
je 0x10051e5d
xor edi, 0x4ba
jmp 0x10050276
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
or eax, dword [esp + 0xc]
je 0x100505bd
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e86558
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x100505bd
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x100505bd
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051d1f
mov eax, dword [esp + 0xf0]
mov byte [esp + 0xe6], 0
mov word [esp + 0xe4], 0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 1
mov dword [esp + 0x94], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037c50
add esp, 0x14
xor edi, edi
lea edx, [0x3e854f5]
lea ebx, [0x3e854f6]
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 0x10051755
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10051774
shld esi, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10051730
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10051f23
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
mov edi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10052007
lea ecx, [esp + 0x78]
call fcn.10003710
mov dword [esp + 0xb0], 0
jmp 0x10052021
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051d2d
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 1
mov dword [esp + 0x64], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037c50
add esp, 0x14
xor edi, edi
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10051875
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10051894
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10051850
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10051f34
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
mov edi, ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100520c2
lea ecx, [esp + 0x78]
call fcn.10003710
xor ecx, ecx
jmp 0x100520d8
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051ff1
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xorps xmm0, xmm0
lea edx, [esp + 0xa0]
lea eax, [esp + 0x1a0]
mov ecx, esp
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
push eax
push 5
push 0x3e86708
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [esp + 0xa4], edi
push edi
mov dword [esp + 0x78], esi
push esi
call fcn.10064f10
add esp, 0x1c
xor ebx, ebx
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100519b5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x100519d6
shld dword [esp + 0x20], ebx, 4
inc eax
test edx, edx
mov ebx, edi
jne 0x10051990
cmp dword [esp], 0
je 0x10051f41
xor edi, 0x5c1
jmp 0x10050cc6
mov eax, dword [esp + 8]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
or eax, dword [esp + 0xc]
je 0x10050ffd
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
push 4
push 0x3e86880
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, 1
mov ecx, 1
push dword [esp + 8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10050ffd
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
jmp 0x10050ffd
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
jne 0x10051c52
jmp 0x10057f77
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm1, xmmword [esp + 0x20]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movd xmm0, eax
movlps qword [esp + 0x40], xmm1
mov dword [esp + 0x48], edi
movsd xmm2, qword [esp + 0x44]
shufps xmm0, xmm2, 0xd4
unpcklps xmm2, xmm1
shufps xmm2, xmm0, 0x21
jmp 0x100502f2
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
mov ebx, dword [ebp + 8]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10050d3c
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10050589
mov eax, dword [esp + 0x1a4]
mov dword [eax], edi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp], xmm0
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
movd ecx, xmm0
test ecx, ecx
jne 0x10050822
jmp 0x1005084c
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp], xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
movd ebx, xmm0
jmp 0x10050aa8
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
movaps xmm2, xmmword [esp + 0x20]
movd xmm1, eax
movlps qword [esp + 0x40], xmm2
mov dword [esp + 0x48], edi
movsd xmm0, qword [esp + 0x44]
shufps xmm1, xmm0, 0xd4
unpcklps xmm0, xmm2
shufps xmm0, xmm1, 0x21
jmp 0x10050fc9
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov edx, dword [esp + 0x60]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10051c37
movq xmm0, qword [esp + 0x44]
mov dword [esp + 0x40], ecx
movq qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], eax
jmp 0x10051271
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
je 0x10057f77
mov edx, dword [esp + 0x90]
mov eax, dword [eax + 0xc]
xor esi, esi
mov ecx, edx
mov dword [esp + 0x20], eax
jmp 0x10051c7a
mov edx, ecx
sub ecx, esi
jbe 0x10057f77
shr ecx, 1
mov edi, dword [esp + 0x20]
xor eax, eax
add ecx, esi
mov ebx, ecx
shl ebx, 4
cmp dword [edi + ebx + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x10051c70
movzx eax, al
cmp eax, 0xff
jne 0x10051d3b
inc ecx
mov esi, ecx
mov ecx, edx
sub ecx, esi
ja 0x10051c7a
jmp 0x10057f77
mov eax, dword [esp + 0x90]
xor ecx, ecx
mov esi, eax
mov dword [esp + 0x60], eax
jmp 0x10051cd9
mov dword [esp + 0x60], esi
sub esi, ecx
jbe 0x100523c2
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 0x10051ccd
movzx ecx, dl
cmp ecx, 0xff
jne 0x10052353
inc esi
mov ecx, esi
mov esi, dword [esp + 0x60]
sub esi, ecx
ja 0x10051cd9
jmp 0x100523c2
mov dword [esp], 0
xor ecx, ecx
jmp 0x10050818
xor ebx, ebx
mov dword [esp], 0
jmp 0x10050aa8
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10057f77
mov ecx, dword [esp + 0x20]
xor edx, edx
mov esi, eax
mov ecx, dword [ecx + ebx]
jmp 0x10051d62
mov esi, eax
sub eax, edx
jbe 0x10057f77
shr eax, 1
xor ebx, ebx
add eax, edx
mov edi, eax
shl edi, 4
cmp dword [ecx + edi + 0xc], 0x7ca4fdf
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x10051d58
movzx edx, bl
cmp edx, 0xff
jne 0x100524fc
inc eax
mov edx, eax
mov eax, esi
sub eax, edx
ja 0x10051d62
jmp 0x10057f77
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051e52
xorps xmm0, xmm0
mov esi, esp
lea eax, [esp + 0x1a0]
lea edx, [esp + 0xa0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov ecx, esi
push eax
push 3
push 0x3e86148
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0xa4]
push dword [esp + 0x78]
call fcn.10064f10
add esp, 0x1c
mov ecx, 0x3e854f4
mov edx, 0x434
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, esi
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
mov ebx, dword [ebp + 8]
je 0x100528f8
movsd xmm1, qword [esp + 0x48]
movss xmm0, dword [esp + 0x44]
movss xmm2, dword [esp + 0x50]
unpcklps xmm0, xmm1
shufps xmm2, xmm1, 0xd4
shufps xmm0, xmm2, 0x24
jmp 0x1004f7cc
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
jmp 0x1004f7cc
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051f1a
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
pxor xmm0, xmm0
mov ebx, esp
lea edi, [esp + 0x1a0]
lea edx, [esp + 0xa0]
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov ecx, ebx
add eax, 8
adc esi, 0
push edi
push 1
push 0x3e86368
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push eax
call fcn.10064f10
add esp, 0x1c
mov ecx, 0x3e854f4
mov edx, 0x4c1
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, ebx
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
je 0x10052970
movsd xmm0, qword [esp + 0x48]
movss xmm2, dword [esp + 0x44]
movss xmm1, dword [esp + 0x50]
unpcklps xmm2, xmm0
shufps xmm1, xmm0, 0xd4
shufps xmm2, xmm1, 0x24
jmp 0x100502f2
pxor xmm2, xmm2
jmp 0x100502ec
movzx eax, byte [esp + 0x1a4]
mov dword [esp + 0x60], eax
jmp 0x10052053
movzx eax, byte [esp + 0x1a4]
jmp 0x1005210e
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x10051ff1
xorps xmm0, xmm0
mov esi, esp
lea eax, [esp + 0x1a0]
lea edx, [esp + 0xa0]
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov ecx, esi
push eax
push 2
push 0x3e867b0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0xa4]
push dword [esp + 0x78]
call fcn.10064f10
add esp, 0x1c
mov ecx, 0x3e854f4
mov edx, 0x5c9
call fcn.10009b40
lea ecx, [esp + 0x40]
mov edx, esi
push eax
call fcn.1002ce40
add esp, 4
cmp dword [esp + 0x40], 0
mov ebx, dword [ebp + 8]
je 0x100529fd
movsd xmm1, qword [esp + 0x48]
movss xmm0, dword [esp + 0x44]
movss xmm2, dword [esp + 0x50]
unpcklps xmm0, xmm1
shufps xmm2, xmm1, 0xd4
shufps xmm0, xmm2, 0x24
jmp 0x10050d3c
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
jmp 0x10050d3c
mov eax, dword [esp + 0x60]
dec dword [eax]
jmp 0x1005006d
movdqa xmm0, xmmword [esp + 0x60]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [esp + 0xb0], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x60], eax
je 0x10052053
xor edi, 0x51f
shr eax, 8
mov dword [esp + 0x90], ecx
mov dword [esp + 0xd0], edi
mov dword [esp + 0x100], eax
jmp 0x100526c5
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x90]
lea esi, [esp + 0xe4]
lea ecx, [esp + 0x1a0]
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.10036470
add esp, 0x1c
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x1005219e
movq xmm0, qword [esp + 0x1a4]
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0x90], eax
mov dword [esp + 0xb0], ecx
jmp 0x100525da
movdqa xmm0, xmmword [esp + 0x90]
mov ecx, dword [esp + 0x44]
movd eax, xmm0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ebx, dword [esp]
mov eax, dword [esp + 4]
test ebx, ebx
je 0x1005210e
mov esi, eax
mov dword [esp + 0x60], ecx
xor edi, 0x55f
mov ecx, 0x3e854f4
mov edx, 0x583
mov dword [esp + 0x20], edi
shr esi, 8
mov edi, eax
call fcn.10009b40
mov ecx, edi
jmp 0x100522e6
mov edi, dword [ebp + 0xc]
test al, al
js 0x100521c7
xor esi, esi
mov ecx, 0x3e854f4
mov edx, 0x583
call fcn.10009b40
mov eax, esi
test al, al
je 0x10050ad9
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e86688
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x10050ad9
cmp dword [esp + 0x1a4], 3
jne 0x10052555
mov dword [esp + 0x90], 0
mov dword [esp + 0xb0], 0
jmp 0x100525da
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x60]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push edi
mov esi, dword [esp + 0x24]
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0x563
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
jne 0x1005227c
mov eax, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b0]
add esi, 0x10
lea ecx, [esp + 0x1a0]
adc edi, 0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xf0]
mov edx, dword [eax]
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037560
add esp, 0x10
mov ecx, 0x3e854f4
mov edx, 0x564
call fcn.10009b40
cmp dword [esp + 0x1a0], 0
je 0x10053205
movsd xmm0, qword [esp + 0x1a4]
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1b0]
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.100031f0
add esp, 4
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ecx, 0x3e854f4
mov edx, 0x583
mov dword [esp + 0x60], eax
call fcn.10009b40
test ebx, ebx
je 0x10052fb1
mov ecx, esi
shr esi, 8
mov dword [esp + 0x20], edi
mov edi, eax
shl esi, 8
movzx eax, cl
movd xmm1, ebx
mov dword [esp + 0x90], ecx
or eax, esi
mov esi, dword [esp + 0x60]
movd xmm0, eax
mov eax, dword [esp + 0x20]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0xb0], xmm1
mov dword [esp], eax
mov eax, dword [0x3e8b000]
mov dword [esp + 4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x100524a8
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x100524b8
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x100523c2
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 0x10052384
mov dword [esp + 0xb0], edx
sub edx, ecx
jbe 0x100523c2
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 0x10052379
movzx eax, al
cmp eax, 0xff
jne 0x10052a75
mov eax, dword [esp + 0x90]
xor ecx, ecx
mov dword [esp + 0x60], eax
jmp 0x100523e4
mov dword [esp + 0x60], eax
sub eax, ecx
mov dword [esp + 0x90], eax
jbe 0x10052c55
mov eax, dword [esp + 0x90]
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 0x100523d1
movzx ecx, dl
cmp ecx, 0xff
jne 0x10052434
inc eax
mov ecx, eax
mov eax, dword [esp + 0x60]
sub eax, ecx
mov dword [esp + 0x90], eax
ja 0x100523e4
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + esi + 4]
test ecx, ecx
je 0x10052c55
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], esi
movaps xmm0, xmmword [esp + 0xb0]
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
movzx edx, byte [esp + 0xa7]
mov word [esp + 5], cx
mov byte [esp + 7], dl
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x90]
mov dword [esp], ebx
mov byte [esp + 4], al
jmp 0x10050aa8
mov edx, dword [esp + 0x90]
xor esi, esi
mov ecx, edx
jmp 0x10052513
mov edx, ecx
sub ecx, esi
jbe 0x10057f77
shr ecx, 1
mov edi, dword [esp + 0x20]
xor eax, eax
add ecx, esi
mov ebx, ecx
shl ebx, 4
cmp dword [edi + ebx + 0xc], 0x2dd2b3ce
mov edi, 0xff
setne al
cmovb eax, edi
cmp al, 1
je 0x10052509
movzx eax, al
cmp eax, 0xff
jne 0x1005319e
inc ecx
mov esi, ecx
mov ecx, edx
sub ecx, esi
ja 0x10052513
jmp 0x10057f77
xor ecx, ecx
lea edx, [0x3e8911d]
lea edi, [0x3e8911e]
mov eax, 0xfffffff9
xor esi, esi
movzx ebx, byte [edx]
mov edx, edi
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x1005258f
or bl, 0x20
mov bh, bl
add bh, 0x9f
cmp bh, 6
jae 0x10057f9a
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 0x100525ae
shld esi, ecx, 4
inc eax
test edx, edx
mov ecx, ebx
jne 0x1005256a
movdqa xmm0, xmmword [0x3e815c0]
xor ebx, 0x91
mov dword [esp + 0xb0], 0
mov dword [esp + 0x90], 0xc76970a8
movd xmm1, ebx
punpckldq xmm0, xmm1
xor ebx, ebx
lea eax, [0x3e854f5]
lea edi, [0x3e854f6]
mov edx, 0xfffffff9
mov dword [esp + 0x20], 0
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax]
mov eax, edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10052625
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10052646
shld dword [esp + 0x20], ebx, 4
inc edx
test eax, eax
mov ebx, esi
jne 0x10052600
mov eax, dword [esp + 0x90]
test eax, eax
je 0x1005279d
mov ecx, dword [esp + 0xb0]
xor esi, 0x523
mov dword [esp + 0x1a0], eax
movq qword [esp + 0x1a4], xmm0
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1ac], ecx
mov ecx, esp
push esi
call fcn.100031f0
add esp, 4
mov eax, dword [esp]
test eax, eax
je 0x1005279d
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
shr edx, 8
mov dword [esp + 0x100], edx
mov dword [esp + 0xb0], ecx
xor esi, esi
lea edx, [0x3e854f5]
lea eax, [0x3e854f6]
mov ecx, 0xfffffff9
mov dword [esp + 0x20], 0
movzx ebx, byte [edx]
mov edx, eax
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x10052701
or bl, 0x20
mov eax, ebx
add al, 0x9f
cmp al, 6
jae 0x10057f9a
add bl, 0xa9
mov eax, ebx
mov edi, esi
movzx ebx, al
lea eax, [edx + 1]
shl edi, 4
or ebx, edi
test ecx, ecx
cmove eax, edx
je 0x10052722
shld dword [esp + 0x20], esi, 4
inc ecx
test edx, edx
mov esi, ebx
jne 0x100526e0
mov ecx, dword [esp + 0x100]
movzx eax, byte [esp + 0x60]
movd xmm1, dword [esp + 0x90]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xb0]
xor ebx, 0x551
shl ecx, 8
mov dword [esp], esi
mov dword [esp + 4], edi
or eax, ecx
movd xmm0, eax
mov eax, dword [0x3e8b000]
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x100528a7
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x100528b3
mov edx, dword [esp + 0x60]
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 0x100527c0
xor dl, byte [esp + 0xe4]
cmp dl, 0x74
jne 0x1005288d
mov ecx, eax
add bl, 0xbc
add al, 0x2f
add cl, 0xb0
cmp cl, 0xa0
ja 0x100527e2
xor al, byte [esp + 0xe5]
cmp al, 0x74
jne 0x1005288d
mov eax, ebx
add bl, 0x2f
add al, 0xb0
cmp al, 0xa1
jae 0x10052800
xor bl, byte [esp + 0xe6]
mov ecx, 0x3e854f4
mov edx, 0x551
call fcn.10009b40
cmp bl, 0x70
jne 0x1005289c
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e8661c
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x1005289c
mov ecx, 0x3e854f4
mov edx, 0x551
call fcn.10009b40
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
jmp 0x1005084c
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], edi
movaps xmm0, xmmword [esp + 0x20]
movlps qword [esp + 0xa0], xmm0
movzx ecx, word [esp + 0xa5]
mov word [esp + 5], cx
movzx ecx, byte [esp + 0xa7]
mov byte [esp + 7], cl
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x60]
mov dword [esp], ecx
mov byte [esp + 4], al
jmp 0x10050818
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1004f7fa
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e86184
call fcn.1001dd30
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0xa424d249
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xffff1c84
call fcn.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, edi
call fcn.1002ca00
jmp 0x1004f7fa
mov eax, dword [esp + 0x48]
pxor xmm2, xmm2
or eax, dword [esp + 0x4c]
je 0x100502f2
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
lea edi, [esp + 0x1a0]
mov ecx, edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax]
push 1
push dword [esp + 0x94]
push dword [esp + 0x68]
push dword [eax + 8]
push dword [eax + 4]
call fcn.100378e0
add esp, 0x14
mov ecx, 0x3e854f4
mov edx, 0x4c7
call fcn.10009b40
mov ecx, esp
mov edx, edi
push eax
call fcn.1002f3e0
add esp, 4
movq xmm2, qword [esp]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 8]
movd eax, xmm2
test eax, eax
je 0x100534e5
movd xmm0, ebx
movd xmm1, edi
jmp 0x1005354c
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x10050d6a
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e867d8
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x10050d6a
dec dword [ebx]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
push eax
call fcn.1006ab90
add esp, 4
xor edi, edi
lea edx, [0x3e854f5]
lea esi, [0x3e854f6]
mov eax, 0xfffffff9
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x10052cb5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10052cd4
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x10052c90
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10052d4e
movsd xmm0, qword [esp + 0x1a4]
mov esi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
xor ecx, 0x6a0
mov dword [esp + 0x60], ecx
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0xa4], esi
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10052d77
lea ecx, [esp + 0xa0]
call fcn.10003710
xor eax, eax
jmp 0x10052d8a
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
jne 0x10052e10
jmp 0x100537d0
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movd ecx, xmm0
mov dword [eax], ecx
mov dword [eax + 4], esi
movq xmm0, qword [esp]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x60]
movd ecx, xmm0
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x10052df5
mov edx, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x44]
add edx, 0x10
mov dword [esp + 0x60], edx
mov dword [esp + 0x1a0], ecx
movq qword [esp + 0x1a4], xmm0
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x60]
mov edx, 0x3e88168
mov ecx, dword [eax]
lea eax, [esp + 0x1a0]
push eax
push 8
call fcn.1003ad20
add esp, 8
jmp 0x100537e7
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [esp + 0x90], ecx
je 0x100537d0
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x20], eax
xor eax, eax
mov esi, ebx
jmp 0x10052e3a
mov ebx, esi
sub esi, eax
jbe 0x100537d0
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 0x10052e30
movzx eax, dl
cmp eax, 0xff
jne 0x10052e79
inc esi
mov eax, esi
mov esi, ebx
sub esi, eax
ja 0x10052e3a
jmp 0x100537d0
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
test edx, edx
je 0x100537d0
mov eax, dword [esp + 0x20]
mov esi, edx
mov ebx, dword [eax + ecx]
xor eax, eax
jmp 0x10052eaa
mov esi, edx
sub edx, eax
jbe 0x100537d0
shr edx, 1
xor ecx, ecx
add edx, eax
mov edi, edx
shl edi, 4
cmp dword [ebx + edi + 0xc], 0xf8a3eca5
mov edi, 0xff
setne cl
cmovb ecx, edi
cmp cl, 1
je 0x10052ea0
movzx eax, cl
cmp eax, 0xff
jne 0x10052ee5
mov edi, dword [ebp + 0xc]
mov eax, esi
test al, al
jne 0x10052134
jmp 0x10050ad9
mov dword [esp + 0x60], ecx
mov ecx, 0x3e818d0
mov edx, 0x58
mov dword [esp + 0x20], eax
call fcn.10009b40
mov ecx, 4
mov dword [esp], esi
mov edi, eax
mov dword [esp + 4], ebx
call fcn.10034440
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10053559
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x10053565
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10057f77
mov ecx, dword [esp + 0x20]
xor edx, edx
mov esi, eax
mov ecx, dword [ecx + ebx]
jmp 0x100531c5
shr eax, 1
xor ebx, ebx
add eax, edx
mov edi, eax
shl edi, 4
cmp dword [ecx + edi + 0xc], 0xe9b7ea0f
mov edi, 0xff
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x100531bb
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x90]
xor ebx, dword [esp + 0x1b0]
mov edi, dword [ebp + 0xc]
xor ecx, dword [esp + 0x1ac]
xor eax, dword [esp + 0x1b4]
or eax, ecx
mov ecx, dword [esp + 0xb0]
xor ecx, dword [esp + 0x1a8]
or ebx, ecx
or ebx, eax
setne al
test ebx, 0xc0c0c0c0
sete cl
and cl, al
mov esi, ecx
jmp 0x1005211b
xor ebx, 0x1c
mov dword [esp + 0x60], eax
jmp 0x10053264
mov dword [esp + 0x60], eax
xor ebx, 0x1e
mov eax, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1ac]
mov ecx, 4
mov dword [esp + 0x40], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], esi
call fcn.10034440
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
je 0x100532bb
lea ecx, [esp + 0x40]
call fcn.10003710
xor esi, esi
jmp 0x100532c6
mov eax, esi
mov esi, dword [esp + 4]
mov dword [esi], edi
mov dword [esi + 4], eax
mov ecx, 0x3e81bd0
mov edx, 0x4d
call fcn.10009b40
mov ecx, 4
mov dword [esp], ebx
mov edi, eax
mov dword [esp + 4], esi
call fcn.10034440
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10053319
mov ecx, esp
call fcn.10003710
xor eax, eax
jmp 0x10053325
mov eax, dword [esp + 0x1a4]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov ecx, dword [esp + 0xc8]
dec dword [ecx]
jmp 0x10049ebd
mov ebx, dword [ebp + 8]
movzx eax, byte [esp + 0xa0]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa1]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa2]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa3]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa4]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa5]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa6]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa7]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa8]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xa9]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xaa]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xab]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xac]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xad]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xae]
add al, 0xbf
cmp al, 0x19
ja 0x100534b3
movzx eax, byte [esp + 0xaf]
add al, 0xbf
cmp al, 0x1a
jae 0x100534b3
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e857d4
call fcn.1001dd30
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp]
mov edx, 0x38d5dc59
mov ecx, dword [eax + 0x10]
push dword [esp + 4]
push edi
push 0xffff1c76
call fcn.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, edi
call fcn.1002ca00
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
push esi
call fcn.1003aad0
add esp, 4
lea ecx, [esp + 0x80]
call fcn.1002f060
pxor xmm2, xmm2
movd eax, xmm2
test eax, eax
jne 0x1004bf91
jmp 0x1004bfb7
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 1
push dword [esp + 0x24]
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100378e0
add esp, 0x14
mov ecx, 0x3e854f4
mov edx, 0x4c7
call fcn.10009b40
mov ecx, esp
lea edx, [esp + 0x1a0]
push eax
call fcn.1002f3e0
add esp, 4
movq xmm2, qword [esp]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movd edx, xmm2
test edx, edx
je 0x1005363e
movd xmm0, ecx
movd xmm1, eax
punpckldq xmm0, xmm1
punpcklqdq xmm2, xmm0
jmp 0x100502ec
mov eax, dword [esp + 0x1a4]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
jmp 0x1004e710
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1ac]
mov ecx, 0x3e81bd0
mov edx, 0x21
mov dword [esp + 0x20], eax
call fcn.10009b40
mov ecx, 4
mov dword [esp], edi
mov ebx, eax
mov dword [esp + 4], esi
call fcn.10034440
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0x1ac]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x1a0], 0
je 0x10053753
mov ecx, esp
jmp 0x100532b2
xor eax, edi
xor ecx, ebx
xor ecx, 0x61656843
xor eax, 0x74
or eax, ecx
jne 0x100536b4
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e8637c
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
jmp 0x10050321
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1ac]
mov ecx, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x44], eax
call fcn.10034440
mov eax, dword [0x3e8b000]
push 4
push 8
push 0x3e8a968
lea ecx, [esp + 0xc]
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp], 0
jne 0x100532ae
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x90]
jmp 0x100532c1
push 0x3e86fec
call fcn.10006410
add esp, 4
ud2
push 0x3e87018
call fcn.10006410
add esp, 4
ud2
mov ecx, 1
push 0x3e85e60
call fcn.10006410
add esp, 4
ud2
mov eax, esi
mov esi, dword [esp + 0x1a4]
jmp 0x100532c1
mov eax, dword [esp + 0x60]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
dec dword [eax]
mov eax, dword [esp + 0x3c]
add eax, 0x10
mov dword [esp + 0x60], eax
lea edx, [esp + 0x150]
lea ecx, [esp + 0x1a0]
push edi
push esi
call fcn.100023f0
add esp, 8
xor ebx, ebx
lea esi, [0x3e854f5]
lea edx, [0x3e854f6]
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 0x10053845
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x10053866
shld dword [esp + 0x20], ebx, 4
inc eax
test esi, esi
mov ebx, edi
jne 0x10053820
cmp dword [esp + 0x1a0], 0
je 0x100538ce
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor edi, 0x6c8
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], esi
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x10053a3b
movq xmm0, qword [esp + 0x1a8]
movq xmm1, qword [esp + 0x1b0]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movq qword [esp + 0xc], xmm1
movq qword [esp + 4], xmm0
cmp dword [esp + 4], 0
jne 0x10053a8d
cmp byte [edx + 0x15], 0
je 0x10056384
mov ecx, 0x3e83db5
mov edx, 8
call fcn.1000af30
test eax, eax
mov esi, 1
mov ecx, 0x3e87735
mov edx, 6
cmove eax, esi
mov dword [esp + 0x20], eax
call fcn.1000af30
test eax, eax
lea edi, [0x3e83dbf]
mov ecx, 0xfffffff9
cmove eax, esi
lea esi, [0x3e83dbe]
xor ebx, ebx
mov dword [esp + 0x60], eax
xor eax, eax
nop word cs:[eax + eax]
nop
movzx edx, byte [esi]
mov esi, edi
mov dh, dl
add dh, 0xd0
cmp dh, 0xa
jb 0x10055445
or dl, 0x20
mov dh, dl
add dh, 0x9f
cmp dh, 6
jae 0x10057f9a
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 0x10055464
shld ebx, eax, 4
inc ecx
test esi, esi
mov eax, edx
jne 0x10055420
mov eax, dword [esp + 0x20]
mov esi, 0x4433
xor edx, 4
mov edi, 0x22110000
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x1ac], 0
mov edx, 0x3e881ad
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x1a0]
mov dword [esp + 0x20], ecx
push eax
push 5
call fcn.100582c0
add esp, 8
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x9c]
mov edx, dword [eax + 0x98]
xor ecx, esi
xor edx, edi
or edx, ecx
jne 0x1005628f
cmp dword [eax + 0xec], 0x6d736b63
jne 0x1005628f
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1a0]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push dword [ebp + 0x10]
mov dword [esp + 0x64], eax
push dword [eax + 8]
call fcn.10033710
add esp, 8
xor edi, edi
lea esi, [0x3e88769]
lea edx, [0x3e8876a]
mov eax, 0xfffffff9
xor ebx, ebx
nop
movzx ecx, byte [esi]
mov esi, edx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x10055545
or cl, 0x20
mov edx, ecx
add dl, 0x9f
cmp dl, 6
jae 0x10057f9a
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 0x10055566
shld ebx, edi, 4
inc eax
test esi, esi
mov edi, ecx
jne 0x10055520
cmp dword [esp + 0x1a0], 0
je 0x100555d6
mov esi, dword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1a4]
mov ebx, dword [esp + 0x1b0]
mov eax, dword [0x3e8b000]
xor ecx, 0x1e
mov edi, ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0xa0], esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xa4], ebx
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x78], 0
je 0x10055779
lea ecx, [esp + 0xa0]
call fcn.10003710
xor ecx, ecx
jmp 0x10055782
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1b0]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x100], eax
mov dword [esp + 0xb0], edx
mov eax, dword [edx + 0x2c]
cmp eax, dword [esi + 8]
jne 0x10058187
mov ebx, dword [ebp + 8]
mov dword [esp + 0xcc], ecx
mov esi, 0x4433
mov eax, dword [ebx]
mov ecx, dword [eax + 0x12c]
sub ecx, 1
jb 0x10056e9e
mov eax, dword [eax + 0x128]
lea ecx, [ecx + ecx*4]
mov edx, dword [eax + ecx*8 + 0x10]
add edx, dword [eax + ecx*8 + 0x14]
cmp edx, 0x400
jne 0x100557b6
mov eax, dword [esp + 0xb0]
xorps xmm0, xmm0
mov ecx, esp
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
movaps xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x1b0], 0
push 0
push 0x14
lea esi, [esp + 0x1a8]
push esi
push 0
push 0x400
push dword [esp + 0x74]
push eax
call fcn.10036470
add esp, 0x1c
xor edi, edi
lea edx, [0x3e88769]
lea esi, [0x3e8876a]
mov eax, 0xfffffff9
xor ebx, ebx
nop dword [eax]
movzx ecx, byte [edx]
mov edx, esi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100556d5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x100556f4
shld ebx, edi, 4
inc eax
test edx, edx
mov edi, ecx
jne 0x100556b0
mov eax, dword [esp]
mov ebx, dword [ebp + 8]
test eax, eax
je 0x10055a6f
movsd xmm0, qword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [0x3e8b000]
mov dword [esp + 0xc8], ecx
lea ecx, [esp + 0xa0]
movsd qword [esp + 0x7c], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0xf0], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0xf4], esi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0xa0], 0
je 0x10055b8d
lea ecx, [esp + 0xf0]
call fcn.10003710
mov dword [esp + 0x60], 0
jmp 0x10055ba7
mov ecx, dword [esp + 0x7c]
mov dword [ecx], esi
mov dword [ecx + 4], ebx
movdqa xmm0, xmmword [esp + 0x60]
mov esi, 0x4433
movq qword [esp], xmm0
movd eax, xmm0
mov edx, dword [esp + 4]
mov ebx, edx
shr ebx, 8
mov dword [esp + 0x90], ebx
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x10056241
jmp 0x1005628f
mov dword [esp + 0xd0], eax
xor edx, edx
jmp 0x1005617c
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
jmp 0x10055c0f
movdqa xmm0, xmmword [esp + 0x60]
mov ecx, dword [esp + 0xa4]
movd eax, xmm0
mov dword [esp + 0x60], ecx
mov dword [ecx], eax
mov dword [ecx + 4], esi
movq xmm0, qword [esp + 0x78]
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xb0]
mov esi, 0x4433
movd edx, xmm0
test edx, edx
je 0x10055c04
pshufd xmm0, xmm0, 0x55
xor dword [esp + 0xc8], 0x2b
movd dword [esp + 0xd0], xmm0
mov edi, dword [esp + 0xd0]
shr edi, 8
mov dword [esp + 0x90], edi
dec dword [eax + 0x24]
mov dword [esp + 0xb0], edx
jne 0x1005621b
jmp 0x1005619a
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x60], xmm0
mov eax, dword [ebx]
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.10037c50
add esp, 0x14
mov edx, dword [esp]
test edx, edx
je 0x10055c71
movzx edi, byte [esp + 7]
movzx ecx, word [esp + 5]
movzx eax, byte [esp + 4]
mov esi, dword [esp + 8]
shl edi, 0x10
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], esi
or ecx, edi
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
jmp 0x10056177
xor edx, edx
cmp byte [esp + 4], 0x4d
jne 0x10056170
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.10037c50
add esp, 0x14
mov eax, dword [esp]
test eax, eax
je 0x100569e2
movzx edi, byte [esp + 7]
movzx edx, word [esp + 5]
movzx ecx, byte [esp + 4]
mov esi, dword [esp + 8]
shl edi, 0x10
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], esi
or edx, edi
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
mov edx, eax
jmp 0x10056177
mov dword [esp + 0xd0], eax
mov esi, 0x4433
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xb0]
dec dword [eax + 0x24]
mov dword [esp + 0xb0], edx
jne 0x1005621b
mov ebx, dword [eax + 0x2c]
cmp dword [ebx + 0x1940], 0
jne 0x1005824f
mov eax, dword [esp + 0xcc]
mov dword [ebx + 0x1940], 0xffffffff
shld ecx, eax, 0x1a
mov eax, ecx
and eax, 0x3f
cmp dword [ebx + eax*4 + 0x1944], 0
je 0x10058236
lea esi, [ebx + eax*4 + 0x1944]
mov edi, ecx
mov ecx, esi
call fcn.1002f060
mov dword [esi], 0
mov eax, 1
xor esi, esi
mov ecx, edi
xor edx, edx
shld esi, eax, cl
shl eax, cl
test cl, 0x20
cmovne esi, eax
cmovne eax, edx
or dword [ebx + 0x1934], esi
or dword [ebx + 0x1930], eax
inc dword [ebx + 0x1940]
mov ebx, dword [ebp + 8]
mov esi, 0x4433
lea ecx, [esp + 0x48]
call fcn.1002f060
mov edi, dword [esp + 0xc8]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd0]
test eax, eax
je 0x1005628f
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x1a0], eax
movzx eax, dl
mov dword [esp + 0x1a8], edi
mov edx, 0x3e881b2
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0x1a0]
push eax
push 0xc
call fcn.100582c0
add esp, 8
mov eax, dword [ebx]
mov ecx, 0x22110000
xor esi, dword [eax + 0x9c]
xor ecx, dword [eax + 0x98]
or ecx, esi
jne 0x10056380
cmp dword [eax + 0xec], 0x73747373
jne 0x10056380
cmp dword [eax + 0xcc], 0x2000
jne 0x10056380
cmp dword [eax + 0xe4], 0x3000
jne 0x10056380
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jne 0x10056380
mov ecx, dword [eax + 0x18]
or ecx, dword [eax + 0x1c]
jne 0x10056380
mov edi, 0x2000
mov esi, dword [eax + 0xc]
lea ecx, [esp + 0x1a0]
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.100384d0
add esp, 0x10
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x100564db
mov ecx, dword [esp + 0x1ac]
movq xmm0, qword [esp + 0x1a4]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x20]
movsd xmm0, qword [esp]
movq xmm1, qword [esp + 8]
mov edx, 0x3e881be
lea eax, [esp + 0x1a0]
movq qword [esp + 0x1a8], xmm1
movsd qword [esp + 0x1a0], xmm0
push eax
push 6
call fcn.100582c0
add esp, 8
mov edx, dword [esp + 0x3c]
cmp byte [edx + 0x14], 0
je 0x100564c2
mov esi, edx
lea eax, [esp + 0x150]
mov edx, ebx
lea ecx, [esp + 0x1a0]
push dword [esi + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.10059530
add esp, 0xc
xor edi, edi
lea edx, [0x3e881c5]
lea ebx, [0x3e881c6]
mov eax, 0xfffffff9
mov dword [esp + 0x20], 0
nop word [eax + eax]
movzx ecx, byte [edx]
mov edx, ebx
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x100563f5
or cl, 0x20
mov ch, cl
add ch, 0x9f
cmp ch, 6
jae 0x10057f9a
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 0x10056416
shld dword [esp + 0x20], edi, 4
inc eax
test edx, edx
mov edi, esi
jne 0x100563d0
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x100564c2
movsd xmm0, qword [esp + 0x1a4]
mov edi, dword [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [0x3e8b000]
lea ecx, [esp + 0x40]
movsd qword [esp + 4], xmm0
shufps xmm0, xmm0, 0x55
movss dword [esp + 0x78], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x7c], edi
push 4
push 8
push 0x3e8a968
push ecx
call dword [eax + 0xc]
add esp, 0x10
cmp byte [esp + 0x40], 0
je 0x100564a2
lea ecx, [esp + 0x78]
call fcn.10003710
xor eax, eax
movq xmm0, qword [esp]
movd ecx, xmm0
test ecx, ecx
je 0x100564c2
mov ecx, dword [esp + 0x148]
xor esi, 0x11d
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
movq qword [ecx], xmm0
jmp 0x100564d3
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 0x10056489
mov eax, dword [esp + 0x148]
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 + 0x1a4], 0
je 0x10056380
cmp dword [esp + 0x1a8], 0x33c0c300
jne 0x10056380
mov eax, dword [ebx]
mov edi, 0x2004
lea ecx, [esp + 0x1a0]
mov esi, dword [eax + 0xc]
add edi, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
adc esi, 0
push 1
push esi
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100371b0
add esp, 0x14
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x1005632b
mov eax, dword [ebx]
mov ecx, dword [esp + 0x1a4]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x1a0], ecx
mov esi, edx
mov edi, ebx
mov eax, edx
mov dword [esp + 0x100], edx
mov edx, 4
add esi, 0x2008
adc edi, 0
add eax, ecx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x60], eax
mov eax, ebx
adc eax, 0
mov dword [esp + 0x90], eax
call fcn.1000ac50
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
push 1
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
je 0x10056cda
mov ecx, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
movq qword [esp], xmm0
mov dword [esp + 0xc], eax
movd eax, xmm0
mov dword [esp + 8], esi
test eax, eax
jne 0x1005634c
jmp 0x10056380
cmp byte [esp + 4], 0x5a
mov esi, 0x4433
jne 0x10056ba5
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0xb0]
cmp ecx, 0x15
jae 0x10058289
cmp ecx, 0x14
jne 0x10056aa7
movdqa xmm0, xmmword [esp + 0x1a0]
movd xmm1, dword [esp + 0x1b0]
pcmpeqb xmm1, xmmword [0x3e81600]
pcmpeqb xmm0, xmmword [0x3e81610]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
mov eax, dword [esp + 0xb0]
jne 0x10056aa7
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ecx, [esp + 0x78]
mov edx, esp
push 4
push 0x3e88798
call fcn.1001dd30
add esp, 8
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x20]
mov edx, 0x549a2aa6
push dword [esp + 0x7c]
push edi
push 0xddf2
call fcn.100403d0
add esp, 0xc
mov edx, dword [esp + 0x80]
mov ecx, edi
call fcn.1002ca00
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x100]
push eax
call fcn.1003aad0
add esp, 4
lea ecx, [esp + 0x48]
call fcn.1002f060
jmp 0x1005628f
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xb0]
xor edx, edx
dec dword [eax + 0x24]
mov dword [esp + 0xb0], edx
jne 0x1005621b
jmp 0x1005619a
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 0xcc], ebx
lea ecx, [esp + 0x1a0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov esi, esp
mov edx, dword [eax]
push 1
push 0
push 8
push esi
push dword [esp + 0xa0]
mov esi, dword [esp + 0x74]
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x10056f94
mov ecx, dword [esp + 0x1ac]
movq xmm0, qword [esp + 0x1a4]
mov ebx, dword [ebp + 8]
mov dword [esp + 0xc], ecx
movq qword [esp + 4], xmm0
mov dword [esp], eax
jmp 0x10056348
xor edx, edx
push 0x3e8740c
call fcn.10006410
add esp, 4
ud2
mov ecx, 0x3e818d0
mov edx, 0x58
call fcn.10009b40
mov ecx, dword [esp + 0x60]
xor eax, eax
sub ecx, edi
cmovb ecx, eax
cmp ecx, 6
jbe 0x1004f566
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov ecx, esp
lea edx, [esp + 0x1a0]
push 4
push 0x3e818ec
call fcn.1001dd30
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.100403d0
add esp, 0xc
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.1002ca00
jmp 0x1004f566
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
dec eax
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [edi]
add eax, 0x2010
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add ebx, 8
adc edi, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
add eax, 0xfffffffe
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [edi]
add eax, 0x2018
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add ebx, 0x10
adc edi, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
add eax, 0xfffffffd
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [edi]
add eax, 0x2020
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add ebx, 0x18
adc edi, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
add eax, 0xfffffffc
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [edi]
add eax, 0x2028
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add ebx, 0x20
adc edi, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
add eax, 0xfffffffb
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [edi]
add eax, 0x2030
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add ebx, 0x28
adc edi, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
add eax, 0xfffffffa
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [edi]
add eax, 0x2038
adc esi, 0
push 1
push esi
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add ebx, 0x30
adc edi, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push edi
push ebx
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x1a0]
mov edx, 4
add eax, 0xfffffff9
mov dword [esp + 0x1a0], eax
call fcn.1000ac50
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x1a0]
mov edx, dword [eax]
add esi, 0x2040
adc edi, 0
push 1
push edi
push esi
push dword [eax + 8]
push dword [eax + 4]
call fcn.100378e0
add esp, 0x14
movq xmm0, qword [esp + 0x1a0]
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
movd edx, xmm0
test edx, edx
jne 0x100565dc
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x90]
lea ecx, [esp + 0x1a0]
add edi, 0x38
adc ebx, 0
xor eax, dword [esp + 0xd0]
xor esi, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], esi
mov edx, dword [eax]
push 1
push 0
push 8
lea esi, [esp + 0xc]
push esi
push ebx
push edi
push dword [eax + 8]
push dword [eax + 4]
call fcn.10037da0
add esp, 0x20
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x10056d34
mov ebx, dword [ebp + 8]
jmp 0x10056380
push 0x3e85504
call fcn.10006410
add esp, 4
ud2
mov dword [esp + 0x40], 0
xor esi, esi
mov eax, dword [esp + 0x60]
dec dword [eax]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
test esi, esi
jne 0x10051271
jmp 0x1005129e
mov ecx, 0x3e8a5f4
mov edx, 0xe
push 0x3e82e44
call fcn.10006dd0
add esp, 4
ud2
mov ecx, 0x3e87130
mov edx, 0x41
push 0x3e87174
call fcn.10006dd0
add esp, 4
ud2
mov edx, 6
push 0x3e818dc
call fcn.100068e0
add esp, 4
ud2
mov esi, dword [esp + 0x90]
mov bl, 7
jmp 0x100581d7
mov esi, dword [esp + 0x1a0]
mov ebx, eax
call fcn.10003260
test eax, eax
je 0x10058209
mov ecx, eax
push dword [esp + 0x1a8]
call fcn.100092d0
add esp, 4
test eax, eax
je 0x10058209
mov ecx, dword [0x3e8b000]
push edx
push eax
push esi
push 0x3e8a968
call dword [ecx + 0x10]
add esp, 0x10
mov ecx, 0x3e8a738
mov edx, 0x2b
mov byte [esp + 0x1a0], bl
push 0x3e84cc8
push 0x3e84ef8
lea eax, [esp + 0x1a8]
push eax
call fcn.10007620
add esp, 0xc
ud2
mov ecx, 0x3e870a8
mov edx, 0x35
push 0x3e870e0
call fcn.10006dd0
add esp, 4
ud2
mov eax, esp
mov ecx, 0x3e8aa9c
mov edx, 0x10
push 0x3e87098
push 0x3e873a0
push eax
call fcn.10007620
add esp, 0xc
ud2
mov ecx, 0x3e8aa9c
mov edx, 0x10
push 0x3e87098
push 0x3e873a0
jmp 0x10047c53
mov edx, 0x14
push 0x3e88774
call fcn.100068e0
add esp, 4
ud2
mov ecx, 1
xor edx, edx
push 0x3e8525c
call fcn.10006880
add esp, 4
ud2