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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
push ebx
and esp, 0xfffffff0
sub esp, 0x240
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xb4], edx
mov edx, dword [esi + 0x10]
lea edi, [esp + 0x100]
mov dword [esp + 0xd8], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x3f534]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xc8], ebx
test eax, eax
je 0x6846f036
mov edi, ecx
mov ecx, dword [ecx + 0x854]
imul ecx, edx
add ecx, ebx
shl ecx, 5
add ecx, dword [edi + 0xad8]
mov edi, ecx
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc8]
lea ecx, [ebx*4]
and edx, 0x1f
mov dword [esp + 0x80], ecx
add ecx, 0x684f9980
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xd4], edx
and ecx, 0x1f
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xec]
mov ebx, dword [ecx + 0x504]
cmp ebx, 1
mov ecx, ebx
sete byte [esp + 0xc4]
movzx edx, byte [esp + 0xc4]
cmp ecx, 3
setne byte [esp + 0xc0]
mov ebx, edx
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0xc0]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa8], edx
mov ecx, edx
mov edx, dword [esp + 0xd4]
sar edx, cl
mov ecx, ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xe8]
movzx ebx, byte [ebx*4 + 0x684f9980]
sar edx, cl
mov byte [esp + 0xaf], bl
mov ecx, ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0xa8]
movzx ebx, byte [ebx + 1]
mov dword [esp + 0xe0], ecx
mov byte [esp + 0xae], bl
mov dword [esp + 0xe4], ebx
mov ebx, edx
add ebx, ecx
movzx ecx, byte [esp + 0xc0]
sar ebx, cl
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xb0]
add ebx, dword [esp + 0xe4]
movzx ecx, byte [esp + 0xc4]
mov dword [esp + 0xcc], 0
sar ebx, cl
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x94], ebx
test ecx, ecx
je 0x6846f1a9
mov ebx, dword [esp + 0xe0]
cmp edx, ebx
jge 0x6846f390
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xe4]
and ebx, 1
cmp dword [esp + 0xb0], ecx
mov ecx, 1
cmovge ecx, ebx
mov dword [esp + 0xcc], ecx
cmp eax, 2
je 0x6846f3b0
mov ebx, dword [esi + 8]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0xe0]
mov eax, dword [edx + 0x860]
sub eax, dword [esp + 0xc8]
cmp eax, ebx
mov ecx, eax
mov eax, dword [edx + 0x864]
cmovg ecx, ebx
mov dword [esp + 0xa4], eax
sub eax, dword [esp + 0xbc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0xe4]
mov ebx, eax
cmp eax, ecx
cmovg ebx, ecx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xd0]
mov eax, dword [ebx + 0x3618]
cmp eax, dword [esp + 0xc8]
setl byte [esp + 0x70]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3620]
cmp eax, dword [esp + 0xbc]
mov dword [esp + 0x74], eax
movzx eax, byte [esp + 0xb4]
setl byte [esp + 0x6c]
mov byte [edi], al
mov eax, dword [ebp + 8]
mov byte [edi + 2], al
movzx eax, byte [esp + 0xd8]
mov byte [edi + 1], al
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0x360]
test ecx, ecx
jne 0x6846f2d0
mov byte [edi + 4], 0
mov eax, dword [eax + 0x57c]
mov dword [esp + 0xb4], eax
test eax, eax
je 0x6846f560
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
cmp edx, eax
cmovle eax, edx
cmp eax, 1
jg 0x68470311
mov eax, dword [esp + 0xd0]
mov byte [edi + 5], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xa0], 0
add eax, 0x3600
mov dword [esp + 0xa4], eax
jmp 0x6846f582
mov ecx, dword [eax + 0x364]
mov dword [esp + 0xb4], ecx
test ecx, ecx
jne 0x68470133
mov ebx, dword [edx + 0x67c]
test ebx, ebx
je 0x68471df0
mov edx, dword [edx + 0x854]
cmp dword [eax + 0x130], 7
mov dword [esp + 0xa4], edx
je 0x68478c37
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa0], edi
mov edx, 8
mov dword [esp + 0x88], esi
lea ecx, [eax - 1]
mov eax, dword [esp + 0xa4]
imul eax, dword [esp + 0xbc]
add eax, dword [esp + 0xc8]
mov esi, ecx
add ebx, eax
mov eax, dword [esp + 0x7c]
add ebx, eax
mov edi, eax
lea esi, [esi]
test edi, edi
jle 0x68471d21
mov eax, ebx
sub eax, edi
lea esi, [esi]
movzx ecx, byte [eax]
cmp ecx, edx
cmovle edx, ecx
add eax, 1
cmp ebx, eax
jne 0x6846f360
test esi, esi
jle 0x68471d30
test edx, edx
je 0x68478410
sub esi, 1
add ebx, dword [esp + 0xa4]
jmp 0x6846f350
mov edx, dword [esp + 0xc8]
and edx, 1
mov dword [esp + 0xcc], edx
je 0x6846f1a9
jmp 0x6846f182
cmp byte [edi + 3], 0
jne 0x68471070
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
jne 0x684702e1
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], edi
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
call dword [eax + 0x820]
mov dword [esp + 0xd0], eax
test eax, eax
jne 0x684783f6
movzx ecx, byte [edi + 0x1b]
add ecx, ecx
cmp byte [esp + 0xae], 0x20
lea eax, [ecx + 0x684f9734]
mov dword [esp + 0xc8], eax
ja case.0x6846f427.0
mov eax, dword [esp + 0xe4]
jmp dword [eax*4 + 0x684e79e4]
movzx eax, byte [ecx + 0x684f9734]
mov ebx, 0x1010101
imul edx, eax, 0x1010101
mov dword [esp + 0xc4], edx
mul ebx
mov ebx, dword [esp + 0xe8]
add edx, dword [esp + 0xc4]
mov dword [esi + ebx + 0x17c], edx
mov dword [esi + ebx + 0x184], edx
mov dword [esi + ebx + 0x18c], edx
mov dword [esi + ebx + 0x194], edx
mov dword [esi + ebx + 0x178], eax
mov dword [esi + ebx + 0x180], eax
mov dword [esi + ebx + 0x188], eax
mov dword [esi + ebx + 0x190], eax
movzx eax, byte [ecx + 0x684f9735]
imul edx, eax, 0x1010101
mov ebx, edx
mov edx, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x198], eax
mov dword [esi + ebx + 0x19c], edx
mov dword [esi + ebx + 0x1a0], eax
mov dword [esi + ebx + 0x1a4], edx
mov dword [esi + ebx + 0x1a8], eax
mov dword [esi + ebx + 0x1ac], edx
mov dword [esi + ebx + 0x1b0], eax
mov dword [esi + ebx + 0x1b4], edx
mov dword [esi + ebx + 0xf8], 0
mov dword [esi + ebx + 0xfc], 0
mov dword [esi + ebx + 0x100], 0
mov dword [esi + ebx + 0x104], 0
mov dword [esi + ebx + 0x108], 0
mov dword [esi + ebx + 0x10c], 0
mov dword [esi + ebx + 0x110], 0
mov dword [esi + ebx + 0x114], 0
cmp byte [esp + 0xaf], 0x20
ja case.0x6846f555.0
mov eax, dword [esp + 0xe0]
jmp dword [eax*4 + 0x684e7a68]
mov eax, dword [esp + 0xd0]
mov byte [edi + 5], 0
mov dword [esp + 0xa0], 0
add eax, 0x3600
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xd4]
movzx edx, byte [eax + edx + 0xa0]
mov eax, dword [esp + 0xe8]
movzx eax, byte [esi + eax + 0xb8]
lea eax, [edx + eax + 0x5df]
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
mov byte [edi + 6], al
mov ecx, eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x360]
mov ebx, eax
test edx, edx
je 0x6846f6f0
mov edx, dword [eax + 0x364]
test edx, edx
je 0x6846fa05
mov edx, dword [eax + 0x470]
mov dword [esp + 0xa4], edx
test edx, edx
jne 0x6846fa05
test cl, cl
jne 0x6846f61e
mov ebx, dword [eax + 0x368]
test ebx, ebx
jne 0x684760c8
mov ebx, dword [esp + 0xec]
mov eax, dword [esi + 0x10]
mov edx, dword [ebx + 0x854]
imul eax, edx
add eax, dword [esi + 0xc]
add eax, dword [ebx + 0x678]
cmp byte [esp + 0x70], 0
mov dword [esp + 0xa0], eax
je 0x684760a0
cmp byte [esp + 0x6c], 0
je 0x684760a0
movzx ebx, byte [eax - 1]
mov dword [esp + 0x88], ebx
mov ebx, edx
not edx
neg ebx
movzx ebx, byte [eax + ebx]
mov eax, ebx
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0xa0]
movzx edx, byte [ebx + edx]
mov ebx, dword [esp + 0x88]
cmp ebx, eax
sete al
cmp ebx, edx
sete bl
test al, al
je 0x68478a70
mov dword [esp + 0xa4], 2
test bl, bl
je 0x68478a70
mov eax, dword [esp + 0x68]
mov dword [esp + 0x88], eax
test cl, cl
je 0x684789f8
mov eax, dword [esp + 0x88]
mov byte [edi + 4], al
mov edx, eax
mov eax, dword [esp + 0xec]
mov ebx, dword [eax + 0xc]
cmp dl, 7
jbe 0x684789e8
mov byte [edi + 4], 0
mov eax, 0x370
add eax, ebx
mov dword [esp + 0xa0], eax
lea esi, [esi]
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3f4]
mov dword [esp + 0x88], eax
test cl, cl
jne 0x6846f82f
mov ecx, dword [esi + 0x3f52c]
mov dword [esp + 0x68], ecx
test eax, eax
je 0x684702c0
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0x10]
sar eax, 3
and eax, 2
mov edx, eax
mov eax, dword [esp + 0xa4]
sar eax, 4
and eax, 1
or eax, edx
mov edx, eax
mov dword [esp + 0x64], eax
mov eax, 0x1f
cmp byte [ecx + edx], 0xff
jne 0x6846f849
mov eax, dword [ebx + 0x518]
mov ebx, dword [esp + 0xd0]
lea edx, [eax - 1]
lea ecx, [ebx + 0x3600]
test eax, eax
je 0x68478ed6
mov dword [esp + 0xa4], edi
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x88], esi
mov esi, edx
lea esi, [esi]
mov dword [esp], edi
add ebx, ebx
sub esi, 1
call fcn.684018d0
or ebx, eax
cmp esi, 0xffffffff
jne 0x6846f790
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0xa4]
mov eax, dword [esi + 0x3f52c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
cmp dword [esp + 0xe0], 0x10
mov byte [eax + ecx], bl
jle 0x6846f7db
mov eax, dword [esi + 0x3f52c]
mov byte [eax + ecx + 1], bl
cmp dword [esp + 0xe4], 0x10
jle 0x6846f815
mov eax, dword [esi + 0x3f52c]
mov edx, dword [esp + 0x64]
cmp dword [esp + 0xe0], 0x20
mov byte [eax + edx + 2], bl
jne 0x6846f815
cmp dword [esp + 0xe4], 0x20
jne 0x6846f815
mov eax, dword [esi + 0x3f52c]
mov ecx, dword [esp + 0x64]
mov byte [eax + ecx + 3], bl
mov eax, dword [esp + 0xec]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3f4]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0xc]
cmp dword [esp + 0x88], 1
mov dword [esp + 0xa4], eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x1f
test dword [esp + 0xa4], eax
jne 0x6846fa70
and eax, dword [esi + 0x10]
mov dword [esp + 0x68], eax
jne 0x6846fa70
mov eax, dword [esp + 0xd0]
mov edx, dword [eax + 0x36b0]
mov eax, dword [eax + 0x36b4]
mov dword [esp + 0x64], edx
mov edx, dword [ebx + 0x4b8]
test edx, edx
je 0x6846fa20
cmp dword [esp + 0x88], 1
sbb edx, edx
and edx, 3
cmp edx, dword [esp + 0xd8]
je 0x6846fa0c
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], 3
lea edx, [eax + 0x3600]
add eax, 0x14b0
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 0xa4], edx
call fcn.684014f0
mov edx, eax
cmp eax, 3
je 0x6847600a
test edx, edx
jne 0x68476127
mov eax, dword [esp + 0xec]
mov ebx, dword [eax + 0xc]
mov eax, dword [esp + 0xd0]
add edx, dword [eax + 0x36b0]
mov eax, 0xff
cmp edx, 0xff
mov ecx, edx
cmovg ecx, eax
mov eax, 1
test ecx, ecx
cmovle ecx, eax
mov eax, dword [esp + 0xd0]
mov dword [eax + 0x36b0], ecx
mov eax, dword [ebx + 0x4c0]
test eax, eax
je 0x684777df
mov eax, dword [ebx + 0x4c8]
mov dword [esp + 0x88], 1
test eax, eax
je 0x6846f967
mov edx, dword [esp + 0xec]
cmp dword [edx + 0x504], 1
sbb edx, edx
and edx, 0xfffffffe
add edx, 4
mov dword [esp + 0x88], edx
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0xd0]
lea eax, [esi + eax + 0x297]
mov dword [esp + 8], 3
mov dword [esp], edi
lea eax, [ebx + eax*8]
mov dword [esp + 4], eax
call fcn.684014f0
mov ebx, eax
cmp eax, 3
je 0x68478cae
test ebx, ebx
jne 0x684784e0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0xd0]
movsx edx, byte [ecx + esi + 0x36b4]
add ebx, edx
mov edx, 0x3f
cmp ebx, 0x3f
cmovg ebx, edx
mov edx, 0xffffffc1
cmp ebx, 0xffffffc1
cmovl ebx, edx
mov byte [ecx + esi + 0x36b4], bl
add esi, 1
cmp dword [esp + 0x88], esi
je 0x684777cf
mov eax, dword [eax + 0x4c8]
jmp 0x6846f97a
mov ebx, eax
jmp 0x6846f6f0
cmp byte [edi + 6], 0
je 0x6846f8a2
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x64]
cmp eax, dword [ebx + 0x338]
je 0x68471f30
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xfc], 0
mov ecx, dword [edx + 0x36b4]
lea eax, [edx + 0x36b4]
test ecx, ecx
jne 0x68471d92
mov eax, dword [esp + 0xec]
add eax, 0xbc4
mov dword [edx + 0x38b8], eax
nop
movzx ecx, byte [edi + 5]
mov eax, dword [ebx + 0xe8]
mov byte [esp + 0x68], cl
and eax, 1
test cl, cl
je 0x6846fe64
lea edx, [esi + 0x28c]
mov byte [edi + 3], 0
mov dword [esp + 0x88], edx
test eax, eax
jne 0x684711c4
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov ebx, 0xffffff00
mov word [esp + 0x10], bx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x120]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68490b50
mov eax, dword [esp + 0x1c0]
test eax, eax
je 0x684703b3
mov eax, dword [esp + 0x1c0]
mov dword [edi + 8], eax
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], 0
lea edx, [edi + 8]
lea ecx, [edi + 0xa]
lea eax, [ebx + 0x34e0]
mov dword [esp], eax
mov eax, esi
call fcn.6846ef20
mov eax, dword [ebx + 0x3620]
mov edx, dword [ebx + 0x3618]
shl eax, 2
lea edx, [edx*4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xa0], edx
test eax, eax
je 0x6846fbae
cmp dword [esp + 0xe0], 1
jg 0x6846fb88
lea eax, [edx + 4]
cmp byte [esp + 0xc0], 0
cmove eax, edx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0xe4], 1
jg 0x6846fbae
mov edx, dword [esp + 0xbc]
cmp byte [esp + 0xc4], 0
lea eax, [edx + 4]
cmove eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0xc]
lea edx, [eax*4]
mov dword [esp + 0x80], eax
movzx eax, word [edi + 0xa]
mov dword [esp + 0x70], edx
sar ax, 3
cwde
add eax, edx
mov ebx, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0x10]
lea ecx, [eax*4]
mov dword [esp + 0x78], eax
movzx eax, word [edi + 8]
mov dword [esp + 0x6c], ecx
sar ax, 3
cwde
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xe0]
lea ecx, [eax*4]
mov eax, dword [esp + 0xe4]
lea edx, [eax*4]
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 0x361c]
cmp dword [esp + 0xa0], ebx
jle 0x68471fd0
mov eax, dword [esp + 0xa0]
add ecx, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0xc4]
cmp dword [esp + 0xbc], eax
jg 0x68471fb0
add edx, eax
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x3f4]
mov eax, dword [esp + 0x80]
lea edx, [ebx + 4]
add ebx, 6
mov ecx, edx
sar eax, cl
mov ecx, ebx
shl eax, cl
mov ecx, edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
sar eax, cl
mov ecx, ebx
shl eax, cl
cmp dword [esp + 0xc0], eax
setg byte [esp + 0x78]
cmp dword [esp + 0x88], edx
mov edx, 1
movzx ebx, byte [esp + 0x78]
setg byte [esp + 0x74]
shl edx, cl
add edx, eax
and bl, byte [esp + 0x74]
mov byte [esp + 0x78], bl
je 0x6846fd41
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
sub ebx, dword [esp + 0xbc]
sub ecx, eax
cmp ebx, ecx
jge 0x68475bf9
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x88]
sub ecx, dword [esp + 0x80]
mov dword [esp + 0xbc], ecx
mov ecx, ebx
sub ecx, dword [esp + 0xa0]
cmp ecx, dword [esp + 0xbc]
jl 0x68478e7b
sub ebx, dword [esp + 0xbc]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x88], ebx
cmp dword [esp + 0xc0], edx
jg 0x684783c0
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0x70]
mov edx, edi
shl eax, 3
mov ecx, dword [esp + 0xd8]
mov word [edi + 0xa], ax
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0x6c]
shl eax, 3
mov word [edi + 8], ax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, esi
call fcn.6846c750
mov eax, dword [esp + 0xd8]
cmp dword [esi + 0x3f534], 1
mov dword [esp + 8], edi
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
je 0x68478490
call dword [eax + 0x820]
test eax, eax
jne 0x684783f6
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0xe4]
mov eax, dword [eax + 0x80c]
mov edx, dword [eax + 0xdbe8]
mov eax, dword [edi + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x148], 0
mov dword [esp + 0x140], eax
movzx eax, byte [esp + 0xd8]
mov dword [esp + 0x144], 0
mov byte [esp + 0x14a], al
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x149], 0xff
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 8], eax
lea eax, [esp + 0x140]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x10]
and eax, 0x1f
lea eax, [esi + eax*4 + 0x2a4]
mov dword [esp], eax
call edx
cmp byte [esp + 0xae], 0x20
ja case.0x6846fe5d.676
jmp dword [ebx*4 + 0x684e7aec]
test eax, eax
jne 0x68470265
mov eax, dword [esp + 0xd0]
mov ecx, dword [ebx + 0x1d0]
add eax, 0x3600
mov dword [esp + 0xa4], eax
mov dword [esp + 0x88], eax
test ecx, ecx
jne 0x68471f50
mov byte [edi + 3], 1
mov edx, dword [esp + 0xd4]
mov eax, dword [esi + 0x288]
movzx eax, byte [eax + edx]
movzx eax, byte [eax + 0x684f971c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xe8]
movzx eax, byte [esi + eax + 0x18]
movzx eax, byte [eax + 0x684f971c]
lea eax, [edx + eax + 0xc3]
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], 0xc
mov dword [esp], eax
call fcn.68401720
mov ebx, dword [esp + 0xb8]
mov byte [edi + 8], al
movzx edx, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
add edx, ecx
cmp edx, 1
jle 0x6846ff17
lea edx, [eax - 1]
cmp dl, 7
jbe 0x68478640
mov byte [edi + 0xd], 0
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xcc]
mov eax, dword [eax + 0xc]
test edx, edx
je 0x6846ffd0
movzx edx, byte [edi + 4]
mov ebx, dword [eax + edx*4 + 0x478]
test ebx, ebx
je 0x68471d73
cmp dword [esp + 0x98], 1
sete al
xor edx, edx
cmp dword [esp + 0x94], 1
sete dl
and eax, edx
lea edx, [eax + eax]
movzx ecx, byte [edi + 8]
add edx, eax
lea edx, [eax + edx*4]
add eax, 0xc
lea edx, [ecx + edx + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
shl edx, 5
add edx, dword [esp + 0xd0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.68401720
mov byte [edi + 0xe], 0
mov byte [edi + 9], al
cmp al, 0xd
je 0x68478510
mov ecx, dword [esp + 0xb8]
movzx edx, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
add edx, ecx
cmp edx, 1
jle 0x6846ffc6
lea edx, [eax - 1]
cmp dl, 7
jbe 0x68478e9e
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x124]
xor edx, edx
mov word [edi + 0xb], dx
test ecx, ecx
je 0x68470010
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
cmp ecx, edx
mov eax, edx
cmovge eax, ecx
cmp eax, 0x10
jg 0x68470010
mov eax, ecx
add eax, edx
cmp eax, 3
jg 0x68473aa0
mov esi, esi
lea edi, [edi]
test dword [edi + 8], 0xff0000ff
jne 0x684700d2
mov edx, dword [esp + 0xb8]
movzx eax, byte [edx + 3]
movzx edx, byte [edx + 2]
cmp eax, edx
cmovl eax, edx
cmp eax, 3
jg 0x6847004e
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3f8]
test eax, eax
jne 0x684787a1
cmp byte [edi + 0xb], 0
je 0x684700d2
mov eax, dword [esi + 0x3f534]
lea edx, [esi + 0x2fc0]
test eax, eax
je 0x68470099
mov ecx, dword [esp + 0xd0]
and eax, 1
lea ebx, [ecx + eax*8]
mov edx, dword [ebx + 0x3638]
test edx, edx
je 0x68478d86
mov eax, dword [esp + 0xe0]
imul eax, dword [esp + 0xe4]
shl eax, 4
add eax, edx
mov dword [ebx + 0x3638], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], 0
mov ecx, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, esi
call fcn.6846d5f0
mov ebx, dword [esp + 0xcc]
test ebx, ebx
je 0x68470484
cmp byte [edi + 0xc], 0
je 0x68470484
mov eax, dword [esi + 0x3f534]
test eax, eax
je 0x68470410
mov edx, dword [esp + 0xd0]
and eax, 1
lea ebx, [edx + eax*8]
mov edx, dword [ebx + 0x3638]
test edx, edx
je 0x6847932e
mov eax, dword [esp + 0x98]
imul eax, dword [esp + 0x94]
shl eax, 4
add eax, edx
mov dword [ebx + 0x3638], eax
jmp 0x68470429
mov edx, dword [eax + 0x470]
test edx, edx
je 0x6846f26a
mov ebx, dword [esp + 0xd0]
mov eax, dword [eax + 0x368]
lea ecx, [ebx + 0x3600]
mov dword [esp + 0xa4], ecx
test eax, eax
jne 0x68473a00
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xec]
mov edx, dword [ebx + 0x854]
imul eax, edx
add eax, ecx
add eax, dword [ebx + 0x678]
cmp byte [esp + 0x70], 0
je 0x68478680
cmp byte [esp + 0x6c], 0
je 0x68478680
movzx ecx, byte [eax - 1]
mov dword [esp + 0xb4], ecx
mov ecx, edx
not edx
neg ecx
movzx ebx, byte [eax + edx]
movzx ecx, byte [eax + ecx]
mov eax, dword [esp + 0xb4]
cmp eax, ecx
sete dl
cmp eax, ebx
sete byte [esp + 0xa0]
test dl, dl
je 0x68478aa0
cmp byte [esp + 0xa0], 0
mov eax, 0xdd0
je 0x68478aa0
mov dword [esp + 0xb4], ecx
add eax, dword [esp + 0xd0]
mov dword [esp + 8], 7
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call 0x68401650
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 0xc]
mov edx, dword [ebx + 0x474]
mov dword [esp + 0xa4], edx
lea ecx, [edx + 1]
mov edx, dword [esp + 0xb4]
call fcn.6846e070
movzx edx, al
cmp edx, dword [esp + 0xa4]
ja 0x6847024c
cmp al, 7
jbe 0x6847cc06
mov byte [edi + 4], 0
mov eax, 0x370
mov dword [esp + 0xb4], 0
jmp 0x68471df9
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x68471ea0
mov edx, dword [eax + 0x14]
test edx, edx
js 0x68477843
sete byte [edi + 3]
jne 0x68477852
mov eax, dword [esp + 0xd0]
add eax, 0x3600
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xd8]
movzx eax, byte [eax + 0x684f97ec]
shl eax, 5
add eax, dword [esp + 0xd0]
jmp 0x6846fed7
mov eax, dword [esp + 0x68]
cmp byte [eax], 0xff
je 0x68471f20
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa4], eax
mov eax, 0xf
jmp 0x6846f849
mov eax, dword [edi + 0x14]
and eax, 0xff00ff
cmp eax, 0x20000
jne 0x6846f3d1
movsx eax, word [edi + 0xc]
cmp ax, 0x8000
jne 0x68478b7c
mov dword [esi + 0x3f500], 0
jmp 0x6846f3d1
mov dword [esp + 0xb4], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xd4]
movzx edx, byte [eax + edx + 0xc0]
mov eax, dword [esp + 0xe8]
movzx eax, byte [esi + eax + 0xd8]
lea eax, [edx + eax + 0x5e2]
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
lea eax, [edx + 0x3600]
mov dword [esp], eax
mov dword [esp + 0xa4], eax
call fcn.68401850
mov byte [edi + 5], al
test al, al
je 0x6847cc3a
mov edx, dword [esp + 0xec]
mov byte [edi + 6], 1
mov ebx, dword [edx + 0xc]
mov ecx, dword [ebx + 0x360]
mov eax, ebx
test ecx, ecx
jne 0x68470d20
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x3f4]
mov dword [esp + 0x88], eax
jmp 0x6846f82f
mov ecx, dword [esp + 0x1d0]
test ecx, ecx
jne 0x68475c0c
mov eax, dword [esp + 0xec]
mov edx, 0x10
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x3f4]
mov eax, 0x200
shl edx, cl
shl eax, cl
mov ecx, dword [esi + 0x10]
sub ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0xd0]
cmp edx, dword [ecx + 0x3620]
jge 0x68478e8d
xor edx, edx
mov word [edi + 8], dx
mov edx, 0xfffff800
sub edx, eax
mov word [edi + 0xa], dx
jmp 0x6846fb15
mov eax, dword [esp + 0xe0]
imul eax, dword [esp + 0xe4]
shl eax, 4
lea edx, [esi + eax + 0x2fc0]
mov eax, dword [esp + 0x94]
movzx ecx, byte [esp + 0xc4]
mov dword [esp], 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb0]
add eax, dword [esp + 0x84]
sar eax, cl
movzx ecx, byte [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
add eax, dword [esp + 0x7c]
sar eax, cl
mov ecx, edi
mov dword [esp + 4], eax
mov eax, esi
call fcn.6846d5f0
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0xc]
movzx eax, byte [edi + 4]
mov ecx, dword [edx + eax*4 + 0x478]
test ecx, ecx
je 0x68470f50
mov byte [edi + 7], 0
mov byte [edi + 0xa], 0
mov dword [esp + 0xc4], 0x684f98e0
cmp dword [esi + 0x3f534], 1
je 0x684711a0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
call dword [eax + 0x81c]
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x4d0]
test edx, edx
jne 0x68470509
mov eax, dword [eax + 0x4d4]
test eax, eax
je 0x684705ee
mov ebx, dword [esp + 0xcc]
mov eax, dword [esi + 0x288]
test ebx, ebx
je 0x68471064
mov edx, dword [esp + 0x8c]
lea ecx, [esi + edx + 0x218]
mov edx, dword [esp + 0x90]
lea edx, [eax + edx + 0x200]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xd0]
lea edx, [esi + edx + 0x1f8]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xd4]
lea eax, [eax + edx + 0x1e0]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x504]
mov dword [esp + 0x2c], eax
movzx eax, byte [edi + 7]
mov dword [esp + 0x28], eax
movzx eax, byte [edi + 0xa]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x85c]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x858]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 4]
shl eax, 6
add eax, dword [ecx + 0x38b8]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x854]
mov dword [esp + 8], eax
mov eax, dword [edx + 0xb00]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x3f524]
mov dword [esp], eax
call fcn.68488400
movzx eax, byte [edi + 8]
mov byte [esp + 0xc0], al
cmp al, 0xd
je 0x68471180
mov dword [esp + 0xbc], eax
cmp byte [esp + 0xae], 0x20
ja case.0x6847061d.0
mov eax, dword [esp + 0xe4]
jmp dword [eax*4 + 0x684e7b70]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xe8]
movzx eax, byte [ecx + 3]
mov byte [esi + edx + 0x1b8], al
movzx eax, byte [ecx + 3]
mov ecx, dword [esp + 0xcc]
mov byte [esi + edx + 0x1d8], al
movzx eax, byte [esp + 0xc0]
mov byte [esi + edx + 0x18], al
movzx eax, byte [edi + 0xb]
mov byte [esi + edx + 0xd8], 0
mov byte [esi + edx + 0x268], al
movzx eax, byte [esp + 0xb4]
mov byte [esi + edx + 0xf8], 1
mov byte [esi + edx + 0x98], al
movzx eax, byte [edi + 6]
mov byte [esi + edx + 0xb8], al
xor eax, eax
test ecx, ecx
je 0x6847069a
movzx eax, byte [edi + 0xc]
mov edx, dword [esp + 0xe8]
mov byte [esi + edx + 0x1f60], al
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x6847061d.0
mov byte [esi + edx + 0x118], 0
mov byte [esi + edx + 0x138], 0xff
mov byte [esi + edx + 0x158], 0xff
mov byte [esi + edx + 0x178], 3
mov byte [esi + edx + 0x198], 3
cmp byte [esp + 0xaf], 0x20
ja case.0x684706f8.0
mov eax, dword [esp + 0xe0]
jmp dword [eax*4 + 0x684e7bf4]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0xd4]
movzx edx, byte [ecx + 2]
mov byte [eax + ebx + 0x1a0], dl
movzx edx, byte [ecx + 2]
mov eax, dword [esi + 0x288]
movzx ecx, byte [esp + 0xc0]
mov byte [eax + ebx + 0x1c0], dl
mov eax, dword [esi + 0x288]
mov byte [eax + ebx], cl
movzx edx, byte [edi + 0xb]
mov eax, dword [esi + 0x288]
movzx ecx, byte [esp + 0xb4]
mov byte [eax + ebx + 0x250], dl
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0x80], cl
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0xc0], 0
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0xe0], 1
mov eax, dword [esi + 0x288]
movzx edx, byte [edi + 6]
mov byte [eax + ebx + 0xa0], dl
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x684707a7
movzx eax, byte [edi + 0xc]
mov byte [esp + 0x68], al
movzx eax, byte [esp + 0x68]
mov ecx, dword [esp + 0xd4]
mov byte [esi + ecx + 0x1f40], al
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x684706f8.0
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x100], 0
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x120], 0xff
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x140], 0xff
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x160], 3
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x180], 3
cmp byte [edi + 0xb], 0
je 0x68470921
mov edx, dword [esi + 0x3f534]
lea eax, [esi + 0x4fc0]
test edx, edx
je 0x68470873
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov eax, ecx
mov ebx, edx
and ecx, 1
sar edx, 1
sar eax, 1
and ebx, 1
add edx, ecx
add ebx, eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x854]
mov dword [esp + 0xc4], eax
sar eax, 1
imul eax, ebx
add eax, edx
mov edx, dword [esp + 0xec]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [edx + 0xae0]
mov ebx, dword [esp + 0xe0]
test ebx, ebx
je 0x684708ce
mov ebx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xe0]
add ecx, ebx
lea edx, [ebx + ebx*2]
lea ecx, [ecx + ecx*2]
shl edx, 4
shl ecx, 4
lea edx, [esi + edx + 0x1340]
lea ecx, [esi + ecx + 0x1340]
nop
lea esi, [esi]
mov ebx, dword [eax]
add edx, 0x30
mov dword [edx - 0x30], ebx
mov ebx, dword [eax + 4]
mov dword [edx - 0x2c], ebx
mov ebx, dword [eax + 8]
mov dword [edx - 0x28], ebx
mov ebx, dword [eax + 0xc]
mov dword [edx - 0x24], ebx
cmp ecx, edx
jne 0x684708b0
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x68470921
mov ebx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
add ecx, ebx
lea edx, [ebx + ebx*2]
lea ecx, [ecx + ecx*2]
shl edx, 4
shl ecx, 4
lea edx, [esi + edx + 0x1940]
lea ecx, [esi + ecx + 0x1940]
mov ebx, dword [eax]
add edx, 0x30
mov dword [edx - 0x30], ebx
mov ebx, dword [eax + 4]
mov dword [edx - 0x2c], ebx
mov ebx, dword [eax + 8]
mov dword [edx - 0x28], ebx
mov ebx, dword [eax + 0xc]
mov dword [edx - 0x24], ebx
cmp ecx, edx
jne 0x68470903
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x68470b65
mov eax, dword [esp + 0x94]
cmp eax, 0x20
ja case.0x6847093c.0
jmp dword [eax*4 + 0x684e7c78]
movzx eax, byte [edi + 9]
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esi + ecx + 0x248], eax
mov dword [esi + ecx + 0x24c], edx
mov dword [esi + ecx + 0x250], eax
mov dword [esi + ecx + 0x254], edx
mov dword [esi + ecx + 0x258], eax
mov dword [esi + ecx + 0x25c], edx
mov dword [esi + ecx + 0x260], eax
mov dword [esi + ecx + 0x264], edx
mov eax, dword [esp + 0x98]
cmp eax, 0x20
ja case.0x684709a1.0
jmp dword [eax*4 + 0x684e7cfc]
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov ebx, dword [esp + 0x90]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x230], eax
mov dword [ecx + ebx + 0x234], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x238], eax
mov dword [ecx + ebx + 0x23c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x240], eax
mov dword [ecx + ebx + 0x244], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x248], eax
mov dword [ecx + ebx + 0x24c], edx
cmp byte [edi + 0xc], 0
je 0x68470b65
mov edx, dword [esi + 0x3f534]
lea eax, [esi + 0x4fc0]
test edx, edx
jne 0x68473a54
mov ebx, dword [esp + 0xe8]
add eax, 0x10
mov dword [esp + 0xa4], edi
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xd4]
lea edx, [ebx + ebx*2]
shl edx, 4
lea ecx, [esi + edx + 0x1950]
lea edx, [esi + edx + 0x1970]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xc0], edx
mov edi, dword [esp + 0xb4]
add ecx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 4
lea ebx, [esi + ecx + 0x1950]
mov ecx, dword [esp + 0xe0]
add ecx, eax
sub eax, dword [esp + 0xe8]
lea edx, [eax + eax*2]
lea ecx, [ecx + ecx*2]
shl edx, 4
shl ecx, 4
lea eax, [edx - 0x600]
lea ecx, [esi + ecx + 0x1350]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
add edx, edi
cmp dword [esp + 0xe0], 0
je 0x68470b08
mov dword [esp + 0xc4], ebx
mov ebx, dword [eax]
add edx, 0x30
mov dword [edx - 0x30], ebx
mov ebx, dword [eax + 4]
mov dword [edx - 0x2c], ebx
mov ebx, dword [eax + 8]
mov dword [edx - 0x28], ebx
mov ebx, dword [eax + 0xc]
mov dword [edx - 0x24], ebx
cmp ecx, edx
jne 0x68470ae3
mov ebx, dword [esp + 0xc4]
cmp dword [esp + 0xe4], 0
mov edx, edi
je 0x68470b45
mov dword [esp + 0xc4], ecx
nop
lea esi, [esi]
mov ecx, dword [eax]
add edx, 0x30
mov dword [edx - 0x30], ecx
mov ecx, dword [eax + 4]
mov dword [edx - 0x2c], ecx
mov ecx, dword [eax + 8]
mov dword [edx - 0x28], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx - 0x24], ecx
cmp ebx, edx
jne 0x68470b20
mov ecx, dword [esp + 0xc4]
add edi, 0x10
add eax, 0x10
add ebx, 0x10
add ecx, 0x10
cmp dword [esp + 0xc0], edi
jne 0x68470ac5
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
jne 0x68470b86
mov edx, dword [eax + 0x1d0]
test edx, edx
je 0x68470c0e
mov ebx, dword [esp + 0xec]
mov eax, dword [ebx + 0x80c]
mov edx, dword [eax + 0xdbe8]
movzx eax, byte [esp + 0xd8]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1ca], al
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x1c0], 0x80008000
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x1c9], 0xff
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 8], eax
lea eax, [esp + 0x1c0]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x10]
and eax, 0x1f
lea eax, [esi + eax*4 + 0x2a4]
mov dword [esp], eax
call edx
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x360]
test edx, edx
je case.0x68470c4d.0
mov eax, dword [eax + 0x364]
test eax, eax
je case.0x68470c4d.0
mov eax, dword [esp + 0xec]
mov ecx, dword [esi + 0x10]
imul ecx, dword [eax + 0x854]
add ecx, dword [esi + 0xc]
add ecx, dword [eax + 0x678]
cmp byte [esp + 0xaf], 0x20
ja case.0x68470c4d.0
mov eax, dword [esp + 0xe0]
jmp dword [eax*4 + 0x684e7d80]
cmp byte [edi + 6], 0
jne 0x68470cf3
mov edx, dword [esp + 0xe8]
mov eax, dword [esi + 0x3f524]
mov ecx, 0x20
sub ecx, dword [esp + 0xe0]
sar edx, 1
lea ebx, [eax + edx*4 + 0x504]
mov edx, 0xffffffff
mov eax, dword [esp + 0xd4]
shr edx, cl
mov ecx, dword [esp + 0xc8]
sar eax, 4
and ecx, 0xf
shl edx, cl
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x68470cf3
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0xe4]
lea ecx, [ebx + eax*2]
xor eax, eax
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0xe0]
lea esi, [esi]
or word [ecx + eax*2], dx
cmp esi, 0x20
jne 0x68470cde
or word [ebx + eax*2 + 2], dx
add eax, 2
cmp edi, eax
jg 0x68470cd0
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0xd8]
cmp dword [esi + 0x3f534], 1
je 0x68470d40
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xd0]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [eax + 0x364]
mov ecx, 1
test edx, edx
jne 0x6846f5f7
jmp 0x6846fa05
cmp byte [edi + 3], 0
jne case.0x68477350.0
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xd8], eax
test byte [eax + 0xe8], 1
je case.0x68477350.0
mov eax, dword [esp + 0xd0]
mov edx, dword [esi + 0x10]
mov ecx, dword [ecx + 0x874]
mov ebx, edx
sub ebx, dword [eax + 0x3620]
mov eax, ebx
sar eax, cl
mov ecx, dword [esp + 0xd0]
imul eax, eax, 0x38
add eax, dword [ecx + 0x3648]
cmp byte [edi + 0x14], 0
mov dword [esp + 0xe8], eax
movsx eax, byte [edi + 0x18]
jne 0x68475b79
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
cmp ebx, ecx
cmovle ecx, ebx
cmp ecx, 1
jle 0x68470dd0
cmp byte [edi + 0x15], 2
movzx ecx, byte [edi + 0x16]
je 0x684792df
cmp cl, 2
je 0x68479582
mov ebx, dword [esp + 0xec]
mov ecx, eax
shl ecx, 4
lea ecx, [ebx + ecx + 0x794]
mov ebx, dword [esp + 0xe8]
lea eax, [ebx + eax*8]
lea ebx, [ecx + 4]
mov dword [esp + 0xc], ebx
mov ecx, dword [ecx]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
movsx ecx, word [edi + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
call fcn.6846e0d0
cmp byte [edi + 0x16], 1
je 0x68479820
mov ebx, dword [esp + 0xcc]
test ebx, ebx
je case.0x68477350.0
mov ebx, dword [esp + 0xe4]
cmp dword [esp + 0xb0], ebx
sete cl
mov edx, dword [esp + 0xe0]
cmp dword [esp + 0xa8], edx
je 0x684794b4
test cl, cl
jne 0x684794b4
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
movsx eax, byte [edi + 0x18]
cmp edx, ebx
cmovle ebx, edx
cmp ebx, 1
jle 0x68470e8e
cmp byte [edi + 0x15], 2
movzx edx, byte [edi + 0x16]
je 0x6847a07a
cmp dl, 2
je 0x6847a0c9
mov ebx, dword [esp + 0xec]
mov edx, eax
shl edx, 4
lea edx, [ebx + edx + 0x794]
mov ebx, dword [esp + 0xe4]
shl ebx, cl
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0xb0]
lea eax, [ecx + eax*8 + 4]
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xe4], eax
lea eax, [edx + 4]
not ebx
and ebx, dword [esi + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov edx, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
movsx eax, word [edi + 8]
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
call fcn.6846e0d0
cmp byte [edi + 0x16], 1
jne case.0x68477350.0
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0xe8]
mov ecx, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, esi
call fcn.6846ea20
mov dword [esp + 0xd0], 0
jmp 0x68470d07
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xec]
movzx eax, byte [ecx*4 + 0x684f9880]
lea ecx, [ecx*4 + 0x684f9880]
add ecx, dword [ebx + 0x504]
movzx ecx, byte [ecx]
mov byte [edi + 0xa], al
mov byte [edi + 7], cl
lea ecx, [eax*8 + 0x684f98e0]
cmp dword [edx + 0x570], 2
mov dword [esp + 0xc4], ecx
jne 0x684704b4
movzx eax, byte [eax*8 + 0x684f98e5]
test al, al
je 0x684704b4
cmp eax, 2
mov edx, 2
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xd4]
cmovle edx, eax
lea eax, [eax + eax*2 + 0x271]
mov dword [esp + 8], edx
mov edx, dword [esi + 0x288]
movsx ecx, byte [edx + ecx + 0x1a0]
movzx edx, byte [ebx + 2]
cmp ecx, edx
mov ecx, dword [esp + 0xe8]
setge dl
movsx ebx, byte [esi + ecx + 0x1b8]
mov ecx, dword [esp + 0xc4]
movzx edx, dl
movzx ecx, byte [ecx + 3]
cmp ebx, ecx
setge cl
movzx ecx, cl
add edx, ecx
add eax, edx
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.684014f0
lea edx, [eax - 1]
test eax, eax
je 0x684704b4
mov ecx, dword [esp + 0xc4]
lea esi, [esi]
movzx ecx, byte [ecx + 6]
sub edx, 1
mov eax, ecx
lea ecx, [ecx*8 + 0x684f98e0]
cmp edx, 0xffffffff
jne 0x68471040
mov dword [esp + 0xc4], ecx
mov byte [edi + 0xa], al
jmp 0x684704b4
xor ecx, ecx
xor edx, edx
jmp 0x6847053a
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
call dword [eax + 0x81c]
movzx ecx, byte [edi + 8]
cmp cl, 0xd
je 0x68478460
movzx eax, cl
mov dword [esp + 0xd0], eax
cmp byte [esp + 0xae], 0x20
ja case.0x684710c2.0
mov eax, dword [esp + 0xe4]
jmp dword [eax*4 + 0x684e7e04]
movzx eax, cl
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x18], eax
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x20], eax
mov dword [esi + ebx + 0x24], edx
mov dword [esi + ebx + 0x28], eax
mov dword [esi + ebx + 0x2c], edx
mov dword [esi + ebx + 0x30], eax
mov dword [esi + ebx + 0x34], edx
mov dword [esi + ebx + 0xf8], 0x1010101
mov dword [esi + ebx + 0xfc], 0x1010101
mov dword [esi + ebx + 0x100], 0x1010101
mov dword [esi + ebx + 0x104], 0x1010101
mov dword [esi + ebx + 0x108], 0x1010101
mov dword [esi + ebx + 0x10c], 0x1010101
mov dword [esi + ebx + 0x110], 0x1010101
mov dword [esi + ebx + 0x114], 0x1010101
lea esi, [esi]
cmp byte [esp + 0xaf], 0x20
ja case.0x68471175.0
mov eax, dword [esp + 0xe0]
jmp dword [eax*4 + 0x684e7e88]
mov dword [esp + 0xbc], 0
mov byte [esp + 0xc0], 0
jmp 0x68470608
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], edi
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
call dword [eax + 0x840]
jmp 0x684704e7
mov dword [esp + 0x68], 1
mov edx, dword [ebx + 0x580]
mov eax, dword [ebx + 0x584]
xor ecx, ecx
mov ebx, 2
mov word [edi + 0x14], bx
mov ebx, dword [esi + 0xc]
mov byte [edi + 0x18], dl
add edx, 1
mov byte [edi + 0x19], al
mov cl, dl
add eax, 1
mov byte [edi + 0x17], 0
mov ch, al
mov dword [esp + 0x20], ebx
mov eax, dword [esi + 0x10]
lea ebx, [esp + 0x1c0]
mov word [esp + 0x10], cx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x140]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x120]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68490b50
mov eax, dword [esp + 0x1c0]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x1c4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x128]
test edx, edx
jne 0x68473ae4
mov ecx, dword [eax + 0x1f4]
test ecx, ecx
jne 0x684712e6
movzx edx, word [edi + 0xa]
mov ecx, edx
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffffe
mov word [edi + 0xa], dx
movzx edx, word [edi + 8]
mov ecx, edx
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffffe
mov word [edi + 8], dx
mov edx, dword [eax + 0x128]
test edx, edx
jne 0x68473b0c
mov ebx, dword [eax + 0x1f4]
test ebx, ebx
jne 0x684712e6
movzx edx, word [edi + 0xe]
mov ecx, edx
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffffe
mov word [edi + 0xe], dx
movzx edx, word [edi + 0xc]
mov ecx, edx
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffffe
mov word [edi + 0xc], dx
mov eax, dword [eax + 0x1f8]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
cmp eax, 4
je 0x68478440
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov edx, edi
mov ecx, dword [esp + 0xd8]
movzx eax, byte [eax + ebx*4 + 0x684f9748]
mov byte [edi + 0x1b], al
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, esi
call fcn.6846c750
mov eax, dword [esp + 0xd8]
cmp dword [esi + 0x3f534], 1
mov dword [esp + 8], edi
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
je 0x684777c4
call dword [eax + 0x820]
test eax, eax
jne 0x684783f6
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x4d0]
test eax, eax
jne 0x6847139e
mov eax, dword [ecx + 0x4d4]
lea ebx, [esp + 0x1c0]
test eax, eax
je 0x68471513
cmp dword [esp + 0x68], 1
movzx ebx, byte [edi + 0x15]
sbb eax, eax
movsx edx, byte [edi + 0x18]
and eax, 0xfffffffc
add eax, 6
cmp eax, ebx
movzx ebx, byte [edi + 4]
setne al
movzx eax, al
mov ecx, dword [ecx + ebx*4 + 0x478]
lea edx, [eax + edx*2 + 2]
mov eax, ebx
shl eax, 6
add eax, edx
mov edx, dword [esp + 0xd0]
add eax, dword [edx + 0x38b8]
mov dword [esp + 0xbc], eax
movzx eax, byte [edi + 0x1d]
mov word [esp + 0x1c0], ax
movzx eax, word [edi + 0x1e]
mov word [esp + 0x1c2], ax
movzx eax, byte [edi + 0x1a]
movzx edx, byte [edi + 7]
test ecx, ecx
jne 0x684777b2
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esi + 0x288]
test eax, eax
je 0x684777a0
mov eax, dword [esp + 0x8c]
lea eax, [esi + eax + 0x218]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x90]
lea ebx, [ecx + eax + 0x200]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xe8]
lea ebx, [esi + eax + 0x1f8]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x3c], ebx
lea ebx, [esp + 0x1c0]
lea ecx, [ecx + eax + 0x1e0]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx + 0x504]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], eax
movzx eax, byte [edi + 6]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x85c]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x858]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x854]
mov dword [esp + 8], eax
mov eax, dword [edx + 0xb00]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x3f524]
mov dword [esp], eax
call fcn.68488b20
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0x80c]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x68477700
cmp dword [esp + 0xe0], 1
jle 0x684784a0
cmp dword [esp + 0xe4], 1
jle 0x684784a0
mov eax, dword [edi + 8]
movzx ecx, byte [edi + 0x15]
mov dword [esp + 0x1c0], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1c4], eax
movzx eax, byte [edi + 0x18]
add eax, 1
mov byte [esp + 0x1c8], al
movzx eax, byte [edi + 0x19]
add eax, 1
mov byte [esp + 0x1c9], al
movzx eax, byte [esp + 0xd8]
mov byte [esp + 0x1ca], al
mov eax, 0xbc
sar eax, cl
add eax, eax
and eax, 2
cmp ecx, 6
sete cl
or eax, ecx
mov byte [esp + 0x1cb], al
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x10]
and eax, 0x1f
lea eax, [esi + eax*4 + 0x2a4]
mov dword [esp], eax
call dword [edx + 0xdbe8]
cmp byte [esp + 0xae], 0x20
ja case.0x684715f2.0
mov eax, dword [esp + 0xe4]
jmp dword [eax*4 + 0x684e7f0c]
mov eax, dword [esp + 0xb8]
mov ebx, 0x1010101
movzx eax, byte [eax + 3]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x1b8], eax
mov dword [esi + ecx + 0x1bc], edx
mov dword [esi + ecx + 0x1c0], eax
mov dword [esi + ecx + 0x1c4], edx
mov dword [esi + ecx + 0x1c8], eax
mov dword [esi + ecx + 0x1cc], edx
mov dword [esi + ecx + 0x1d0], eax
mov dword [esi + ecx + 0x1d4], edx
mov dword [esi + ecx + 0x18], 0
mov dword [esi + ecx + 0x1c], 0
mov dword [esi + ecx + 0x20], 0
mov dword [esi + ecx + 0x24], 0
mov dword [esi + ecx + 0x28], 0
mov dword [esi + ecx + 0x2c], 0
mov dword [esi + ecx + 0x30], 0
mov dword [esi + ecx + 0x34], 0
mov dword [esi + ecx + 0x268], 0
mov dword [esi + ecx + 0x26c], 0
mov dword [esi + ecx + 0x270], 0
mov dword [esi + ecx + 0x274], 0
mov dword [esi + ecx + 0x278], 0
mov dword [esi + ecx + 0x27c], 0
mov dword [esi + ecx + 0x280], 0
mov dword [esi + ecx + 0x284], 0
mov dword [esi + ecx + 0x1f60], 0
mov dword [esi + ecx + 0x1f64], 0
mov dword [esi + ecx + 0x1f68], 0
mov dword [esi + ecx + 0x1f6c], 0
mov dword [esi + ecx + 0x1f70], 0
mov dword [esi + ecx + 0x1f74], 0
mov dword [esi + ecx + 0x1f78], 0
mov dword [esi + ecx + 0x1f7c], 0
mov ecx, dword [esp + 0xb4]
mov eax, ecx
cdq
mov eax, dword [esp + 0xb4]
add ecx, edx
imul ecx, ecx, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x9c], edx
mov dword [esi + ecx + 0xa4], edx
mov dword [esi + ecx + 0xac], edx
mov dword [esi + ecx + 0xb4], edx
mov dword [esi + ecx + 0x98], eax
mov dword [esi + ecx + 0xa0], eax
mov dword [esi + ecx + 0xa8], eax
mov dword [esi + ecx + 0xb0], eax
mov dword [esi + ecx + 0xd8], 0
mov dword [esi + ecx + 0xdc], 0
mov dword [esi + ecx + 0xe0], 0
mov dword [esi + ecx + 0xe4], 0
mov dword [esi + ecx + 0xe8], 0
mov dword [esi + ecx + 0xec], 0
mov dword [esi + ecx + 0xf0], 0
mov dword [esi + ecx + 0xf4], 0
mov dword [esi + ecx + 0xf8], 0
mov dword [esi + ecx + 0xfc], 0
mov dword [esi + ecx + 0x100], 0
mov dword [esi + ecx + 0x104], 0
mov dword [esi + ecx + 0x108], 0
mov dword [esi + ecx + 0x10c], 0
mov dword [esi + ecx + 0x110], 0
mov dword [esi + ecx + 0x114], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0xb8], eax
mov dword [esi + ecx + 0xbc], edx
mov dword [esi + ecx + 0xc0], eax
mov dword [esi + ecx + 0xc4], edx
mov dword [esi + ecx + 0xc8], eax
mov dword [esi + ecx + 0xcc], edx
mov dword [esi + ecx + 0xd0], eax
mov dword [esi + ecx + 0xd4], edx
nop
lea esi, [esi]
cmp byte [esp + 0xaf], 0x20
ja case.0x684718b5.0
mov eax, dword [esp + 0xe0]
jmp dword [eax*4 + 0x684e7f90]
mov eax, dword [esp + 0xb8]
mov ebx, 0x1010101
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1a4], edx
mov dword [ecx + ebx + 0x1a0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1ac], edx
mov dword [ecx + ebx + 0x1a8], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1b4], edx
mov dword [ecx + ebx + 0x1b0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1bc], edx
mov dword [ecx + ebx + 0x1b8], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx], 0
mov dword [eax + ebx + 4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 8], 0
mov dword [eax + ebx + 0xc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x10], 0
mov dword [eax + ebx + 0x14], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x18], 0
mov dword [eax + ebx + 0x1c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x250], 0
mov dword [eax + ebx + 0x254], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x258], 0
mov dword [eax + ebx + 0x25c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x260], 0
mov dword [eax + ebx + 0x264], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x268], 0
mov dword [eax + ebx + 0x26c], 0
mov dword [esi + ebx + 0x1f40], 0
mov dword [esi + ebx + 0x1f44], 0
mov dword [esi + ebx + 0x1f48], 0
mov dword [esi + ebx + 0x1f4c], 0
mov dword [esi + ebx + 0x1f50], 0
mov dword [esi + ebx + 0x1f54], 0
mov dword [esi + ebx + 0x1f58], 0
mov dword [esi + ebx + 0x1f5c], 0
mov ebx, dword [esp + 0xb4]
mov eax, ebx
mov ecx, ebx
mov ebx, 0x1010101
cdq
add ecx, edx
mul ebx
mov ebx, dword [esp + 0xd4]
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x84], edx
mov dword [ecx + ebx + 0x80], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x8c], edx
mov dword [ecx + ebx + 0x88], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x94], edx
mov dword [ecx + ebx + 0x90], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x9c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x98], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xc0], 0
mov dword [eax + ebx + 0xc4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xc8], 0
mov dword [eax + ebx + 0xcc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xd0], 0
mov dword [eax + ebx + 0xd4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xd8], 0
mov dword [eax + ebx + 0xdc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0
mov dword [eax + ebx + 0xec], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf0], 0
mov dword [eax + ebx + 0xf4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf8], 0
mov dword [eax + ebx + 0xfc], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa0], eax
mov dword [ecx + ebx + 0xa4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa8], eax
mov dword [ecx + ebx + 0xac], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xb0], eax
mov dword [ecx + ebx + 0xb4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xb8], eax
mov dword [ecx + ebx + 0xbc], edx
mov ebx, dword [esp + 0xcc]
test ebx, ebx
je case.0x68471c94.0
mov eax, dword [esp + 0x94]
cmp eax, 0x20
ja case.0x68471c1e.0
jmp dword [eax*4 + 0x684e8014]
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
mov dword [esi + eax + 0x250], 0
mov dword [esi + eax + 0x254], 0
mov dword [esi + eax + 0x258], 0
mov dword [esi + eax + 0x25c], 0
mov dword [esi + eax + 0x260], 0
mov dword [esi + eax + 0x264], 0
mov eax, dword [esp + 0x98]
cmp eax, 0x20
ja case.0x68471c94.0
jmp dword [eax*4 + 0x684e8098]
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0x90]
mov dword [eax + edx + 0x230], 0
mov dword [eax + edx + 0x234], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edx + 0x238], 0
mov dword [eax + edx + 0x23c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edx + 0x240], 0
mov dword [eax + edx + 0x244], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edx + 0x248], 0
mov dword [eax + edx + 0x24c], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68470c0e
test esi, esi
jg 0x6846f37f
lea esi, [esi]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
cmp edx, 8
jne 0x68478d3c
mov dword [esp + 8], 0x2ad
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.seg_id___8
call fcn.684d2880
mov dword [esp + 0xd0], 0xffffffff
jmp 0x68470d07
movzx ecx, byte [esp + 0xd8]
mov eax, 1
shl eax, cl
test eax, 0x3ffb80
setne al
movzx eax, al
jmp 0x6846ff61
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + 0x36b4]
cmp dword [esp + 0x1c0], edx
je 0x6846fa70
mov edx, ecx
mov dword [esp + 8], eax
add edx, 0x36b8
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0xa4], edx
call fcn.68488f10
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xa4]
mov dword [eax + 0x38b8], edx
mov eax, dword [esp + 0xec]
mov ebx, dword [eax + 0xc]
jmp 0x6846fa70
mov byte [edi + 4], 0
mov ebx, 0x370
add eax, ebx
mov dword [esp + 0xa0], eax
mov ebx, dword [esp + 0xa0]
test ebx, ebx
je 0x68471e53
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x1c]
test edx, edx
jne 0x68471e25
cmp dword [eax + 0x14], 0xffffffff
je 0x684786a6
mov byte [edi + 5], 0
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + 0x18]
test ebx, ebx
jne 0x68470380
mov eax, dword [esp + 0xd0]
add eax, 0x3600
mov dword [esp + 0xa4], eax
jmp 0x6846f582
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x57c]
test ecx, ecx
je 0x68471e83
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
cmp edx, eax
cmovle eax, edx
cmp eax, 1
jg 0x68470327
mov eax, dword [esp + 0xd0]
mov byte [edi + 5], 0
add eax, 0x3600
mov dword [esp + 0xa4], eax
jmp 0x6846f582
mov edx, dword [esi + 0x288]
mov ecx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ecx
jge 0x68475c1b
mov eax, dword [esp + 0xe8]
mov ebx, dword [esp + 0xbc]
movzx ecx, byte [esi + eax + 0xf8]
cmp dword [esp + 0x74], ebx
jge 0x68478a94
mov eax, dword [esp + 0xd4]
movzx eax, byte [edx + eax + 0xe0]
xor edx, edx
add eax, ecx
cmp eax, 2
sete dl
lea eax, [eax + edx + 0x57d]
shl eax, 2
mov ebx, dword [esp + 0xd0]
add eax, ebx
mov dword [esp + 4], eax
lea eax, [ebx + 0x3600]
mov dword [esp + 0xa4], eax
jmp 0x68471f67
mov dword [esp + 0x64], 0
jmp 0x6846f75a
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xd0]
add eax, 0x880
mov dword [ecx + 0x36ac], eax
jmp 0x6846fa37
mov eax, dword [esp + 0xd0]
add eax, 0x1854
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
mov eax, dword [esp + 0xec]
sete dl
mov byte [edi + 3], dl
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xe8]
and eax, 1
test dl, dl
je 0x6847af8b
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x88], edx
test eax, eax
jne 0x6847029c
jmp 0x6846fe98
mov eax, dword [esp + 0xbc]
add edx, eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], edx
jmp 0x6846fc65
mov ebx, dword [esp + 0xa4]
add ebx, ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x88], ebx
lea eax, [eax + ecx - 1]
neg ecx
and eax, ecx
shl eax, 2
cmp ebx, eax
jle 0x6846fc48
mov ecx, ebx
mov dword [esp + 0x88], eax
sub ecx, eax
sub dword [esp + 0xa4], ecx
jmp 0x6846fc48
mov eax, dword [esp + 0xc4]
mov edx, 0x1010101
mov ebx, dword [esp + 0xd4]
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1a0], eax
mov dword [ecx + ebx + 0x1a4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1a8], eax
mov dword [ecx + ebx + 0x1ac], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1b0], eax
mov dword [ecx + ebx + 0x1b4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1b8], eax
mov eax, dword [esp + 0xc4]
mov dword [ecx + ebx + 0x1bc], edx
mov edx, 0x1010101
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1c0], eax
mov dword [ecx + ebx + 0x1c4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1c8], eax
mov dword [ecx + ebx + 0x1cc], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1d0], eax
mov dword [ecx + ebx + 0x1d4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1d8], eax
movzx eax, byte [esp + 0xc0]
mov dword [ecx + ebx + 0x1dc], edx
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx], eax
mov dword [ecx + ebx + 4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xc], edx
mov dword [ecx + ebx + 8], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x14], edx
mov dword [ecx + ebx + 0x10], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x18], eax
movzx eax, byte [edi + 0xb]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x250], eax
mov dword [ecx + ebx + 0x254], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x258], eax
mov dword [ecx + ebx + 0x25c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x260], eax
mov dword [ecx + ebx + 0x264], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x268], eax
mov dword [ecx + ebx + 0x26c], edx
mov ebx, dword [esp + 0xb4]
mov eax, ebx
mov ecx, ebx
mov ebx, 0x1010101
cdq
add ecx, edx
mul ebx
mov ebx, dword [esp + 0xd4]
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x80], eax
mov dword [ecx + ebx + 0x84], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x88], eax
mov dword [ecx + ebx + 0x8c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x90], eax
mov dword [ecx + ebx + 0x94], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x9c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x98], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xc0], 0
mov dword [eax + ebx + 0xc4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xc8], 0
mov dword [eax + ebx + 0xcc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xd0], 0
mov dword [eax + ebx + 0xd4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xd8], 0
mov dword [eax + ebx + 0xdc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0x1010101
mov dword [eax + ebx + 0xe4], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0x1010101
mov dword [eax + ebx + 0xec], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf0], 0x1010101
mov dword [eax + ebx + 0xf4], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf8], 0x1010101
mov dword [eax + ebx + 0xfc], 0x1010101
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa0], eax
mov dword [ecx + ebx + 0xa4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa8], eax
mov dword [ecx + ebx + 0xac], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xb0], eax
mov dword [ecx + ebx + 0xb4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xb8], eax
xor eax, eax
mov dword [ecx + ebx + 0xbc], edx
mov ebx, dword [esp + 0xcc]
xor edx, edx
test ebx, ebx
je 0x68472376
movzx eax, byte [edi + 0xc]
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0xd4]
mov dword [esi + ecx + 0x1f40], eax
mov dword [esi + ecx + 0x1f48], eax
mov dword [esi + ecx + 0x1f50], eax
mov dword [esi + ecx + 0x1f58], eax
mov eax, dword [esp + 0xec]
mov dword [esi + ecx + 0x1f44], edx
mov dword [esi + ecx + 0x1f4c], edx
mov dword [esi + ecx + 0x1f54], edx
mov dword [esi + ecx + 0x1f5c], edx
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x684706f8.0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x100], 0
mov dword [eax + ecx + 0x104], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x108], 0
mov dword [eax + ecx + 0x10c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x110], 0
mov dword [eax + ecx + 0x114], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x118], 0
mov dword [eax + ecx + 0x11c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x120], 0xffffffff
mov dword [eax + ecx + 0x124], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x128], 0xffffffff
mov dword [eax + ecx + 0x12c], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x130], 0xffffffff
mov dword [eax + ecx + 0x134], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x138], 0xffffffff
mov dword [eax + ecx + 0x13c], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x140], 0xffffffff
mov dword [eax + ecx + 0x144], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x148], 0xffffffff
mov dword [eax + ecx + 0x14c], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x150], 0xffffffff
mov dword [eax + ecx + 0x154], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x158], 0xffffffff
mov dword [eax + ecx + 0x15c], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x160], 0x3030303
mov dword [eax + ecx + 0x164], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x168], 0x3030303
mov dword [eax + ecx + 0x16c], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x170], 0x3030303
mov dword [eax + ecx + 0x174], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x178], 0x3030303
mov dword [eax + ecx + 0x17c], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x180], 0x3030303
mov dword [eax + ecx + 0x184], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x188], 0x3030303
mov dword [eax + ecx + 0x18c], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x190], 0x3030303
mov dword [eax + ecx + 0x194], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x198], 0x3030303
mov dword [eax + ecx + 0x19c], 0x3030303
jmp case.0x684706f8.0
mov eax, dword [esp + 0xc4]
mov ecx, 0x1010101
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1b8], eax
mov eax, dword [esp + 0xc4]
mov dword [esi + ebx + 0x1bc], edx
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1d8], eax
movzx eax, byte [esp + 0xc0]
mov dword [esi + ebx + 0x1dc], edx
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x18], eax
movzx eax, byte [edi + 0xb]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x268], eax
mov dword [esi + ebx + 0x26c], edx
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
mov eax, dword [esp + 0xb4]
add ebx, edx
imul ebx, ebx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x9c], edx
mov dword [esi + ebx + 0x98], eax
mov dword [esi + ebx + 0xd8], 0
mov dword [esi + ebx + 0xdc], 0
mov dword [esi + ebx + 0xf8], 0x1010101
mov dword [esi + ebx + 0xfc], 0x1010101
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xb8], eax
xor eax, eax
mov dword [esi + ebx + 0xbc], edx
mov ebx, dword [esp + 0xcc]
xor edx, edx
test ebx, ebx
je 0x6847273c
movzx eax, byte [edi + 0xc]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1f60], eax
mov eax, dword [esp + 0xec]
mov dword [esi + ebx + 0x1f64], edx
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x6847061d.0
mov dword [esi + ebx + 0x118], 0
mov dword [esi + ebx + 0x11c], 0
mov dword [esi + ebx + 0x138], 0xffffffff
mov dword [esi + ebx + 0x13c], 0xffffffff
mov dword [esi + ebx + 0x158], 0xffffffff
mov dword [esi + ebx + 0x15c], 0xffffffff
mov dword [esi + ebx + 0x178], 0x3030303
mov dword [esi + ebx + 0x17c], 0x3030303
mov dword [esi + ebx + 0x198], 0x3030303
mov dword [esi + ebx + 0x19c], 0x3030303
jmp case.0x6847061d.0
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xe8]
movzx eax, byte [ecx + 3]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x1b8], eax
movzx eax, byte [ecx + 3]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x1d8], eax
imul eax, dword [esp + 0xbc], 0x1010101
mov dword [esi + edx + 0x18], eax
movzx eax, byte [edi + 0xb]
mov dword [esi + edx + 0xd8], 0
imul eax, eax, 0x1010101
mov dword [esi + edx + 0xf8], 0x1010101
mov dword [esi + edx + 0x268], eax
imul eax, dword [esp + 0xb4], 0x1010101
mov dword [esi + edx + 0x98], eax
movzx eax, byte [edi + 6]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0xb8], eax
mov edx, dword [esp + 0xcc]
xor eax, eax
test edx, edx
je 0x68472880
movzx eax, byte [edi + 0xc]
imul eax, eax, 0x1010101
mov edx, dword [esp + 0xe8]
mov dword [esi + edx + 0x1f60], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x6847061d.0
mov dword [esi + edx + 0x118], 0
mov dword [esi + edx + 0x138], 0xffffffff
mov dword [esi + edx + 0x158], 0xffffffff
mov dword [esi + edx + 0x178], 0x3030303
mov dword [esi + edx + 0x198], 0x3030303
jmp case.0x6847061d.0
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xe8]
movzx edx, byte [ebx + 3]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x1b8], ax
movzx edx, byte [ebx + 3]
mov eax, edx
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0xc0]
mov word [esi + ecx + 0x1d8], ax
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x18], ax
movzx edx, byte [edi + 0xb]
mov eax, edx
shl eax, 8
add eax, edx
mov edx, dword [esp + 0xb4]
mov word [esi + ecx + 0x268], ax
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x98], ax
xor eax, eax
mov word [esi + ecx + 0xd8], ax
mov eax, 0x101
mov word [esi + ecx + 0xf8], ax
movzx edx, byte [edi + 6]
mov eax, edx
shl eax, 8
add eax, edx
mov edx, dword [esp + 0xcc]
mov word [esi + ecx + 0xb8], ax
xor eax, eax
test edx, edx
je 0x68472994
movzx edx, byte [edi + 0xc]
mov eax, edx
shl eax, 8
add eax, edx
mov ecx, dword [esp + 0xe8]
mov word [esi + ecx + 0x1f60], ax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x6847061d.0
mov eax, 0xffffffff
xor ebx, ebx
mov word [esi + ecx + 0x138], ax
mov eax, 0xffffffff
mov word [esi + ecx + 0x158], ax
mov eax, 0x303
mov word [esi + ecx + 0x178], ax
mov eax, 0x303
mov word [esi + ecx + 0x118], bx
mov word [esi + ecx + 0x198], ax
jmp case.0x6847061d.0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esi + 0x288]
movzx edx, byte [eax + 2]
mov ebx, edx
shl ebx, 8
mov eax, ebx
mov ebx, dword [esp + 0xd4]
add eax, edx
mov word [ecx + ebx + 0x1a0], ax
mov eax, dword [esp + 0xc4]
mov ecx, dword [esi + 0x288]
movzx edx, byte [eax + 2]
mov eax, edx
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0xc0]
mov word [ecx + ebx + 0x1c0], ax
mov ecx, dword [esi + 0x288]
mov eax, edx
shl eax, 8
add eax, edx
mov word [ecx + ebx], ax
movzx ecx, byte [edi + 0xb]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov ecx, dword [esp + 0xb4]
mov word [edx + ebx + 0x250], ax
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov ecx, 0x101
mov word [edx + ebx + 0x80], ax
mov eax, dword [esi + 0x288]
xor edx, edx
mov word [eax + ebx + 0xc0], dx
mov eax, dword [esi + 0x288]
mov word [eax + ebx + 0xe0], cx
movzx ecx, byte [edi + 6]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0xa0], ax
mov ebx, dword [esp + 0xcc]
xor eax, eax
test ebx, ebx
je 0x68472aeb
movzx edx, byte [edi + 0xc]
mov eax, edx
shl eax, 8
add eax, edx
mov edx, dword [esp + 0xd4]
mov word [esi + edx + 0x1f40], ax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x684706f8.0
mov eax, dword [esi + 0x288]
xor ecx, ecx
mov ebx, 0xffffffff
mov word [eax + edx + 0x100], cx
mov eax, dword [esi + 0x288]
mov ecx, 0xffffffff
mov word [eax + edx + 0x120], bx
mov eax, dword [esi + 0x288]
mov ebx, 0x303
mov word [eax + edx + 0x140], cx
mov eax, dword [esi + 0x288]
mov ecx, 0x303
mov word [eax + edx + 0x160], bx
mov eax, dword [esi + 0x288]
mov word [eax + edx + 0x180], cx
jmp case.0x684706f8.0
mov eax, dword [esp + 0xc4]
mov ecx, 0x1010101
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1b8], eax
mov dword [esi + ebx + 0x1c0], eax
mov dword [esi + ebx + 0x1c8], eax
mov dword [esi + ebx + 0x1d0], eax
mov eax, dword [esp + 0xc4]
mov dword [esi + ebx + 0x1bc], edx
mov dword [esi + ebx + 0x1c4], edx
mov dword [esi + ebx + 0x1cc], edx
mov dword [esi + ebx + 0x1d4], edx
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1d8], eax
mov dword [esi + ebx + 0x1e0], eax
mov dword [esi + ebx + 0x1e8], eax
mov dword [esi + ebx + 0x1f0], eax
movzx eax, byte [esp + 0xc0]
mov dword [esi + ebx + 0x1dc], edx
mov dword [esi + ebx + 0x1e4], edx
mov dword [esi + ebx + 0x1ec], edx
mov dword [esi + ebx + 0x1f4], edx
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x24], edx
mov dword [esi + ebx + 0x2c], edx
mov dword [esi + ebx + 0x34], edx
mov dword [esi + ebx + 0x18], eax
mov dword [esi + ebx + 0x20], eax
mov dword [esi + ebx + 0x28], eax
mov dword [esi + ebx + 0x30], eax
movzx eax, byte [edi + 0xb]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x268], eax
mov dword [esi + ebx + 0x26c], edx
mov dword [esi + ebx + 0x270], eax
mov dword [esi + ebx + 0x274], edx
mov dword [esi + ebx + 0x278], eax
mov dword [esi + ebx + 0x27c], edx
mov dword [esi + ebx + 0x280], eax
mov dword [esi + ebx + 0x284], edx
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
mov eax, dword [esp + 0xb4]
add ebx, edx
imul ebx, ebx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x98], eax
mov dword [esi + ebx + 0x9c], edx
mov dword [esi + ebx + 0xa0], eax
mov dword [esi + ebx + 0xa4], edx
mov dword [esi + ebx + 0xa8], eax
mov dword [esi + ebx + 0xac], edx
mov dword [esi + ebx + 0xb0], eax
mov dword [esi + ebx + 0xb4], edx
mov dword [esi + ebx + 0xd8], 0
mov dword [esi + ebx + 0xdc], 0
mov dword [esi + ebx + 0xe0], 0
mov dword [esi + ebx + 0xe4], 0
mov dword [esi + ebx + 0xe8], 0
mov dword [esi + ebx + 0xec], 0
mov dword [esi + ebx + 0xf0], 0
mov dword [esi + ebx + 0xf4], 0
mov dword [esi + ebx + 0xf8], 0x1010101
mov dword [esi + ebx + 0xfc], 0x1010101
mov dword [esi + ebx + 0x100], 0x1010101
mov dword [esi + ebx + 0x104], 0x1010101
mov dword [esi + ebx + 0x108], 0x1010101
mov dword [esi + ebx + 0x10c], 0x1010101
mov dword [esi + ebx + 0x110], 0x1010101
mov dword [esi + ebx + 0x114], 0x1010101
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xb8], eax
mov dword [esi + ebx + 0xbc], edx
mov dword [esi + ebx + 0xc0], eax
mov dword [esi + ebx + 0xc4], edx
mov dword [esi + ebx + 0xc8], eax
mov dword [esi + ebx + 0xcc], edx
mov dword [esi + ebx + 0xd0], eax
xor eax, eax
mov dword [esi + ebx + 0xd4], edx
mov ebx, dword [esp + 0xcc]
xor edx, edx
test ebx, ebx
je 0x68472e1b
movzx eax, byte [edi + 0xc]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x1f60], eax
mov dword [esi + ecx + 0x1f68], eax
mov dword [esi + ecx + 0x1f70], eax
mov dword [esi + ecx + 0x1f78], eax
mov eax, dword [esp + 0xec]
mov dword [esi + ecx + 0x1f64], edx
mov dword [esi + ecx + 0x1f6c], edx
mov dword [esi + ecx + 0x1f74], edx
mov dword [esi + ecx + 0x1f7c], edx
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x6847061d.0
mov dword [esi + ecx + 0x118], 0
mov dword [esi + ecx + 0x11c], 0
mov dword [esi + ecx + 0x120], 0
mov dword [esi + ecx + 0x124], 0
mov dword [esi + ecx + 0x128], 0
mov dword [esi + ecx + 0x12c], 0
mov dword [esi + ecx + 0x130], 0
mov dword [esi + ecx + 0x134], 0
mov dword [esi + ecx + 0x138], 0xffffffff
mov dword [esi + ecx + 0x13c], 0xffffffff
mov dword [esi + ecx + 0x140], 0xffffffff
mov dword [esi + ecx + 0x144], 0xffffffff
mov dword [esi + ecx + 0x148], 0xffffffff
mov dword [esi + ecx + 0x14c], 0xffffffff
mov dword [esi + ecx + 0x150], 0xffffffff
mov dword [esi + ecx + 0x154], 0xffffffff
mov dword [esi + ecx + 0x158], 0xffffffff
mov dword [esi + ecx + 0x15c], 0xffffffff
mov dword [esi + ecx + 0x160], 0xffffffff
mov dword [esi + ecx + 0x164], 0xffffffff
mov dword [esi + ecx + 0x168], 0xffffffff
mov dword [esi + ecx + 0x16c], 0xffffffff
mov dword [esi + ecx + 0x170], 0xffffffff
mov dword [esi + ecx + 0x174], 0xffffffff
mov dword [esi + ecx + 0x178], 0x3030303
mov dword [esi + ecx + 0x17c], 0x3030303
mov dword [esi + ecx + 0x180], 0x3030303
mov dword [esi + ecx + 0x184], 0x3030303
mov dword [esi + ecx + 0x188], 0x3030303
mov dword [esi + ecx + 0x18c], 0x3030303
mov dword [esi + ecx + 0x190], 0x3030303
mov dword [esi + ecx + 0x194], 0x3030303
mov dword [esi + ecx + 0x198], 0x3030303
mov dword [esi + ecx + 0x19c], 0x3030303
mov dword [esi + ecx + 0x1a0], 0x3030303
mov dword [esi + ecx + 0x1a4], 0x3030303
mov dword [esi + ecx + 0x1a8], 0x3030303
mov dword [esi + ecx + 0x1ac], 0x3030303
mov dword [esi + ecx + 0x1b0], 0x3030303
mov dword [esi + ecx + 0x1b4], 0x3030303
jmp case.0x6847061d.0
mov eax, dword [esp + 0xc4]
mov ecx, 0x1010101
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1b8], eax
mov dword [esi + ebx + 0x1c0], eax
mov eax, dword [esp + 0xc4]
mov dword [esi + ebx + 0x1bc], edx
mov dword [esi + ebx + 0x1c4], edx
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1d8], eax
mov dword [esi + ebx + 0x1e0], eax
movzx eax, byte [esp + 0xc0]
mov dword [esi + ebx + 0x1dc], edx
mov dword [esi + ebx + 0x1e4], edx
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x24], edx
mov dword [esi + ebx + 0x18], eax
mov dword [esi + ebx + 0x20], eax
movzx eax, byte [edi + 0xb]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x268], eax
mov dword [esi + ebx + 0x26c], edx
mov dword [esi + ebx + 0x270], eax
mov dword [esi + ebx + 0x274], edx
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
mov eax, dword [esp + 0xb4]
add ebx, edx
imul ebx, ebx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x98], eax
mov dword [esi + ebx + 0x9c], edx
mov dword [esi + ebx + 0xa0], eax
mov dword [esi + ebx + 0xa4], edx
mov dword [esi + ebx + 0xd8], 0
mov dword [esi + ebx + 0xdc], 0
mov dword [esi + ebx + 0xe0], 0
mov dword [esi + ebx + 0xe4], 0
mov dword [esi + ebx + 0xf8], 0x1010101
mov dword [esi + ebx + 0xfc], 0x1010101
mov dword [esi + ebx + 0x100], 0x1010101
mov dword [esi + ebx + 0x104], 0x1010101
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xb8], eax
mov dword [esi + ebx + 0xbc], edx
mov dword [esi + ebx + 0xc0], eax
xor eax, eax
mov dword [esi + ebx + 0xc4], edx
mov ebx, dword [esp + 0xcc]
xor edx, edx
test ebx, ebx
je 0x684731e5
movzx eax, byte [edi + 0xc]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x1f60], eax
mov dword [esi + ecx + 0x1f68], eax
mov eax, dword [esp + 0xec]
mov dword [esi + ecx + 0x1f64], edx
mov dword [esi + ecx + 0x1f6c], edx
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x6847061d.0
mov dword [esi + ecx + 0x118], 0
mov dword [esi + ecx + 0x11c], 0
mov dword [esi + ecx + 0x120], 0
mov dword [esi + ecx + 0x124], 0
mov dword [esi + ecx + 0x138], 0xffffffff
mov dword [esi + ecx + 0x13c], 0xffffffff
mov dword [esi + ecx + 0x140], 0xffffffff
mov dword [esi + ecx + 0x144], 0xffffffff
mov dword [esi + ecx + 0x158], 0xffffffff
mov dword [esi + ecx + 0x15c], 0xffffffff
mov dword [esi + ecx + 0x160], 0xffffffff
mov dword [esi + ecx + 0x164], 0xffffffff
mov dword [esi + ecx + 0x178], 0x3030303
mov dword [esi + ecx + 0x17c], 0x3030303
mov dword [esi + ecx + 0x180], 0x3030303
mov dword [esi + ecx + 0x184], 0x3030303
mov dword [esi + ecx + 0x198], 0x3030303
mov dword [esi + ecx + 0x19c], 0x3030303
mov dword [esi + ecx + 0x1a0], 0x3030303
mov dword [esi + ecx + 0x1a4], 0x3030303
jmp case.0x6847061d.0
mov eax, dword [esp + 0xc4]
mov ecx, 0x1010101
movzx eax, byte [eax + 2]
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x1a0], eax
mov eax, dword [esp + 0xc4]
mov dword [ecx + ebx + 0x1a4], edx
mov ecx, 0x1010101
movzx eax, byte [eax + 2]
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x1c0], eax
movzx eax, byte [esp + 0xc0]
mov dword [ecx + ebx + 0x1c4], edx
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 4], edx
mov dword [ecx + ebx], eax
movzx eax, byte [edi + 0xb]
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x250], eax
mov dword [ecx + ebx + 0x254], edx
mov ecx, dword [esp + 0xb4]
mov eax, ecx
mov ebx, ecx
mov ecx, 0x1010101
cdq
add ebx, edx
mul ecx
mov ecx, dword [esi + 0x288]
imul ebx, ebx, 0x1010101
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x84], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x80], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xc0], 0
mov dword [eax + ebx + 0xc4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0x1010101
mov dword [eax + ebx + 0xe4], 0x1010101
movzx eax, byte [edi + 6]
mov ecx, dword [esi + 0x288]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0xa0], eax
xor eax, eax
mov dword [ecx + ebx + 0xa4], edx
mov ebx, dword [esp + 0xcc]
xor edx, edx
test ebx, ebx
je 0x68473483
movzx eax, byte [edi + 0xc]
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ecx, dword [esp + 0xd4]
mov dword [esi + ecx + 0x1f40], eax
mov eax, dword [esp + 0xec]
mov dword [esi + ecx + 0x1f44], edx
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x684706f8.0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x100], 0
mov dword [eax + ecx + 0x104], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x120], 0xffffffff
mov dword [eax + ecx + 0x124], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x140], 0xffffffff
mov dword [eax + ecx + 0x144], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x160], 0x3030303
mov dword [eax + ecx + 0x164], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x180], 0x3030303
mov dword [eax + ecx + 0x184], 0x3030303
jmp case.0x684706f8.0
mov ebx, dword [esp + 0xc4]
mov edx, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
movzx eax, byte [ebx + 2]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x1a0], eax
movzx eax, byte [ebx + 2]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x1c0], eax
mov edx, dword [esi + 0x288]
imul eax, dword [esp + 0xbc], 0x1010101
mov dword [edx + ecx], eax
movzx eax, byte [edi + 0xb]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x250], eax
mov eax, dword [esi + 0x288]
imul edx, dword [esp + 0xb4], 0x1010101
mov dword [eax + ecx + 0x80], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xc0], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0x1010101
movzx eax, byte [edi + 6]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0xa0], eax
mov edx, dword [esp + 0xcc]
xor eax, eax
test edx, edx
je 0x6847360f
movzx eax, byte [edi + 0xc]
imul eax, eax, 0x1010101
mov ebx, dword [esp + 0xd4]
mov dword [esi + ebx + 0x1f40], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x684706f8.0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x100], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x120], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x140], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x160], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x180], 0x3030303
jmp case.0x684706f8.0
mov eax, dword [esp + 0xc4]
mov edx, 0x1010101
mov ecx, dword [esp + 0xd4]
movzx eax, byte [eax + 2]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x1a0], eax
mov dword [ebx + ecx + 0x1a4], edx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x1a8], eax
mov eax, dword [esp + 0xc4]
mov dword [ebx + ecx + 0x1ac], edx
mov edx, 0x1010101
movzx eax, byte [eax + 2]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x1c0], eax
mov dword [ebx + ecx + 0x1c4], edx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x1c8], eax
movzx eax, byte [esp + 0xc0]
mov dword [ebx + ecx + 0x1cc], edx
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 4], edx
mov dword [ebx + ecx], eax
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0xc], edx
mov edx, 0x1010101
mov dword [ebx + ecx + 8], eax
movzx eax, byte [edi + 0xb]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x250], eax
mov dword [ebx + ecx + 0x254], edx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x258], eax
mov dword [ebx + ecx + 0x25c], edx
mov ecx, dword [esp + 0xb4]
mov eax, ecx
mov ebx, ecx
mov ecx, 0x1010101
cdq
add ebx, edx
mul ecx
imul ebx, ebx, 0x1010101
add edx, ebx
mov ebx, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
mov dword [ebx + ecx + 0x84], edx
mov dword [ebx + ecx + 0x80], eax
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0x8c], edx
mov edx, 0x1010101
mov dword [ebx + ecx + 0x88], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xc0], 0
mov dword [eax + ecx + 0xc4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xc8], 0
mov dword [eax + ecx + 0xcc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0x1010101
mov dword [eax + ecx + 0xe4], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe8], 0x1010101
mov dword [eax + ecx + 0xec], 0x1010101
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0xa0], eax
mov dword [ebx + ecx + 0xa4], edx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx + 0xa8], eax
xor eax, eax
mov dword [ebx + ecx + 0xac], edx
mov ecx, dword [esp + 0xcc]
xor edx, edx
test ecx, ecx
je 0x684738a1
movzx eax, byte [edi + 0xc]
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ecx, dword [esp + 0xd4]
mov dword [esi + ecx + 0x1f40], eax
mov dword [esi + ecx + 0x1f48], eax
mov eax, dword [esp + 0xec]
mov dword [esi + ecx + 0x1f44], edx
mov dword [esi + ecx + 0x1f4c], edx
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je case.0x684706f8.0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x100], 0
mov dword [eax + ecx + 0x104], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x108], 0
mov dword [eax + ecx + 0x10c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x120], 0xffffffff
mov dword [eax + ecx + 0x124], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x128], 0xffffffff
mov dword [eax + ecx + 0x12c], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x140], 0xffffffff
mov dword [eax + ecx + 0x144], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x148], 0xffffffff
mov dword [eax + ecx + 0x14c], 0xffffffff
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x160], 0x3030303
mov dword [eax + ecx + 0x164], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x168], 0x3030303
mov dword [eax + ecx + 0x16c], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x180], 0x3030303
mov dword [eax + ecx + 0x184], 0x3030303
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x188], 0x3030303
mov dword [eax + ecx + 0x18c], 0x3030303
jmp case.0x684706f8.0
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xd4]
movzx edx, byte [eax + edx + 0x80]
mov eax, dword [esp + 0xe8]
movzx eax, byte [esi + eax + 0x98]
mov dword [esp], ecx
lea eax, [edx + eax + 0x5e5]
lea eax, [ebx + eax*4]
mov dword [esp + 4], eax
call fcn.68401850
mov dword [esp + 0xb4], eax
test eax, eax
jne 0x68478ad0
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
jmp 0x68470171
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov eax, ebx
mov ecx, edx
and ebx, 1
sar edx, 1
sar eax, 1
and ecx, 1
add edx, ebx
add ecx, eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x854]
mov dword [esp + 0xc4], eax
sar eax, 1
imul eax, ecx
add eax, edx
mov edx, dword [esp + 0xec]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [edx + 0xae0]
jmp 0x68470a30
mov eax, dword [esp + 0xb8]
cmp byte [edi + 8], 0
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
lea ebx, [edx + eax - 2]
je 0x68478df2
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x68473ad2
cmp byte [edi + 9], 0
je 0x68479355
test dword [edi + 8], 0xff0000ff
jne 0x6847004e
jmp 0x6847001d
movzx ecx, word [edi + 0xa]
lea edx, [ecx + 3]
sar cx, 0xf
sub edx, ecx
movzx ecx, word [edi + 8]
and edx, 0xfffffff8
mov word [edi + 0xa], dx
lea edx, [ecx + 3]
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffff8
mov word [edi + 8], dx
movzx ecx, word [edi + 0xe]
lea edx, [ecx + 3]
sar cx, 0xf
sub edx, ecx
movzx ecx, word [edi + 0xc]
and edx, 0xfffffff8
mov word [edi + 0xe], dx
lea edx, [ecx + 3]
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffff8
mov word [edi + 0xc], dx
jmp 0x684712e6
movzx eax, byte [ecx + 0x684f9734]
mov edx, dword [esp + 0xe8]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x178], eax
movzx eax, byte [ecx + 0x684f9735]
mov dword [esi + edx + 0xf8], 0
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x198], eax
jmp case.0x6846f427.0
movzx eax, byte [ecx + 0x684f9734]
mov ebx, 0x1010101
imul edx, eax, 0x1010101
mov dword [esp + 0xc4], edx
mul ebx
mov ebx, dword [esp + 0xe8]
add edx, dword [esp + 0xc4]
mov dword [esi + ebx + 0x17c], edx
mov dword [esi + ebx + 0x184], edx
mov dword [esi + ebx + 0x178], eax
mov dword [esi + ebx + 0x180], eax
movzx eax, byte [ecx + 0x684f9735]
mov dword [esi + ebx + 0xf8], 0
imul edx, eax, 0x1010101
mov dword [esi + ebx + 0xfc], 0
mov dword [esi + ebx + 0x100], 0
mov dword [esi + ebx + 0x104], 0
mov dword [esp + 0xe8], edx
mov edx, 0x1010101
mul edx
add edx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x19c], edx
mov dword [esi + ebx + 0x1a4], edx
mov dword [esi + ebx + 0x198], eax
mov dword [esi + ebx + 0x1a0], eax
jmp case.0x6846f427.0
movzx eax, byte [ecx + 0x684f9734]
mov edx, dword [esp + 0xe8]
mov byte [esi + edx + 0x178], al
movzx eax, byte [ecx + 0x684f9735]
mov byte [esi + edx + 0xf8], 0
mov byte [esi + edx + 0x198], al
jmp case.0x6846f427.0
movzx edx, byte [ecx + 0x684f9734]
mov eax, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
mov byte [eax + ecx + 0x160], dl
mov eax, dword [esp + 0xc8]
movzx edx, byte [eax + 1]
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x180], dl
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0xe0], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je 0x68473ddc
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esi + 0xc]
and eax, 0x1f
add eax, 5
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xd4], eax
lea eax, [eax + edx + 0x9f]
mov eax, dword [esi + eax*4 + 0x10]
movzx edx, byte [edi + 0x18]
mov dword [esp + 0xc8], esi
movzx ebx, byte [esp + 0xd8]
mov esi, dword [esp + 0xe0]
lea ecx, [edx + 1]
mov edx, dword [esp + 0xe8]
mov byte [esp + 0xec], cl
lea edx, [edx + edx*2]
lea eax, [eax + edx*4]
xor edx, edx
nop
lea esi, [esi]
movzx ecx, byte [esp + 0xec]
add edx, 1
add eax, 0xc
mov byte [eax - 4], cl
mov ecx, dword [edi + 8]
mov byte [eax - 2], bl
mov dword [eax - 0xc], ecx
cmp esi, edx
jg 0x68473d20
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xd4]
cmp dword [esp + 0xe4], 1
lea eax, [esi + eax*4 + 0x290]
jle 0x68473ddc
mov ecx, dword [esp + 0xe0]
add ecx, dword [esp + 0xe8]
lea edx, [ecx + ecx*2]
movzx ebx, byte [edi + 0x18]
lea ecx, [edx*4 - 0xc]
mov edx, dword [esp + 0xe4]
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], ecx
lea ecx, [ebx + 1]
mov esi, dword [esp + 0xe0]
lea edx, [eax + edx*4 - 4]
mov byte [esp + 0xe8], cl
movzx ebx, byte [esp + 0xd8]
mov dword [esp + 0xec], edx
mov edx, dword [eax]
movzx ecx, byte [esp + 0xe8]
add eax, 4
add edx, esi
mov byte [edx + 8], cl
mov ecx, dword [edi + 8]
mov byte [edx + 0xa], bl
mov dword [edx], ecx
cmp dword [esp + 0xec], eax
jne 0x68473db2
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0xcc]
test eax, eax
je case.0x68477350.0
mov eax, dword [esp + 0x94]
cmp eax, 0x20
ja case.0x68473dfb.0
jmp dword [eax*4 + 0x684e811c]
movzx edx, byte [ecx + 0x684f9734]
mov ebx, dword [esp + 0xd4]
mov ecx, dword [esi + 0x288]
mov eax, edx
shl eax, 8
add eax, edx
mov word [ecx + ebx + 0x160], ax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esi + 0x288]
movzx edx, byte [eax + 1]
mov eax, edx
shl eax, 8
add eax, edx
xor edx, edx
mov word [ecx + ebx + 0x180], ax
mov eax, dword [esi + 0x288]
mov word [eax + ebx + 0xe0], dx
jmp 0x68473ca5
movzx eax, byte [ecx + 0x684f9734]
mov edx, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x160], eax
mov eax, dword [esp + 0xc8]
mov edx, dword [esi + 0x288]
movzx eax, byte [eax + 1]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x180], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0
jmp 0x68473ca5
movzx eax, byte [ecx + 0x684f9734]
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x160], eax
mov eax, dword [esp + 0xc8]
mov dword [ecx + ebx + 0x164], edx
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
movzx eax, byte [eax + 1]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x180], eax
mov dword [ecx + ebx + 0x184], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
jmp 0x68473ca5
movzx eax, byte [ecx + 0x684f9734]
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x160], eax
mov dword [ecx + ebx + 0x164], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x168], eax
mov eax, dword [esp + 0xc8]
mov dword [ecx + ebx + 0x16c], edx
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
movzx eax, byte [eax + 1]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x180], eax
mov dword [ecx + ebx + 0x184], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x188], eax
mov dword [ecx + ebx + 0x18c], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0
mov dword [eax + ebx + 0xec], 0
jmp 0x68473ca5
movzx eax, byte [ecx + 0x684f9734]
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x160], eax
mov dword [ecx + ebx + 0x164], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x168], eax
mov dword [ecx + ebx + 0x16c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x170], eax
mov dword [ecx + ebx + 0x174], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x178], eax
mov eax, dword [esp + 0xc8]
mov dword [ecx + ebx + 0x17c], edx
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
movzx eax, byte [eax + 1]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x180], eax
mov dword [ecx + ebx + 0x184], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x188], eax
mov dword [ecx + ebx + 0x18c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x190], eax
mov dword [ecx + ebx + 0x194], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x198], eax
mov dword [ecx + ebx + 0x19c], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0
mov dword [eax + ebx + 0xec], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf0], 0
mov dword [eax + ebx + 0xf4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf8], 0
mov dword [eax + ebx + 0xfc], 0
jmp 0x68473ca5
movzx edx, byte [ecx + 0x684f9734]
mov ebx, dword [esp + 0xe8]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ebx + 0x178], ax
movzx edx, byte [ecx + 0x684f9735]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ebx + 0x198], ax
xor eax, eax
mov word [esi + ebx + 0xf8], ax
jmp case.0x6846f427.0
movzx eax, byte [ecx + 0x684f9734]
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x17c], edx
mov dword [esi + ebx + 0x178], eax
movzx eax, byte [ecx + 0x684f9735]
mov dword [esi + ebx + 0xf8], 0
imul edx, eax, 0x1010101
mov dword [esi + ebx + 0xfc], 0
mov dword [esp + 0xe8], edx
mov edx, 0x1010101
mul edx
add edx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x19c], edx
mov dword [esi + ebx + 0x198], eax
jmp case.0x6846f427.0
mov ecx, dword [esp + 0xb4]
mov ebx, 0x1010101
mov eax, ecx
cdq
mov eax, dword [esp + 0xb4]
add ecx, edx
imul ecx, ecx, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x9c], edx
mov dword [esi + ecx + 0xa4], edx
mov dword [esi + ecx + 0xac], edx
mov dword [esi + ecx + 0xb4], edx
mov dword [esi + ecx + 0x98], eax
mov dword [esi + ecx + 0xa0], eax
mov dword [esi + ecx + 0xa8], eax
mov dword [esi + ecx + 0xb0], eax
movzx eax, byte [edi + 5]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0xdc], edx
mov dword [esi + ecx + 0xe4], edx
mov dword [esi + ecx + 0xec], edx
mov dword [esi + ecx + 0xf4], edx
mov dword [esi + ecx + 0xd8], eax
mov dword [esi + ecx + 0xe0], eax
mov dword [esi + ecx + 0xe8], eax
mov dword [esi + ecx + 0xf0], eax
mov dword [esi + ecx + 0xf8], 0
mov dword [esi + ecx + 0xfc], 0
mov dword [esi + ecx + 0x100], 0
mov dword [esi + ecx + 0x104], 0
mov dword [esi + ecx + 0x108], 0
mov dword [esi + ecx + 0x10c], 0
mov dword [esi + ecx + 0x110], 0
mov dword [esi + ecx + 0x114], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0xb8], eax
mov dword [esi + ecx + 0xbc], edx
mov dword [esi + ecx + 0xc0], eax
mov dword [esi + ecx + 0xc8], eax
mov dword [esi + ecx + 0xd0], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + ecx + 0xc4], edx
mov dword [esi + ecx + 0xcc], edx
mov dword [esi + ecx + 0xd4], edx
mov dword [esi + ecx + 0x268], 0
mov dword [esi + ecx + 0x26c], 0
mov dword [esi + ecx + 0x270], 0
mov dword [esi + ecx + 0x274], 0
mov dword [esi + ecx + 0x278], 0
mov dword [esi + ecx + 0x27c], 0
mov dword [esi + ecx + 0x280], 0
mov dword [esi + ecx + 0x284], 0
mov dword [esi + ecx + 0x1f60], 0
mov dword [esi + ecx + 0x1f64], 0
mov dword [esi + ecx + 0x1f68], 0
mov dword [esi + ecx + 0x1f6c], 0
mov dword [esi + ecx + 0x1f70], 0
mov dword [esi + ecx + 0x1f74], 0
mov dword [esi + ecx + 0x1f78], 0
mov dword [esi + ecx + 0x1f7c], 0
movzx eax, byte [eax + 3]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x1b8], eax
mov dword [esi + ecx + 0x1bc], edx
mov dword [esi + ecx + 0x1c0], eax
mov dword [esi + ecx + 0x1c4], edx
mov dword [esi + ecx + 0x1c8], eax
mov dword [esi + ecx + 0x1cc], edx
mov dword [esi + ecx + 0x1d0], eax
mov dword [esi + ecx + 0x1d4], edx
movzx eax, byte [edi + 0x14]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x118], eax
mov dword [esi + ecx + 0x120], eax
mov dword [esi + ecx + 0x128], eax
mov dword [esi + ecx + 0x130], eax
mov eax, dword [esp + 0xc0]
mov dword [esi + ecx + 0x11c], edx
mov dword [esi + ecx + 0x124], edx
mov dword [esi + ecx + 0x12c], edx
mov dword [esi + ecx + 0x134], edx
mul ebx
imul ecx, dword [esp + 0xc0], 0x1010101
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x178], eax
mov dword [esi + ecx + 0x180], eax
mov dword [esi + ecx + 0x188], eax
mov dword [esi + ecx + 0x190], eax
mov eax, dword [esp + 0xc4]
mov dword [esi + ecx + 0x17c], edx
mov dword [esi + ecx + 0x184], edx
mov dword [esi + ecx + 0x18c], edx
mov dword [esi + ecx + 0x194], edx
mul ebx
imul ecx, dword [esp + 0xc4], 0x1010101
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x19c], edx
mov dword [esi + ecx + 0x1a4], edx
mov dword [esi + ecx + 0x1ac], edx
mov dword [esi + ecx + 0x1b4], edx
mov dword [esi + ecx + 0x198], eax
mov dword [esi + ecx + 0x1a0], eax
mov dword [esi + ecx + 0x1a8], eax
mov dword [esi + ecx + 0x1b0], eax
movzx eax, byte [edi + 0x15]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x1c], edx
mov dword [esi + ecx + 0x24], edx
mov dword [esi + ecx + 0x2c], edx
mov dword [esi + ecx + 0x34], edx
mov dword [esi + ecx + 0x18], eax
mov dword [esi + ecx + 0x20], eax
mov dword [esi + ecx + 0x28], eax
mov dword [esi + ecx + 0x30], eax
movsx eax, byte [edi + 0x18]
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mul ebx
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x13c], edx
mov dword [esi + ecx + 0x144], edx
mov dword [esi + ecx + 0x14c], edx
mov dword [esi + ecx + 0x154], edx
mov dword [esi + ecx + 0x138], eax
mov dword [esi + ecx + 0x140], eax
mov dword [esi + ecx + 0x148], eax
mov dword [esi + ecx + 0x150], eax
movzx eax, byte [edi + 0x19]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x158], eax
mov dword [esi + ecx + 0x15c], edx
mov dword [esi + ecx + 0x160], eax
mov dword [esi + ecx + 0x164], edx
mov dword [esi + ecx + 0x168], eax
mov dword [esi + ecx + 0x16c], edx
mov dword [esi + ecx + 0x170], eax
mov dword [esi + ecx + 0x174], edx
cmp byte [esp + 0xaf], 0x20
ja case.0x68474659.0
mov eax, dword [esp + 0xe0]
jmp dword [eax*4 + 0x684e81a0]
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
lea ecx, [ebx + edx]
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x84], edx
mov dword [ecx + ebx + 0x80], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x8c], edx
mov dword [ecx + ebx + 0x88], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x94], edx
mov dword [ecx + ebx + 0x90], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x9c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x98], eax
movzx eax, byte [edi + 5]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xc4], edx
mov dword [ecx + ebx + 0xc0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xcc], edx
mov dword [ecx + ebx + 0xc8], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xd4], edx
mov dword [ecx + ebx + 0xd0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xdc], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0xd8], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0
mov dword [eax + ebx + 0xec], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf0], 0
mov dword [eax + ebx + 0xf4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf8], 0
mov dword [eax + ebx + 0xfc], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa4], edx
mov dword [ecx + ebx + 0xa0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xac], edx
mov dword [ecx + ebx + 0xa8], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xb4], edx
mov dword [ecx + ebx + 0xb0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xbc], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0xb8], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x250], 0
mov dword [eax + ebx + 0x254], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x258], 0
mov dword [eax + ebx + 0x25c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x260], 0
mov dword [eax + ebx + 0x264], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x268], 0
mov dword [eax + ebx + 0x26c], 0
mov dword [esi + ebx + 0x1f40], 0
mov dword [esi + ebx + 0x1f44], 0
mov eax, dword [esp + 0xb8]
mov dword [esi + ebx + 0x1f48], 0
mov dword [esi + ebx + 0x1f4c], 0
mov dword [esi + ebx + 0x1f50], 0
mov dword [esi + ebx + 0x1f54], 0
mov dword [esi + ebx + 0x1f58], 0
mov dword [esi + ebx + 0x1f5c], 0
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1a4], edx
mov dword [ecx + ebx + 0x1a0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1ac], edx
mov dword [ecx + ebx + 0x1a8], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1b4], edx
mov dword [ecx + ebx + 0x1b0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1bc], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x1b8], eax
movzx eax, byte [edi + 0x14]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x100], eax
mov dword [ecx + ebx + 0x104], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x108], eax
mov dword [ecx + ebx + 0x10c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x110], eax
mov dword [ecx + ebx + 0x114], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x118], eax
mov dword [ecx + ebx + 0x11c], edx
mov ebx, dword [esp + 0xc0]
imul ecx, ebx, 0x1010101
mov eax, ebx
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x160], eax
mov dword [ecx + ebx + 0x164], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x168], eax
mov dword [ecx + ebx + 0x16c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x170], eax
mov dword [ecx + ebx + 0x174], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x178], eax
mov dword [ecx + ebx + 0x17c], edx
mov ebx, dword [esp + 0xc4]
imul ecx, ebx, 0x1010101
mov eax, ebx
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x184], edx
mov dword [ecx + ebx + 0x180], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x18c], edx
mov dword [ecx + ebx + 0x188], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x194], edx
mov dword [ecx + ebx + 0x190], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x19c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x198], eax
movzx eax, byte [edi + 0x15]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx], eax
mov dword [ecx + ebx + 4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xc], edx
mov dword [ecx + ebx + 8], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x14], edx
mov dword [ecx + ebx + 0x10], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x18], eax
movsx eax, byte [edi + 0x18]
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mul edx
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x124], edx
mov dword [ecx + ebx + 0x120], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x12c], edx
mov dword [ecx + ebx + 0x128], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x134], edx
mov dword [ecx + ebx + 0x130], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x13c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x138], eax
movzx eax, byte [edi + 0x19]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x140], eax
mov dword [ecx + ebx + 0x144], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x148], eax
mov dword [ecx + ebx + 0x14c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x150], eax
mov dword [ecx + ebx + 0x154], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x158], eax
mov dword [ecx + ebx + 0x15c], edx
mov eax, dword [esp + 0xcc]
test eax, eax
je case.0x68471c94.0
mov eax, dword [esp + 0x94]
cmp eax, 0x20
ja case.0x68474bb2.0
jmp dword [eax*4 + 0x684e8224]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esi + 0x288]
mov ebx, dword [esp + 0xd4]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0x80], ax
movzx ecx, byte [edi + 5]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0xc0], ax
mov eax, dword [esi + 0x288]
xor edx, edx
mov word [eax + ebx + 0xe0], dx
movzx ecx, byte [edi + 6]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
xor ecx, ecx
mov word [edx + ebx + 0xa0], ax
mov eax, dword [esi + 0x288]
mov word [eax + ebx + 0x250], cx
xor eax, eax
mov word [esi + ebx + 0x1f40], ax
mov eax, dword [esp + 0xb8]
mov edx, dword [esi + 0x288]
movzx ecx, byte [eax + 2]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0x1a0], ax
movzx ecx, byte [edi + 0x14]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov ecx, ebx
mov word [edx + ebx + 0x100], ax
mov ebx, dword [esp + 0xc0]
mov edx, dword [esi + 0x288]
mov eax, ebx
shl eax, 8
add eax, ebx
mov ebx, dword [esp + 0xc4]
mov word [edx + ecx + 0x160], ax
mov edx, dword [esi + 0x288]
mov eax, ebx
shl eax, 8
add eax, ebx
mov ebx, ecx
mov word [edx + ecx + 0x180], ax
movzx ecx, byte [edi + 0x15]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx], ax
mov edx, dword [esi + 0x288]
movsx cx, byte [edi + 0x18]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0x120], ax
movzx ecx, byte [edi + 0x19]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0x140], ax
jmp case.0x68474659.0
mov ecx, dword [esp + 0xb4]
mov eax, ecx
mov ebx, ecx
mov ecx, 0x1010101
cdq
add ebx, edx
mul ecx
mov ecx, dword [esi + 0x288]
imul ebx, ebx, 0x1010101
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x84], edx
mov dword [ecx + ebx + 0x80], eax
movzx eax, byte [edi + 5]
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0xc4], edx
mov dword [ecx + ebx + 0xc0], eax
mov eax, dword [esi + 0x288]
mov ecx, 0x1010101
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0xa4], edx
mov dword [ecx + ebx + 0xa0], eax
mov eax, dword [esi + 0x288]
mov ecx, 0x1010101
mov dword [eax + ebx + 0x250], 0
mov dword [eax + ebx + 0x254], 0
mov eax, dword [esp + 0xb8]
mov dword [esi + ebx + 0x1f40], 0
mov dword [esi + ebx + 0x1f44], 0
movzx eax, byte [eax + 2]
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x1a4], edx
mov dword [ecx + ebx + 0x1a0], eax
movzx eax, byte [edi + 0x14]
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x100], eax
mov dword [ecx + ebx + 0x104], edx
mov ecx, dword [esp + 0xc0]
imul ebx, ecx, 0x1010101
mov eax, ecx
mov ecx, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x160], eax
mov dword [ecx + ebx + 0x164], edx
mov ecx, dword [esp + 0xc4]
imul ebx, ecx, 0x1010101
mov eax, ecx
mov ecx, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x184], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x180], eax
movzx eax, byte [edi + 0x15]
mov ecx, dword [esi + 0x288]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 4], edx
mov dword [ecx + ebx], eax
movsx eax, byte [edi + 0x18]
mov ecx, dword [esi + 0x288]
mov ebx, eax
sar ebx, 0x1f
mov edx, ebx
add edx, eax
imul ebx, edx, 0x1010101
mov edx, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x124], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x120], eax
movzx eax, byte [edi + 0x19]
mov ecx, dword [esi + 0x288]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx + 0x140], eax
mov dword [ecx + ebx + 0x144], edx
jmp case.0x68474659.0
mov ecx, dword [esp + 0xd4]
mov eax, dword [esi + 0x288]
imul edx, dword [esp + 0xb4], 0x1010101
mov dword [eax + ecx + 0x80], edx
movzx eax, byte [edi + 5]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0xc0], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0
movzx eax, byte [edi + 6]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0xa0], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x250], 0
mov eax, dword [esp + 0xb8]
mov dword [esi + ecx + 0x1f40], 0
mov edx, dword [esi + 0x288]
movzx eax, byte [eax + 2]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x1a0], eax
movzx eax, byte [edi + 0x14]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x100], eax
mov eax, dword [esi + 0x288]
imul edx, dword [esp + 0xc0], 0x1010101
mov dword [eax + ecx + 0x160], edx
mov eax, dword [esi + 0x288]
imul edx, dword [esp + 0xc4], 0x1010101
mov dword [eax + ecx + 0x180], edx
movzx eax, byte [edi + 0x15]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx], eax
mov edx, dword [esi + 0x288]
movsx eax, byte [edi + 0x18]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x120], eax
movzx eax, byte [edi + 0x19]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x140], eax
jmp case.0x68474659.0
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
lea ecx, [ebx + edx]
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x84], edx
mov dword [ecx + ebx + 0x80], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x8c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x88], eax
movzx eax, byte [edi + 5]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xc4], edx
mov dword [ecx + ebx + 0xc0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xcc], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0xc8], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0
mov dword [eax + ebx + 0xec], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa4], edx
mov dword [ecx + ebx + 0xa0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xac], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0xa8], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x250], 0
mov dword [eax + ebx + 0x254], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x258], 0
mov dword [eax + ebx + 0x25c], 0
mov eax, dword [esp + 0xb8]
mov dword [esi + ebx + 0x1f40], 0
mov dword [esi + ebx + 0x1f44], 0
mov dword [esi + ebx + 0x1f48], 0
mov dword [esi + ebx + 0x1f4c], 0
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1a4], edx
mov dword [ecx + ebx + 0x1a0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1ac], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x1a8], eax
movzx eax, byte [edi + 0x14]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x100], eax
mov dword [ecx + ebx + 0x104], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x108], eax
mov dword [ecx + ebx + 0x10c], edx
mov ebx, dword [esp + 0xc0]
imul ecx, ebx, 0x1010101
mov eax, ebx
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x160], eax
mov dword [ecx + ebx + 0x164], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x168], eax
mov dword [ecx + ebx + 0x16c], edx
mov ebx, dword [esp + 0xc4]
imul ecx, ebx, 0x1010101
mov eax, ebx
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x180], eax
mov dword [ecx + ebx + 0x184], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x18c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x188], eax
movzx eax, byte [edi + 0x15]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 4], edx
mov dword [ecx + ebx], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xc], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 8], eax
movsx eax, byte [edi + 0x18]
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mul edx
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x124], edx
mov dword [ecx + ebx + 0x120], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x12c], edx
mov edx, 0x1010101
mov dword [ecx + ebx + 0x128], eax
movzx eax, byte [edi + 0x19]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x140], eax
mov dword [ecx + ebx + 0x144], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x148], eax
mov dword [ecx + ebx + 0x14c], edx
jmp case.0x68474659.0
mov ebx, dword [esp + 0xd4]
mov eax, dword [esi + 0x288]
movzx ecx, byte [esp + 0xb4]
mov byte [eax + ebx + 0x80], cl
movzx edx, byte [edi + 5]
mov eax, dword [esi + 0x288]
movzx ecx, byte [esp + 0xc0]
mov byte [eax + ebx + 0xc0], dl
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0xe0], 0
movzx edx, byte [edi + 6]
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0xa0], dl
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0x250], 0
mov eax, dword [esp + 0xb8]
mov byte [esi + ebx + 0x1f40], 0
movzx edx, byte [eax + 2]
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0x1a0], dl
movzx edx, byte [edi + 0x14]
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0x100], dl
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0x160], cl
movzx ecx, byte [esp + 0xc4]
mov eax, dword [esi + 0x288]
mov byte [eax + ebx + 0x180], cl
mov eax, dword [esi + 0x288]
movzx edx, byte [edi + 0x15]
mov byte [eax + ebx], dl
mov eax, dword [esi + 0x288]
movzx edx, byte [edi + 0x18]
mov byte [eax + ebx + 0x120], dl
mov eax, dword [esi + 0x288]
movzx edx, byte [edi + 0x19]
mov byte [eax + ebx + 0x140], dl
jmp case.0x68474659.0
mov ebx, dword [esp + 0xb4]
mov ecx, 0x1010101
mov eax, ebx
cdq
mov eax, dword [esp + 0xb4]
add ebx, edx
imul ebx, ebx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x9c], edx
mov dword [esi + ebx + 0xa4], edx
mov dword [esi + ebx + 0x98], eax
mov dword [esi + ebx + 0xa0], eax
movzx eax, byte [edi + 5]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xdc], edx
mov dword [esi + ebx + 0xe4], edx
mov dword [esi + ebx + 0xd8], eax
mov dword [esi + ebx + 0xe0], eax
mov dword [esi + ebx + 0xf8], 0
mov dword [esi + ebx + 0xfc], 0
mov dword [esi + ebx + 0x100], 0
mov dword [esi + ebx + 0x104], 0
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xb8], eax
mov dword [esi + ebx + 0xc0], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + ebx + 0xbc], edx
mov dword [esi + ebx + 0xc4], edx
mov dword [esi + ebx + 0x268], 0
mov dword [esi + ebx + 0x26c], 0
mov dword [esi + ebx + 0x270], 0
mov dword [esi + ebx + 0x274], 0
mov dword [esi + ebx + 0x1f60], 0
mov dword [esi + ebx + 0x1f64], 0
mov dword [esi + ebx + 0x1f68], 0
mov dword [esi + ebx + 0x1f6c], 0
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1bc], edx
mov dword [esi + ebx + 0x1c4], edx
mov dword [esi + ebx + 0x1b8], eax
mov dword [esi + ebx + 0x1c0], eax
movzx eax, byte [edi + 0x14]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x118], eax
mov dword [esi + ebx + 0x120], eax
mov eax, dword [esp + 0xc0]
mov dword [esi + ebx + 0x11c], edx
mov dword [esi + ebx + 0x124], edx
mul ecx
imul ebx, dword [esp + 0xc0], 0x1010101
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x178], eax
mov dword [esi + ebx + 0x180], eax
mov eax, dword [esp + 0xc4]
mov dword [esi + ebx + 0x17c], edx
mov dword [esi + ebx + 0x184], edx
mul ecx
imul ebx, dword [esp + 0xc4], 0x1010101
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x19c], edx
mov dword [esi + ebx + 0x1a4], edx
mov dword [esi + ebx + 0x198], eax
mov dword [esi + ebx + 0x1a0], eax
movzx eax, byte [edi + 0x15]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x24], edx
mov dword [esi + ebx + 0x18], eax
mov dword [esi + ebx + 0x20], eax
movsx eax, byte [edi + 0x18]
cdq
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0xdc]
add edx, eax
imul ebx, edx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x13c], edx
mov dword [esi + ebx + 0x144], edx
mov dword [esi + ebx + 0x138], eax
mov dword [esi + ebx + 0x140], eax
movzx eax, byte [edi + 0x19]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x158], eax
mov dword [esi + ebx + 0x15c], edx
mov dword [esi + ebx + 0x160], eax
mov dword [esi + ebx + 0x164], edx
jmp case.0x684715f2.0
mov ecx, dword [esp + 0xb4]
mov eax, ecx
cdq
mov eax, dword [esp + 0xb4]
lea ebx, [ecx + edx]
mov ecx, 0x1010101
mul ecx
imul ebx, ebx, 0x1010101
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x9c], edx
mov dword [esi + ebx + 0x98], eax
movzx eax, byte [edi + 5]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xdc], edx
mov dword [esi + ebx + 0xd8], eax
mov dword [esi + ebx + 0xf8], 0
mov dword [esi + ebx + 0xfc], 0
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xb8], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + ebx + 0xbc], edx
mov dword [esi + ebx + 0x268], 0
mov dword [esi + ebx + 0x26c], 0
mov dword [esi + ebx + 0x1f60], 0
mov dword [esi + ebx + 0x1f64], 0
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1bc], edx
mov dword [esi + ebx + 0x1b8], eax
movzx eax, byte [edi + 0x14]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x118], eax
mov eax, dword [esp + 0xc0]
mov dword [esi + ebx + 0x11c], edx
imul ebx, dword [esp + 0xc0], 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x178], eax
mov dword [esi + ebx + 0x17c], edx
mov eax, dword [esp + 0xc4]
imul ebx, dword [esp + 0xc4], 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x19c], edx
mov dword [esi + ebx + 0x198], eax
movzx eax, byte [edi + 0x15]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x18], eax
movsx eax, byte [edi + 0x18]
cdq
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0xdc]
add edx, eax
imul ebx, edx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x13c], edx
mov dword [esi + ebx + 0x138], eax
movzx eax, byte [edi + 0x19]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x158], eax
mov dword [esi + ebx + 0x15c], edx
jmp case.0x684715f2.0
mov edx, dword [esp + 0xe8]
movzx eax, byte [esp + 0xb4]
mov byte [esi + edx + 0x98], al
movzx eax, byte [edi + 5]
mov byte [esi + edx + 0xf8], 0
mov byte [esi + edx + 0xd8], al
movzx eax, byte [edi + 6]
mov byte [esi + edx + 0x268], 0
mov byte [esi + edx + 0xb8], al
mov eax, dword [esp + 0xb8]
mov byte [esi + edx + 0x1f60], 0
movzx eax, byte [eax + 3]
mov byte [esi + edx + 0x1b8], al
movzx eax, byte [edi + 0x14]
mov byte [esi + edx + 0x118], al
movzx eax, byte [esp + 0xc0]
mov byte [esi + edx + 0x178], al
movzx eax, byte [esp + 0xc4]
mov byte [esi + edx + 0x198], al
movzx eax, byte [edi + 0x15]
mov byte [esi + edx + 0x18], al
movzx eax, byte [edi + 0x18]
mov byte [esi + edx + 0x138], al
movzx eax, byte [edi + 0x19]
mov byte [esi + edx + 0x158], al
jmp case.0x684715f2.0
imul eax, dword [esp + 0xb4], 0x1010101
mov edx, dword [esp + 0xe8]
mov dword [esi + edx + 0x98], eax
movzx eax, byte [edi + 5]
mov dword [esi + edx + 0xf8], 0
imul eax, eax, 0x1010101
mov dword [esi + edx + 0xd8], eax
movzx eax, byte [edi + 6]
mov dword [esi + edx + 0x268], 0
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x1f60], 0
mov dword [esi + edx + 0xb8], eax
mov eax, dword [esp + 0xb8]
movzx eax, byte [eax + 3]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x1b8], eax
movzx eax, byte [edi + 0x14]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x118], eax
imul eax, dword [esp + 0xc0], 0x1010101
mov dword [esi + edx + 0x178], eax
imul eax, dword [esp + 0xc4], 0x1010101
mov dword [esi + edx + 0x198], eax
movzx eax, byte [edi + 0x15]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x18], eax
movsx eax, byte [edi + 0x18]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x138], eax
movzx eax, byte [edi + 0x19]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x158], eax
jmp case.0x684715f2.0
mov ecx, dword [esp + 0xb4]
mov eax, ecx
shl eax, 8
add eax, ecx
mov ecx, dword [esp + 0xe8]
mov word [esi + ecx + 0x98], ax
movzx edx, byte [edi + 5]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0xd8], ax
xor eax, eax
mov word [esi + ecx + 0xf8], ax
movzx edx, byte [edi + 6]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0xb8], ax
xor eax, eax
mov word [esi + ecx + 0x268], ax
xor eax, eax
mov word [esi + ecx + 0x1f60], ax
mov eax, dword [esp + 0xb8]
movzx edx, byte [eax + 3]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x1b8], ax
movzx edx, byte [edi + 0x14]
mov eax, edx
shl eax, 8
add eax, edx
mov edx, dword [esp + 0xc0]
mov word [esi + ecx + 0x118], ax
mov eax, edx
shl eax, 8
add eax, edx
mov edx, dword [esp + 0xc4]
mov word [esi + ecx + 0x178], ax
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x198], ax
movzx edx, byte [edi + 0x15]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x18], ax
movsx dx, byte [edi + 0x18]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x138], ax
movzx edx, byte [edi + 0x19]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x158], ax
jmp case.0x684715f2.0
xor ebx, ebx
cmp byte [edi + 0x15], 6
jne 0x68475b96
mov edx, dword [esp + 0xec]
cmp byte [edx + eax + 0x760], 0
jne 0x68479165
mov edx, eax
mov ecx, dword [esp + 0xec]
shl edx, 4
lea edx, [ecx + edx + 0x794]
mov ecx, dword [esp + 0xe8]
lea eax, [ecx + eax*8]
lea ecx, [edx + 4]
mov dword [esp + 0xc], ecx
mov edx, dword [edx]
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], edx
movsx edx, word [edi + ebx*4 + 8]
mov dword [esp], edx
mov edx, dword [esi + 0x10]
call fcn.6846e0d0
cmp ebx, 1
je 0x684786ea
cmp byte [edi + 0x15], 6
movsx eax, byte [edi + 0x19]
mov ebx, 1
je 0x68475b81
jmp 0x68475b96
sub dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
jmp 0x6846fd41
mov eax, dword [esp + 0x1d0]
mov dword [edi + 8], eax
jmp 0x6846fb15
mov eax, 0x15f4
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ebx
jge 0x68471efa
mov eax, dword [esp + 0xd4]
movzx eax, byte [edx + eax + 0xe0]
lea eax, [eax*8 + 0x15f4]
jmp 0x68471efa
movzx ecx, byte [edi + 9]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov ecx, dword [esp + 0x90]
mov word [edx + ecx + 0x230], ax
jmp case.0x684709a1.0
movzx edx, byte [edi + 9]
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0x90]
mov byte [eax + ebx + 0x230], dl
jmp case.0x684709a1.0
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov ebx, dword [esp + 0x8c]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov dword [esi + ebx + 0x248], eax
mov dword [esi + ebx + 0x24c], edx
mov dword [esi + ebx + 0x250], eax
mov dword [esi + ebx + 0x254], edx
jmp case.0x6847093c.0
movzx eax, byte [edi + 9]
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esi + ecx + 0x248], eax
mov dword [esi + ecx + 0x24c], edx
jmp case.0x6847093c.0
movzx eax, byte [edi + 9]
mov edx, dword [esp + 0x8c]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x248], eax
jmp case.0x6847093c.0
movzx edx, byte [edi + 9]
mov ecx, dword [esp + 0x8c]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x248], ax
jmp case.0x6847093c.0
movzx eax, byte [edi + 9]
mov ecx, dword [esp + 0x8c]
mov byte [esi + ecx + 0x248], al
jmp case.0x6847093c.0
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov ebx, dword [esp + 0x90]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x230], eax
mov dword [ecx + ebx + 0x234], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x238], eax
mov dword [ecx + ebx + 0x23c], edx
jmp case.0x684709a1.0
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov ebx, dword [esi + 0x288]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0x90]
mov dword [ebx + ecx + 0x230], eax
mov dword [ebx + ecx + 0x234], edx
jmp case.0x684709a1.0
movzx eax, byte [edi + 9]
mov edx, dword [esi + 0x288]
mov ebx, dword [esp + 0x90]
imul eax, eax, 0x1010101
mov dword [edx + ebx + 0x230], eax
jmp case.0x684709a1.0
mov eax, dword [esp + 0xe4]
xor edx, edx
test eax, eax
je 0x68470cf3
mov dword [esp + 0xd8], esi
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xe4]
lea esi, [esi]
movzx eax, byte [edi + 4]
add edx, 1
imul eax, eax, 0x1010101
mov dword [ecx], eax
add ecx, dword [ebx + 0x854]
cmp esi, edx
jne 0x68475e10
mov esi, dword [esp + 0xd8]
cmp byte [edi + 6], 0
jne 0x68470cf3
mov edx, dword [esp + 0xe8]
mov eax, dword [esi + 0x3f524]
mov ecx, 0x20
sub ecx, dword [esp + 0xe0]
sar edx, 1
lea ebx, [eax + edx*4 + 0x504]
mov edx, 0xffffffff
mov eax, dword [esp + 0xd4]
shr edx, cl
mov ecx, dword [esp + 0xc8]
sar eax, 4
and ecx, 0xf
shl edx, cl
jmp 0x68470ca8
mov ebx, dword [esp + 0xe4]
xor edx, edx
test ebx, ebx
je 0x68470cf3
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0xec]
lea esi, [esi]
movzx ebx, byte [edi + 4]
add edx, 1
mov eax, ebx
shl eax, 8
add eax, ebx
mov word [ecx], ax
add ecx, dword [esi + 0x854]
cmp dword [esp + 0xe4], edx
jne 0x68475ea0
jmp 0x68475e29
mov ebx, dword [esp + 0xe4]
test ebx, ebx
je 0x68470cf3
mov edx, dword [esp + 0xec]
xor eax, eax
mov dword [esp + 0xd8], edx
movzx edx, byte [edi + 4]
add eax, 1
mov byte [ecx], dl
mov edx, dword [esp + 0xd8]
add ecx, dword [edx + 0x854]
cmp ebx, eax
jne 0x68475ee4
jmp 0x68475e30
mov eax, dword [esp + 0xe4]
xor ebx, ebx
test eax, eax
je 0x68470cf3
mov dword [esp + 0xd8], esi
nop
lea esi, [esi]
movzx eax, byte [edi + 4]
mov edx, 0x1010101
add ebx, 1
imul esi, eax, 0x1010101
mul edx
mov dword [ecx], eax
add edx, esi
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xec]
mov dword [ecx + 4], edx
mov dword [ecx + 0xc], edx
add ecx, dword [eax + 0x854]
cmp dword [esp + 0xe4], ebx
jne 0x68475f20
jmp 0x68475e29
mov eax, dword [esp + 0xe4]
xor ebx, ebx
test eax, eax
je 0x68470cf3
mov dword [esp + 0xd8], esi
movzx eax, byte [edi + 4]
mov edx, 0x1010101
add ebx, 1
imul esi, eax, 0x1010101
mul edx
mov dword [ecx], eax
add edx, esi
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0xec]
mov dword [ecx + 4], edx
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x1c], edx
add ecx, dword [eax + 0x854]
cmp dword [esp + 0xe4], ebx
jne 0x68475f74
jmp 0x68475e29
mov eax, dword [esp + 0xe4]
xor ebx, ebx
test eax, eax
je 0x68470cf3
mov dword [esp + 0xd8], esi
movzx eax, byte [edi + 4]
mov edx, 0x1010101
add ebx, 1
imul esi, eax, 0x1010101
mul edx
mov dword [ecx], eax
mov eax, dword [esp + 0xec]
add edx, esi
mov dword [ecx + 4], edx
add ecx, dword [eax + 0x854]
cmp dword [esp + 0xe4], ebx
jne 0x68475fd4
jmp 0x68475e29
xor edx, edx
mov dword [esp + 0x60], esi
mov ebx, 3
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0xa4]
mov esi, edx
mov dword [esp], edi
add esi, esi
call fcn.684018d0
or esi, eax
sub ebx, 1
jne 0x68476025
mov edx, esi
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x60]
mov eax, edx
add eax, 1
mov dword [esp + 0x88], eax
je 0x6847607e
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x5c], esi
mov esi, edx
mov dword [esp], edi
add ebx, ebx
sub esi, 1
call fcn.684018d0
or ebx, eax
cmp esi, 0xffffffff
jne 0x68476062
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
movzx ecx, byte [esp + 0x88]
mov eax, 1
shl eax, cl
lea edx, [ebx + eax + 1]
jmp 0x6846f8e1
mov eax, dword [esp + 0xc8]
cmp dword [esp + 0x78], eax
jge 0x68478c02
mov eax, dword [esp + 0xa0]
movzx eax, byte [eax - 1]
mov dword [esp + 0x88], eax
jmp 0x6846f6b4
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xd4]
movzx edx, byte [eax + edx + 0x80]
mov eax, dword [esp + 0xe8]
movzx eax, byte [esi + eax + 0x98]
lea eax, [edx + eax + 0x5e5]
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
lea eax, [edx + 0x3600]
mov dword [esp], eax
call fcn.68401850
mov dword [esp + 0xb4], eax
test eax, eax
jne 0x6847919e
movzx ecx, byte [edi + 6]
jmp 0x6846f61e
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x88], edx
mov dword [esp], eax
call fcn.684018d0
mov edx, dword [esp + 0x88]
mov ecx, edx
neg ecx
test eax, eax
mov eax, dword [esp + 0xec]
cmovne edx, ecx
mov ebx, dword [eax + 0xc]
mov ecx, dword [ebx + 0x4bc]
shl edx, cl
jmp 0x6846f8f3
mov eax, dword [esp + 0xe8]
mov byte [esi + eax + 0x18], cl
mov byte [esi + eax + 0xf8], 1
jmp case.0x684710c2.0
mov eax, ecx
mov edx, dword [esi + 0x288]
mov ebx, 0x101
shl eax, 8
add eax, ecx
mov ecx, dword [esp + 0xd4]
mov word [edx + ecx], ax
mov eax, dword [esi + 0x288]
mov word [eax + ecx + 0xe0], bx
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je 0x68476289
mov ebx, dword [esi + 0x10]
mov ecx, dword [esp + 0xe4]
and ebx, 0x1f
lea eax, [ebx + 5]
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xec], eax
lea eax, [eax + ecx + 0x9f]
mov eax, dword [esi + eax*4 + 0x10]
lea edx, [ebx + ebx*2]
mov dword [esp + 0xe8], ebx
movzx ecx, byte [esp + 0xd8]
mov ebx, dword [esp + 0xe0]
lea eax, [eax + edx*4 + 8]
xor edx, edx
nop
lea esi, [esi]
add edx, 1
mov byte [eax], 0
add eax, 0xc
mov byte [eax - 0xa], cl
cmp ebx, edx
jg 0x68476210
mov ebx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
cmp dword [esp + 0xe4], 1
lea eax, [esi + eax*4 + 0x290]
jle 0x68476289
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xec], edi
add ecx, ebx
movzx ebx, byte [esp + 0xd8]
lea edx, [ecx + ecx*2]
lea ecx, [edx*4 - 0xc]
mov edx, dword [esp + 0xe4]
lea edx, [eax + edx*4 - 4]
mov edi, edx
nop
mov edx, dword [eax]
add eax, 4
add edx, ecx
mov byte [edx + 8], 0
mov byte [edx + 0xa], bl
cmp eax, edi
jne 0x68476270
mov edi, dword [esp + 0xec]
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je case.0x68477350.0
mov eax, dword [esp + 0x94]
cmp eax, 0x20
ja case.0x684762a8.0
jmp dword [eax*4 + 0x684e82a8]
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xd4]
mov byte [eax + edx], cl
mov eax, dword [esi + 0x288]
mov byte [eax + edx + 0xe0], 1
jmp 0x684761b0
movzx eax, cl
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x18], eax
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0x20], eax
mov dword [esi + ebx + 0x24], edx
mov dword [esi + ebx + 0xf8], 0x1010101
mov dword [esi + ebx + 0xfc], 0x1010101
mov dword [esi + ebx + 0x100], 0x1010101
mov dword [esi + ebx + 0x104], 0x1010101
jmp case.0x684710c2.0
movzx eax, cl
mov edx, 0x1010101
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x18], eax
mov dword [esi + ebx + 0x1c], edx
mov dword [esi + ebx + 0xf8], 0x1010101
mov dword [esi + ebx + 0xfc], 0x1010101
jmp case.0x684710c2.0
imul eax, dword [esp + 0xd0], 0x1010101
mov edx, dword [esp + 0xe8]
mov dword [esi + edx + 0xf8], 0x1010101
mov dword [esi + edx + 0x18], eax
jmp case.0x684710c2.0
movzx edx, cl
mov ebx, dword [esp + 0xe8]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ebx + 0x18], ax
mov eax, 0x101
mov word [esi + ebx + 0xf8], ax
jmp case.0x684710c2.0
movzx eax, cl
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx], eax
mov dword [ecx + ebx + 4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 8], eax
mov dword [ecx + ebx + 0xc], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x10], eax
mov dword [ecx + ebx + 0x14], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x18], eax
mov dword [ecx + ebx + 0x1c], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0x1010101
mov dword [eax + ebx + 0xe4], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0x1010101
mov dword [eax + ebx + 0xec], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf0], 0x1010101
mov dword [eax + ebx + 0xf4], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xf8], 0x1010101
mov dword [eax + ebx + 0xfc], 0x1010101
jmp 0x684761b0
movzx eax, cl
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esi + 0x288]
add edx, ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + ebx], eax
mov dword [ecx + ebx + 4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 8], eax
mov dword [ecx + ebx + 0xc], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0x1010101
mov dword [eax + ebx + 0xe4], 0x1010101
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0x1010101
mov dword [eax + ebx + 0xec], 0x1010101
jmp 0x684761b0
movzx eax, cl
mov ecx, 0x1010101
imul ebx, eax, 0x1010101
mul ecx
mov ecx, dword [esp + 0xd4]
add edx, ebx
mov ebx, dword [esi + 0x288]
mov dword [ebx + ecx], eax
mov dword [ebx + ecx + 4], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0x1010101
mov dword [eax + ecx + 0xe4], 0x1010101
jmp 0x684761b0
mov edx, dword [esi + 0x288]
mov ebx, dword [esp + 0xd4]
imul eax, dword [esp + 0xd0], 0x1010101
mov dword [edx + ebx], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0x1010101
jmp 0x684761b0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je 0x68473ddc
mov eax, dword [esi + 0x10]
and eax, 0x1f
add eax, 5
mov dword [esp + 0xd4], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x68473d45
mov eax, dword [esp + 0xd4]
mov ebx, dword [esp + 0xe4]
lea eax, [eax + ebx + 0x9f]
mov eax, dword [esi + eax*4 + 0x10]
jmp 0x68473ce8
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov eax, dword [esp + 0x98]
cmp eax, 0x20
ja case.0x68477350.0
jmp dword [eax*4 + 0x684e832c]
mov eax, dword [esi + 0x288]
mov edi, dword [esp + 0x90]
mov dword [eax + edi + 0x230], 0
mov dword [eax + edi + 0x234], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edi + 0x238], 0
mov dword [eax + edi + 0x23c], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edi + 0x240], 0
mov dword [eax + edi + 0x244], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edi + 0x248], 0
mov dword [eax + edi + 0x24c], 0
jmp 0x68470d07
mov eax, dword [esi + 0x288]
mov edi, dword [esp + 0x90]
mov dword [eax + edi + 0x230], 0
mov dword [eax + edi + 0x234], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edi + 0x238], 0
mov dword [eax + edi + 0x23c], 0
jmp 0x68470d07
mov eax, dword [esi + 0x288]
mov edi, dword [esp + 0x90]
mov dword [eax + edi + 0x230], 0
mov dword [eax + edi + 0x234], 0
jmp 0x68470d07
mov eax, dword [esi + 0x288]
mov edi, dword [esp + 0x90]
mov dword [eax + edi + 0x230], 0
jmp 0x68470d07
mov eax, dword [esi + 0x288]
mov edi, dword [esp + 0x90]
xor ebx, ebx
mov word [eax + edi + 0x230], bx
jmp 0x68470d07
mov eax, dword [esi + 0x288]
mov edi, dword [esp + 0x90]
mov byte [eax + edi + 0x230], 0
jmp 0x68470d07
mov eax, dword [esp + 0x8c]
xor edi, edi
mov word [esi + eax + 0x248], di
jmp case.0x68473dfb.0
mov eax, dword [esp + 0x8c]
mov byte [esi + eax + 0x248], 0
jmp case.0x68473dfb.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
mov dword [esi + eax + 0x250], 0
mov dword [esi + eax + 0x254], 0
jmp case.0x68473dfb.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
jmp case.0x68473dfb.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
mov dword [esi + eax + 0x250], 0
mov dword [esi + eax + 0x254], 0
mov dword [esi + eax + 0x258], 0
mov dword [esi + eax + 0x25c], 0
mov dword [esi + eax + 0x260], 0
mov dword [esi + eax + 0x264], 0
jmp case.0x68473dfb.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
mov dword [esi + eax + 0x250], 0
mov dword [esi + eax + 0x254], 0
mov dword [esi + eax + 0x258], 0
mov dword [esi + eax + 0x25c], 0
mov dword [esi + eax + 0x260], 0
mov dword [esi + eax + 0x264], 0
lea esi, [esi]
mov eax, dword [esp + 0x98]
cmp eax, 0x20
ja case.0x68471c94.0
jmp dword [eax*4 + 0x684e83b0]
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
mov dword [esi + eax + 0x250], 0
mov dword [esi + eax + 0x254], 0
jmp case.0x68474bb2.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
jmp case.0x68474bb2.0
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0x90]
mov dword [eax + edx + 0x230], 0
mov dword [eax + edx + 0x234], 0
mov eax, dword [esi + 0x288]
mov dword [eax + edx + 0x238], 0
mov dword [eax + edx + 0x23c], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68470c0e
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0x90]
mov dword [eax + ebx + 0x230], 0
mov dword [eax + ebx + 0x234], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68470c0e
mov eax, dword [esi + 0x288]
mov ecx, dword [esp + 0x90]
mov dword [eax + ecx + 0x230], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68470c0e
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0x90]
xor ecx, ecx
mov word [eax + ebx + 0x230], cx
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68470c0e
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0x90]
mov byte [eax + ebx + 0x230], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68470c0e
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
jmp case.0x68474bb2.0
mov eax, dword [esp + 0x8c]
mov byte [esi + eax + 0x248], 0
jmp case.0x68474bb2.0
mov eax, dword [esp + 0x8c]
xor ebx, ebx
mov word [esi + eax + 0x248], bx
jmp case.0x68474bb2.0
mov eax, dword [esp + 0xb8]
mov edx, dword [esi + 0x288]
xor ebx, ebx
movzx ecx, byte [eax + 2]
mov eax, ecx
shl eax, 8
add eax, ecx
mov ecx, dword [esp + 0xd4]
mov word [edx + ecx + 0x1a0], ax
mov eax, dword [esi + 0x288]
xor edx, edx
mov word [eax + ecx], dx
mov eax, dword [esi + 0x288]
mov word [eax + ecx + 0x250], bx
mov ebx, dword [esp + 0xb4]
xor eax, eax
mov word [esi + ecx + 0x1f40], ax
mov edx, dword [esi + 0x288]
mov eax, ebx
shl eax, 8
add eax, ebx
mov ebx, ecx
mov word [edx + ecx + 0x80], ax
mov eax, dword [esi + 0x288]
xor edx, edx
mov word [eax + ecx + 0xc0], dx
mov eax, dword [esi + 0x288]
xor ecx, ecx
mov word [eax + ebx + 0xe0], cx
movzx ecx, byte [edi + 6]
mov edx, dword [esi + 0x288]
mov eax, ecx
shl eax, 8
add eax, ecx
mov word [edx + ebx + 0xa0], ax
jmp case.0x684718b5.0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xd4]
movzx edx, byte [eax + 2]
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x1a0], dl
mov eax, dword [esi + 0x288]
mov edx, ecx
mov byte [eax + ecx], 0
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0x250], 0
mov byte [esi + ecx + 0x1f40], 0
movzx ecx, byte [esp + 0xb4]
mov eax, dword [esi + 0x288]
mov byte [eax + edx + 0x80], cl
mov eax, dword [esi + 0x288]
mov ecx, edx
mov byte [eax + edx + 0xc0], 0
mov eax, dword [esi + 0x288]
mov byte [eax + edx + 0xe0], 0
movzx edx, byte [edi + 6]
mov eax, dword [esi + 0x288]
mov byte [eax + ecx + 0xa0], dl
jmp case.0x684718b5.0
mov eax, dword [esp + 0xb8]
mov ebx, 0x1010101
movzx eax, byte [eax + 3]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x1b8], eax
mov dword [esi + ecx + 0x1bc], edx
mov dword [esi + ecx + 0x1c0], eax
mov dword [esi + ecx + 0x1c4], edx
mov dword [esi + ecx + 0x18], 0
mov dword [esi + ecx + 0x1c], 0
mov dword [esi + ecx + 0x20], 0
mov dword [esi + ecx + 0x24], 0
mov dword [esi + ecx + 0x268], 0
mov dword [esi + ecx + 0x26c], 0
mov dword [esi + ecx + 0x270], 0
mov dword [esi + ecx + 0x274], 0
mov dword [esi + ecx + 0x1f60], 0
mov dword [esi + ecx + 0x1f64], 0
mov dword [esi + ecx + 0x1f68], 0
mov dword [esi + ecx + 0x1f6c], 0
mov ecx, dword [esp + 0xb4]
mov eax, ecx
cdq
mov eax, dword [esp + 0xb4]
add ecx, edx
imul ecx, ecx, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0x98], eax
mov dword [esi + ecx + 0x9c], edx
mov dword [esi + ecx + 0xa0], eax
mov dword [esi + ecx + 0xa4], edx
mov dword [esi + ecx + 0xd8], 0
mov dword [esi + ecx + 0xdc], 0
mov dword [esi + ecx + 0xe0], 0
mov dword [esi + ecx + 0xe4], 0
mov dword [esi + ecx + 0xf8], 0
mov dword [esi + ecx + 0xfc], 0
mov dword [esi + ecx + 0x100], 0
mov dword [esi + ecx + 0x104], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul ebx
add edx, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + ecx + 0xb8], eax
mov dword [esi + ecx + 0xbc], edx
mov dword [esi + ecx + 0xc0], eax
mov dword [esi + ecx + 0xc4], edx
jmp case.0x6846fe5d.676
mov eax, dword [esp + 0xb8]
mov ecx, 0x1010101
movzx eax, byte [eax + 3]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x1b8], eax
mov dword [esi + ebx + 0x1bc], edx
mov dword [esi + ebx + 0x18], 0
mov dword [esi + ebx + 0x1c], 0
mov dword [esi + ebx + 0x268], 0
mov dword [esi + ebx + 0x26c], 0
mov dword [esi + ebx + 0x1f60], 0
mov dword [esi + ebx + 0x1f64], 0
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
mov eax, dword [esp + 0xb4]
add ebx, edx
imul ebx, ebx, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0x9c], edx
mov dword [esi + ebx + 0x98], eax
mov dword [esi + ebx + 0xd8], 0
mov dword [esi + ebx + 0xdc], 0
mov dword [esi + ebx + 0xf8], 0
mov dword [esi + ebx + 0xfc], 0
movzx eax, byte [edi + 6]
imul ebx, eax, 0x1010101
mul ecx
add edx, ebx
mov ebx, dword [esp + 0xe8]
mov dword [esi + ebx + 0xb8], eax
mov dword [esi + ebx + 0xbc], edx
jmp case.0x6846fe5d.676
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xe8]
movzx eax, byte [eax + 3]
mov dword [esi + edx + 0x18], 0
mov dword [esi + edx + 0x268], 0
imul eax, eax, 0x1010101
mov dword [esi + edx + 0x1f60], 0
mov dword [esi + edx + 0xd8], 0
mov dword [esi + edx + 0xf8], 0
mov dword [esi + edx + 0x1b8], eax
imul eax, dword [esp + 0xb4], 0x1010101
mov dword [esi + edx + 0x98], eax
movzx eax, byte [edi + 6]
imul eax, eax, 0x1010101
mov dword [esi + edx + 0xb8], eax
jmp case.0x6846fe5d.676
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xe8]
xor ebx, ebx
movzx edx, byte [eax + 3]
mov word [esi + ecx + 0x18], bx
mov ebx, dword [esp + 0xb4]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0x1b8], ax
xor eax, eax
mov word [esi + ecx + 0x268], ax
xor eax, eax
mov word [esi + ecx + 0x1f60], ax
mov eax, ebx
shl eax, 8
add eax, ebx
mov word [esi + ecx + 0x98], ax
xor eax, eax
mov word [esi + ecx + 0xd8], ax
xor eax, eax
mov word [esi + ecx + 0xf8], ax
movzx edx, byte [edi + 6]
mov eax, edx
shl eax, 8
add eax, edx
mov word [esi + ecx + 0xb8], ax
jmp case.0x6846fe5d.676
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xe8]
movzx eax, byte [eax + 3]
mov byte [esi + edx + 0x18], 0
mov byte [esi + edx + 0x268], 0
mov byte [esi + edx + 0x1b8], al
movzx eax, byte [esp + 0xb4]
mov byte [esi + edx + 0x1f60], 0
mov byte [esi + edx + 0x98], al
mov byte [esi + edx + 0xd8], 0
mov byte [esi + edx + 0xf8], 0
movzx eax, byte [edi + 6]
mov byte [esi + edx + 0xb8], al
jmp case.0x6846fe5d.676
mov eax, dword [esp + 0xb8]
mov ebx, 0x1010101
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1a4], edx
mov dword [ecx + ebx + 0x1a0], eax
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x1ac], edx
mov dword [ecx + ebx + 0x1a8], eax
mov eax, dword [esi + 0x288]
mov dword [eax + ebx], 0
mov dword [eax + ebx + 4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 8], 0
mov dword [eax + ebx + 0xc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x250], 0
mov dword [eax + ebx + 0x254], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0x258], 0
mov dword [eax + ebx + 0x25c], 0
mov dword [esi + ebx + 0x1f40], 0
mov dword [esi + ebx + 0x1f44], 0
mov dword [esi + ebx + 0x1f48], 0
mov dword [esi + ebx + 0x1f4c], 0
mov ebx, dword [esp + 0xb4]
mov eax, ebx
cdq
lea ecx, [ebx + edx]
mov ebx, 0x1010101
mul ebx
mov ebx, dword [esp + 0xd4]
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x80], eax
mov dword [ecx + ebx + 0x84], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0x88], eax
mov dword [ecx + ebx + 0x8c], edx
mov eax, dword [esi + 0x288]
mov edx, 0x1010101
mov dword [eax + ebx + 0xc0], 0
mov dword [eax + ebx + 0xc4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xc8], 0
mov dword [eax + ebx + 0xcc], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe0], 0
mov dword [eax + ebx + 0xe4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ebx + 0xe8], 0
mov dword [eax + ebx + 0xec], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa0], eax
mov dword [ecx + ebx + 0xa4], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa8], eax
mov dword [ecx + ebx + 0xac], edx
jmp case.0x684718b5.0
mov eax, dword [esp + 0xb8]
mov ebx, 0x1010101
movzx eax, byte [eax + 2]
imul ecx, eax, 0x1010101
mul ebx
mov ebx, dword [esi + 0x288]
add edx, ecx
mov ecx, dword [esp + 0xd4]
mov dword [ebx + ecx + 0x1a4], edx
mov dword [ebx + ecx + 0x1a0], eax
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0xb4]
mov dword [eax + ecx], 0
mov dword [eax + ecx + 4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x250], 0
mov dword [eax + ecx + 0x254], 0
mov eax, ebx
mov dword [esi + ecx + 0x1f40], 0
cdq
mov dword [esi + ecx + 0x1f44], 0
mov ecx, ebx
mov ebx, 0x1010101
add ecx, edx
mul ebx
mov ebx, dword [esi + 0x288]
imul ecx, ecx, 0x1010101
add edx, ecx
mov ecx, dword [esp + 0xd4]
mov dword [ebx + ecx + 0x84], edx
mov edx, 0x1010101
mov dword [ebx + ecx + 0x80], eax
mov eax, dword [esi + 0x288]
mov ebx, ecx
mov dword [eax + ecx + 0xc0], 0
mov dword [eax + ecx + 0xc4], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0
mov dword [eax + ecx + 0xe4], 0
movzx eax, byte [edi + 6]
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + ebx + 0xa0], eax
mov dword [ecx + ebx + 0xa4], edx
jmp case.0x684718b5.0
mov eax, dword [esp + 0xb8]
mov edx, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
movzx eax, byte [eax + 2]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0x1a0], eax
mov eax, dword [esi + 0x288]
imul edx, dword [esp + 0xb4], 0x1010101
mov dword [eax + ecx], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x250], 0
mov dword [esi + ecx + 0x1f40], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x80], edx
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xc0], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0xe0], 0
movzx eax, byte [edi + 6]
mov edx, dword [esi + 0x288]
imul eax, eax, 0x1010101
mov dword [edx + ecx + 0xa0], eax
jmp case.0x684718b5.0
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
test byte [eax + 0xe8], 1
je 0x68476289
mov ebx, dword [esi + 0x10]
mov edx, dword [esp + 0xe0]
and ebx, 0x1f
lea eax, [ebx + 5]
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xec], eax
test edx, edx
je 0x68476227
mov ecx, dword [esp + 0xe4]
lea eax, [eax + ecx + 0x9f]
mov eax, dword [esi + eax*4 + 0x10]
jmp 0x684761ec
movzx eax, byte [edi + 9]
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esi + ecx + 0x248], eax
mov dword [esi + ecx + 0x24c], edx
mov dword [esi + ecx + 0x250], eax
mov dword [esi + ecx + 0x254], edx
mov dword [esi + ecx + 0x258], eax
mov dword [esi + ecx + 0x25c], edx
mov dword [esi + ecx + 0x260], eax
mov dword [esi + ecx + 0x264], edx
lea esi, [esi]
mov eax, dword [esp + 0x98]
cmp eax, 0x20
ja case.0x68477350.0
jmp dword [eax*4 + 0x684e8434]
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov edi, dword [esp + 0x90]
mov dword [esp + 0xd0], 0
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + edi + 0x230], eax
mov dword [ecx + edi + 0x234], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + edi + 0x238], eax
mov dword [ecx + edi + 0x23c], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + edi + 0x240], eax
mov dword [ecx + edi + 0x244], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + edi + 0x248], eax
mov dword [ecx + edi + 0x24c], edx
jmp 0x68470d07
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov edi, dword [esp + 0x90]
mov dword [esp + 0xd0], 0
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esi + 0x288]
mov dword [ecx + edi + 0x230], eax
mov dword [ecx + edi + 0x234], edx
mov ecx, dword [esi + 0x288]
mov dword [ecx + edi + 0x238], eax
mov dword [ecx + edi + 0x23c], edx
jmp 0x68470d07
movzx eax, byte [edi + 9]
mov edx, 0x1010101
mov ecx, dword [esi + 0x288]
mov dword [esp + 0xd0], 0
mov edi, dword [esp + 0x90]
imul ebx, eax, 0x1010101
mul edx
add edx, ebx
mov dword [ecx + edi + 0x230], eax
mov dword [ecx + edi + 0x234], edx
jmp 0x68470d07
movzx eax, byte [edi + 9]
mov edx, dword [esi + 0x288]
mov dword [esp + 0xd0], 0
mov edi, dword [esp + 0x90]
imul eax, eax, 0x1010101
mov dword [edx + edi + 0x230], eax
jmp 0x68470d07
movzx edx, byte [edi + 9]
mov ecx, dword [esi + 0x288]
mov dword [esp + 0xd0], 0
mov edi, dword [esp + 0x90]
mov eax, edx
shl eax, 8
add eax, edx
mov word [ecx + edi + 0x230], ax
jmp 0x68470d07
movzx edx, byte [edi + 9]
mov eax, dword [esi + 0x288]
mov dword [esp + 0xd0], 0
mov edi, dword [esp + 0x90]
mov byte [eax + edi + 0x230], dl
jmp 0x68470d07
movzx eax, byte [edi + 9]
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esi + ecx + 0x248], eax
mov dword [esi + ecx + 0x24c], edx
mov dword [esi + ecx + 0x250], eax
mov dword [esi + ecx + 0x254], edx
jmp case.0x684762a8.0
movzx eax, byte [edi + 9]
mov edx, 0x1010101
imul ecx, eax, 0x1010101
mul edx
add edx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esi + ecx + 0x248], eax
mov dword [esi + ecx + 0x24c], edx
jmp case.0x684762a8.0
movzx eax, byte [edi + 9]
mov ecx, dword [esp + 0x8c]
imul eax, eax, 0x1010101
mov dword [esi + ecx + 0x248], eax
jmp case.0x684762a8.0
movzx eax, byte [edi + 9]
mov ecx, dword [esp + 0x8c]
mov byte [esi + ecx + 0x248], al
jmp case.0x684762a8.0
movzx edx, byte [edi + 9]
mov eax, edx
shl eax, 8
add eax, edx
mov edx, dword [esp + 0x8c]
mov word [esi + edx + 0x248], ax
jmp case.0x684762a8.0
mov eax, dword [esi + 0x288]
mov ecx, dword [esp + 0x90]
mov dword [eax + ecx + 0x230], 0
mov dword [eax + ecx + 0x234], 0
mov eax, dword [esi + 0x288]
mov dword [eax + ecx + 0x238], 0
mov dword [eax + ecx + 0x23c], 0
jmp case.0x68471c94.0
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0x90]
mov dword [eax + edx + 0x230], 0
mov dword [eax + edx + 0x234], 0
jmp case.0x68471c94.0
mov eax, dword [esi + 0x288]
mov ebx, dword [esp + 0x90]
mov dword [eax + ebx + 0x230], 0
jmp case.0x68471c94.0
mov eax, dword [esi + 0x288]
mov ecx, dword [esp + 0x90]
xor edx, edx
mov word [eax + ecx + 0x230], dx
jmp case.0x68471c94.0
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0x90]
mov byte [eax + edx + 0x230], 0
jmp case.0x68471c94.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
mov dword [esi + eax + 0x250], 0
mov dword [esi + eax + 0x254], 0
jmp case.0x68471c1e.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
mov dword [esi + eax + 0x24c], 0
jmp case.0x68471c1e.0
mov eax, dword [esp + 0x8c]
mov dword [esi + eax + 0x248], 0
jmp case.0x68471c1e.0
mov eax, dword [esp + 0x8c]
xor ecx, ecx
mov word [esi + eax + 0x248], cx
jmp case.0x68471c1e.0
mov eax, dword [esp + 0x8c]
mov byte [esi + eax + 0x248], 0
jmp case.0x68471c1e.0
mov eax, dword [edi + 8]
mov ecx, dword [edx + 0xdbe8]
movzx edx, byte [edi + 0x15]
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], eax
movzx eax, byte [edi + 0x18]
add eax, 1
cmp byte [edi + 0x1c], 0
mov byte [esp + 0x1c8], al
sete al
neg eax
mov byte [esp + 0x1c9], al
movzx eax, byte [esp + 0xd8]
mov byte [esp + 0x1ca], al
cmp edx, 2
je 0x68478472
cmp edx, 3
sete al
add eax, eax
mov byte [esp + 0x1cb], al
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x10]
and eax, 0x1f
lea eax, [esi + eax*4 + 0x2a4]
mov dword [esp], eax
call ecx
jmp 0x684715dd
mov dword [esp + 0xa0], 0
xor ebx, ebx
jmp 0x6847144c
mov dword [esp + 0xa4], 0
xor edx, edx
jmp 0x68471414
call dword [eax + 0x840]
jmp 0x68471375
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov ebx, eax
mov ecx, dword [ecx + 0x36b0]
cmp dword [ebx + 0x338], ecx
je 0x68471f30
cmp dword [esp + 0x64], ecx
je 0x6846fa37
mov eax, dword [esp + 0xd0]
lea edx, [eax + 0x364c]
mov eax, dword [esp + 0xec]
mov dword [esp + 0xa4], edx
mov eax, dword [eax + 4]
mov dword [esp], edx
mov edx, ebx
add eax, 0x20
call fcn.6846dec0
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xa4]
mov dword [eax + 0x36ac], edx
mov eax, dword [esp + 0xec]
mov ebx, dword [eax + 0xc]
jmp 0x6846fa37
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x68471ea0
mov byte [edi + 3], 0
lea eax, [esi + 0x28c]
cmp byte [edi + 5], 0
mov dword [esp + 0x88], eax
jne 0x684711c4
lea esi, [esi]
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x14]
cmp edx, 0xffffffff
je 0x68477f31
mov byte [edi + 0x14], 0
test edx, edx
jle 0x68477f60
lea eax, [edx - 1]
mov byte [edi + 0x18], al
xor eax, eax
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov byte [edi + 0x19], 0xff
mov al, dl
mov ah, 0xff
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp + 0xc]
mov word [esp + 0x10], ax
lea eax, [esp + 0xf8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
lea eax, [esp + 0x140]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], ebx
mov dword [esp], eax
call fcn.68490b50
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + 0x18]
test ebx, ebx
jne 0x68477c70
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x68477c70
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xd0]
and eax, 7
lea ebx, [edx + 0x3600]
lea eax, [edx + eax*4 + 0x15b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.68401850
test eax, eax
jne 0x68477c4e
cmp dword [esp + 0xf4], 1
mov byte [edi + 0x15], 3
mov byte [edi + 0x17], 0
jle 0x6847927b
cmp dword [esp + 0x148], 0x27f
mov eax, dword [esp + 0x158]
jg 0x684798e3
cmp eax, 0x280
setl al
movzx eax, al
lea eax, [eax*8 + 0x15e8]
add eax, dword [esp + 0xd0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
cmp al, 1
je 0x68479852
mov edx, dword [esp + 0xf4]
cmp al, 3
jbe 0x684779dd
mov dword [esp + 8], 0x787
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.b__drl_idx___NEAREST_DRL__b__drl_idx___NEARISH_DRL
call fcn.684d2880
mov edx, dword [esp + 0xf4]
movzx eax, byte [edi + 0x17]
cmp edx, 1
jle 0x6847925b
movzx eax, al
shl eax, 4
mov eax, dword [esp + eax + 0x140]
mov dword [edi + 8], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x128]
test eax, eax
lea ecx, [edi + 0xa]
lea edx, [edi + 8]
sete al
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
add eax, 0x33c0
mov dword [esp], eax
mov eax, esi
call fcn.6846ef20
mov dword [esp + 0xa0], 1
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x400]
test eax, eax
je 0x68477a67
movzx ecx, byte [esp + 0xd8]
mov eax, 1
shl eax, cl
test eax, 0x33980
jne 0x68478815
mov eax, dword [esp + 0xec]
mov byte [edi + 0x1c], 0
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x1fc]
mov edx, eax
test ebx, ebx
jne 0x684788e6
mov byte [edi + 0x16], 0
mov dword [esp + 0x68], 0
mov eax, dword [edx + 0x1f8]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
cmp eax, 4
jne 0x68471303
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x68478440
xor ecx, ecx
cmp byte [edi + 0x14], 0
mov edx, dword [esi + 0x288]
setne cl
mov ebx, dword [esp + 0xe8]
movsx eax, byte [edi + 0x18]
shl ecx, 2
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xd4]
movsx ebx, byte [esi + ebx + 0x138]
movsx ecx, byte [edx + ecx + 0x120]
cmp eax, ecx
je 0x68478dad
mov ecx, dword [esp + 0xd4]
movsx ecx, byte [edx + ecx + 0x140]
cmp eax, ecx
je 0x68478dad
cmp eax, ebx
je 0x68477b32
mov ecx, dword [esp + 0xe8]
movsx edx, byte [esi + ecx + 0x158]
cmp eax, edx
jne 0x6847a020
mov eax, dword [esp + 0xe8]
movzx ecx, byte [esi + eax + 0x178]
mov eax, dword [esp + 0xbc]
add eax, ecx
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], 2
lea ebx, [edx + 0x3600]
lea eax, [edx + eax*8 + 0x1320]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.684014f0
mov ecx, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc4], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x40c]
test eax, eax
je 0x68471303
mov ecx, dword [esp + 0xe8]
mov edx, dword [esi + 0x288]
movsx eax, byte [edi + 0x18]
movsx ecx, byte [esi + ecx + 0x138]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xd4]
movsx ecx, byte [edx + ecx + 0x120]
cmp eax, ecx
je 0x684797b4
mov ecx, dword [esp + 0xd4]
movsx ecx, byte [edx + ecx + 0x140]
cmp eax, ecx
je 0x684797b4
cmp eax, dword [esp + 0xc4]
je 0x68477c08
mov ecx, dword [esp + 0xe8]
movsx edx, byte [esi + ecx + 0x158]
cmp eax, edx
jne 0x6847a9ca
mov eax, dword [esp + 0xe8]
movzx edx, byte [esi + eax + 0x198]
mov eax, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], 2
mov dword [esp], ebx
lea eax, [edx + eax*8 + 0x1360]
mov dword [esp + 4], eax
call fcn.684014f0
mov dword [esp + 0xc4], eax
jmp 0x68471303
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x68477c70
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x68478268
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0xec]
movsx ebx, byte [edi + 0x18]
mov byte [edi + 0x15], 2
mov edx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
lea eax, [ebx + ebx*8]
lea eax, [edx + eax*4]
mov edx, dword [eax + 0x590]
cmp edx, 1
je 0x68478c58
test edx, edx
je 0x68478804
cmp edx, 2
jne 0x68477d40
mov edx, dword [eax + 0x59c]
cmp dword [eax + 0x5a8], edx
je 0x68477ced
mov dword [esp + 8], 0x1e6
mov dword [esp + 4], 0x684e78b2
mov dword [esp], 0x684e78cc
call fcn.684d2880
mov edx, dword [esp + 0xc4]
lea eax, [ebx + ebx*8]
lea eax, [edx + eax*4]
mov ecx, dword [eax + 0x5a0]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x88], ecx
neg ecx
cmp dword [eax + 0x5a4], ecx
mov dword [esp + 0x68], ecx
je 0x68477d57
mov dword [esp + 8], 0x1e7
mov dword [esp + 4], 0x684e78b2
mov dword [esp], 0x684e7910
call fcn.684d2880
mov eax, dword [esp + 0xa0]
nop
mov edx, dword [eax + 0x5a0]
mov eax, dword [eax + 0x5a4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xe0]
lea eax, [eax + edx*2]
mov edx, dword [esp + 0xc4]
lea ecx, [eax + eax - 1]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xa4]
lea eax, [eax + ecx*2]
lea eax, [eax + eax - 1]
mov dword [esp + 0xa0], eax
lea eax, [ebx + ebx*8]
lea edx, [edx + eax*4]
mov ecx, dword [edx + 0x59c]
lea eax, [ecx - 0x10000]
mov ecx, dword [esp + 0x88]
imul ecx, dword [esp + 0xa0]
imul eax, dword [esp + 0xc0]
mov ebx, ecx
mov ecx, dword [edx + 0x5a8]
add ebx, eax
add ebx, dword [edx + 0x594]
lea eax, [ecx - 0x10000]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xa4], ebx
imul eax, dword [esp + 0xa0]
imul ecx, dword [esp + 0x68]
add ecx, eax
mov eax, dword [esp + 0xc4]
add ecx, dword [edx + 0x598]
mov edx, ecx
mov eax, dword [eax + 0x1f4]
cmp eax, 1
sbb ebx, ebx
and ebx, 0x1000
add ebx, 0x1000
cmp eax, 1
sbb ecx, ecx
not ecx
add ecx, 0xe
test eax, eax
mov eax, edx
sete byte [esp + 0x88]
sar eax, 0x1f
mov dword [esp + 0xa0], ecx
mov ecx, eax
xor eax, edx
sub eax, ecx
movzx ecx, byte [esp + 0xa0]
add eax, ebx
sar eax, cl
movzx ecx, byte [esp + 0x88]
shl eax, cl
mov ecx, eax
neg ecx
test edx, edx
mov edx, dword [esp + 0xa4]
cmovs eax, ecx
mov ecx, edx
sar ecx, 0x1f
mov word [esp + 0xc0], ax
xor edx, ecx
sub edx, ecx
movzx ecx, byte [esp + 0xa0]
add edx, ebx
mov ebx, dword [esp + 0xa4]
sar edx, cl
movzx ecx, byte [esp + 0x88]
shl edx, cl
mov ecx, edx
neg ecx
test ebx, ebx
mov ebx, dword [esp + 0xc4]
cmovs edx, ecx
mov ebx, dword [ebx + 0x128]
mov ecx, edx
test ebx, ebx
je 0x68477ed8
movzx ebx, word [esp + 0xc0]
add eax, 3
lea ecx, [edx + 3]
sar dx, 0xf
sub ecx, edx
sar bx, 0xf
and ecx, 0xfffffff8
sub eax, ebx
mov ebx, eax
and ebx, 0xfffffff8
mov word [esp + 0xc0], bx
movzx eax, word [esp + 0xc0]
mov edx, dword [esp + 0xe0]
mov word [edi + 0xa], cx
mov word [edi + 8], ax
mov eax, dword [esp + 0xe4]
cmp edx, eax
cmovle eax, edx
cmp eax, 1
je 0x68477a2e
movsx eax, byte [edi + 0x18]
mov edx, dword [esp + 0xec]
lea eax, [eax + eax*8]
shl eax, 2
add eax, dword [edx + 0xc]
cmp dword [eax + 0x590], 1
sete al
movzx eax, al
mov dword [esp + 0xa0], eax
jmp 0x68477a39
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x68477883
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x68477883
mov eax, dword [ebx + 0x574]
test eax, eax
jne 0x6847afe4
mov byte [edi + 0x14], 0
lea esi, [esi]
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x1c]
test edx, edx
jne 0x684784d0
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x684784d0
mov eax, dword [esp + 0xd0]
add eax, 0x3600
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0x288]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
cmp dword [esp + 0x74], ecx
jge 0x68478002
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x68478002
xor edx, edx
cmp byte [eax + ecx + 0x120], 3
setg dl
mov dword [esp + edx*4 + 0x1c0], 1
cmp byte [eax + ecx + 0x100], 0
je 0x68478002
cmp byte [eax + ecx + 0x140], 3
setg al
movzx eax, al
add dword [esp + eax*4 + 0x1c0], 1
mov ebx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ebx
jge 0x68478054
mov edx, dword [esp + 0xe8]
cmp byte [esi + edx + 0xf8], 0
jne 0x68478054
xor eax, eax
cmp byte [esi + edx + 0x138], 3
setg al
add dword [esp + eax*4 + 0x1c0], 1
cmp byte [esi + edx + 0x118], 0
je 0x68478054
xor eax, eax
cmp byte [esi + edx + 0x158], 3
setg al
add dword [esp + eax*4 + 0x1c0], 1
mov eax, 0x1684
mov edx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], edx
je 0x68478076
setge al
movzx eax, al
lea eax, [eax*8 + 0x1680]
mov edx, dword [esp + 0xa4]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov dword [esp], edx
mov ebx, edx
call fcn.68401850
test eax, eax
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
je 0x68478f17
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ecx
jge 0x6847811c
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x6847811c
movsx edx, byte [eax + ecx + 0x120]
cmp dl, 3
jle 0x684780f7
mov dword [esp + edx*4 + 0x1b0], 1
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0x100], 0
je 0x6847811c
movsx eax, byte [eax + ecx + 0x140]
cmp al, 3
jle 0x6847811c
add dword [esp + eax*4 + 0x1b0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x68478173
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x68478173
movsx eax, byte [esi + eax + 0x138]
cmp al, 3
jle 0x6847814e
add dword [esp + eax*4 + 0x1b0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x68478173
movsx eax, byte [esi + eax + 0x158]
cmp al, 3
jle 0x68478173
add dword [esp + eax*4 + 0x1b0], 1
mov edx, dword [esp + 0x1c0]
mov eax, 0x1690
add edx, dword [esp + 0x1c4]
cmp edx, dword [esp + 0x1c8]
je 0x6847819c
setge al
movzx eax, al
lea eax, [eax*8 + 0x168c]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x684798fb
mov byte [edi + 0x18], 6
mov edx, 7
xor eax, eax
mov ecx, dword [esi + 0xc]
mov byte [edi + 0x19], 0xff
mov al, dl
mov ah, 0xff
mov dword [esp + 0x20], ecx
mov edx, dword [esi + 0x10]
mov word [esp + 0x10], ax
lea eax, [esp + 0xf8]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
lea eax, [esp + 0x140]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x18], ecx
mov dword [esp], eax
mov dword [esp + 0x14], edx
call fcn.68490b50
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x684778f4
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xd0]
and eax, 7
lea eax, [edx + eax*4 + 0x15b0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x6847794a
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xd0]
mov dword [esp], ebx
sar eax, 3
and eax, 1
add eax, 0x572
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
call fcn.68401850
test eax, eax
je 0x68477c70
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xd0]
mov dword [esp], ebx
sar eax, 4
and eax, 0xf
lea eax, [edx + eax*4 + 0x15d0]
mov dword [esp + 4], eax
call fcn.68401850
test eax, eax
je 0x6847979d
cmp dword [esp + 0xf4], 2
mov byte [edi + 0x15], 1
mov byte [edi + 0x17], 1
jle 0x68479ca1
cmp dword [esp + 0x158], 0x27f
mov eax, dword [esp + 0x168]
jg 0x6847a9b2
cmp eax, 0x280
setl al
movzx eax, al
lea eax, [eax*8 + 0x15e8]
add eax, dword [esp + 0xd0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
cmp al, 2
je 0x6847a995
cmp al, 3
jbe 0x6847af83
mov dword [esp + 8], 0x76f
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.b__drl_idx___NEAREST_DRL__b__drl_idx___NEARISH_DRL
call fcn.684d2880
movzx edx, byte [edi + 0x17]
mov eax, edx
shl edx, 4
mov edx, dword [esp + edx + 0x140]
mov dword [edi + 8], edx
cmp al, 1
ja 0x68477a2e
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x128]
test ebx, ebx
je 0x6847a645
movzx edx, word [edi + 0xa]
lea eax, [edx + 3]
sar dx, 0xf
sub eax, edx
movzx edx, word [edi + 8]
and eax, 0xfffffff8
mov word [edi + 0xa], ax
lea eax, [edx + 3]
sar dx, 0xf
sub eax, edx
and eax, 0xfffffff8
mov word [edi + 8], ax
mov dword [esp + 0xa0], 1
jmp 0x68477a39
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x88], ebx
setg byte [esp + 0x78]
mov ecx, dword [esp + 0xc0]
sub ecx, edx
sub dword [esp + 0xc4], ecx
cmp eax, edx
jge 0x6846fd4e
cmp byte [esp + 0x78], 0
je 0x6846fd4e
mov dword [esp + 0xd0], 0xffffffff
jmp 0x68470d07
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
mov ebx, 0x370
xor eax, eax
mov byte [edi + 4], al
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x68471df9
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
jmp 0x68471303
mov dword [esp + 0xd0], 0
xor ecx, ecx
jmp 0x684710ad
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
cmp edx, eax
cmovle eax, edx
cmp eax, 1
setg al
jmp 0x6847775d
call dword [eax + 0x840]
mov byte [edi + 0x1b], 9
jmp 0x6846fdcb
mov dword [esp + 8], 0x2d7
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.bw4___2__bh4___2
mov dword [esp + 0xbc], edx
call fcn.684d2880
mov edx, dword [esp + 0xbc]
jmp 0x68471548
mov byte [edi + 0x18], 0
mov edx, 1
jmp 0x68477895
mov dword [esp], edi
call fcn.684018d0
mov edx, ebx
neg edx
test eax, eax
mov eax, dword [esp + 0xec]
cmovne ebx, edx
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x4c4]
shl ebx, cl
jmp 0x6846f9bc
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], 7
add eax, 0xc90
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call 0x68401650
lea ecx, [eax + 1]
imul ebx, ecx, 0x56
sar ebx, 8
lea eax, [ebx*4]
mov edx, ebx
sub edx, eax
mov eax, edx
mov edx, 0x55555556
add eax, ecx
mov dword [esp + 0xbc], eax
mov eax, ecx
sar ecx, 0x1f
imul edx
sub edx, ecx
cmp edx, ebx
je 0x68478584
mov dword [esp + 8], 0x4f3
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.sign_u__sign___3
call fcn.684d2880
test ebx, ebx
je 0x68478d33
mov dword [esp + 8], 0xf
mov eax, dword [esp + 0xbc]
cmp ebx, 2
je 0x684796e4
add eax, 0x3b
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68401720
mov edx, eax
add eax, 1
cmp ebx, 1
not edx
cmove eax, edx
mov byte [edi + 0xf], al
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x68478d20
mov dword [esp + 8], 0xf
cmp eax, 2
je 0x684796af
lea eax, [ebx + 0x3b]
mov ebx, dword [esp + 0x88]
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.68401720
cmp dword [esp + 0xbc], 1
lea edx, [eax + 1]
mov byte [edi + 0x10], dl
jne 0x6846ffc6
not eax
mov byte [edi + 0x10], al
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x6846ffd0
movzx eax, al
mov dword [esp + 8], 6
add eax, 0xc9
shl eax, 4
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call 0x68401650
sub eax, 3
mov byte [edi + 0xd], al
jmp 0x6846ff1b
mov ebx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ebx
jge 0x68478d5e
movzx eax, byte [eax - 1]
mov dword [esp + 0xb4], eax
mov eax, 0xdb0
jmp 0x684701f0
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x68471e25
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x57c]
test eax, eax
je 0x68471e25
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
cmp edx, eax
cmovle eax, edx
cmp eax, 1
jle 0x68471e25
jmp 0x68470327
mov ecx, dword [esp + 0xcc]
xor ebx, ebx
test ecx, ecx
je case.0x68477350.0
cmp byte [edi + 0x15], 6
movsx eax, byte [edi + ebx + 0x18]
jne 0x68478733
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
cmp ecx, edx
cmovle edx, ecx
cmp edx, 1
jle 0x68478733
mov ecx, dword [esp + 0xec]
cmp byte [ecx + eax + 0x760], 0
jne 0x68479c4c
mov edx, eax
mov ecx, dword [esp + 0xec]
shl edx, 4
lea edx, [ecx + edx + 0x794]
mov ecx, dword [esp + 0xe8]
lea eax, [ecx + eax*8 + 4]
lea ecx, [edx + 4]
mov dword [esp + 0xc], ecx
mov edx, dword [edx]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
movsx edx, word [edi + ebx*4 + 8]
mov dword [esp], edx
mov edx, dword [esi + 0x10]
call fcn.6846e0d0
cmp ebx, 1
je case.0x68477350.0
mov ebx, dword [esp + 0xcc]
cmp byte [edi + 0x15], 6
movsx eax, byte [edi + ebx + 0x18]
je 0x68478706
jmp 0x68478733
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0x80]
lea eax, [eax + edx + 0x1558]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x6847004e
mov eax, dword [esp + 0xd0]
mov byte [edi + 8], 0xd
mov dword [esp + 8], 4
add eax, 0xd20
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.684014f0
mov byte [edi + 0xd], al
jmp 0x6847004e
xor eax, eax
xor ecx, ecx
mov word [esp + 0xc0], ax
jmp 0x68477ed8
mov eax, dword [esp + 0xd8]
movzx edx, byte [eax + 0x684f97ec]
mov eax, dword [esp + 0xd0]
lea ebx, [eax + 0x3600]
lea eax, [eax + edx*4 + 0x1510]
mov dword [esp + 0xc4], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.68401850
mov edx, dword [esp + 0xc4]
test eax, eax
je 0x68477a67
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], 3
mov dword [esp], ebx
lea eax, [eax + edx*8 + 0x14e0]
mov dword [esp + 4], eax
call fcn.684014f0
mov ecx, dword [esp + 0xd8]
mov byte [edi + 0x12], al
mov eax, dword [esp + 0xd0]
movzx edx, byte [ecx + 0x684f9704]
mov dword [esp], ebx
lea eax, [eax + edx*4 + 0x152c]
mov dword [esp + 0xc4], edx
mov dword [esp + 4], eax
call fcn.68401850
mov edx, dword [esp + 0xc4]
add eax, 1
cmp al, 2
mov byte [edi + 0x1c], al
je 0x6847a689
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x1fc]
mov edx, eax
test ecx, ecx
je 0x68477a85
cmp byte [edi + 0x1c], 0
jne 0x68477a85
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
cmp ecx, edx
cmovle edx, ecx
cmp edx, 1
jle 0x684789e1
mov edx, dword [eax + 0x128]
test edx, edx
jne 0x68478916
cmp byte [edi + 0x15], 2
je 0x6847a004
mov ecx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ecx
jge 0x68478971
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0xe8]
sar ebx, 1
lea edx, [ecx + 1]
lea ecx, [esi + ecx + 0xf9]
test ebx, ebx
jle 0x68478971
cmp byte [esi + edx + 0xf8], 0
je 0x68479a1e
lea edx, [ecx + 2]
lea ecx, [ecx + ebx*2]
jmp 0x6847896d
add edx, 2
cmp byte [edx - 2], 0
je 0x68479a1e
cmp ecx, edx
jne 0x68478960
mov edx, dword [esp + 0xbc]
cmp dword [esp + 0x74], edx
jge 0x684789e1
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esi + 0x288]
sar ecx, 1
mov dword [esp + 0xc4], ecx
cmp dword [esp + 0xc4], 0
lea ecx, [edx + 1]
lea edx, [ebx + edx + 0xe1]
jle 0x684789e1
cmp byte [ebx + ecx + 0xe0], 0
je 0x68479f00
mov ecx, dword [esp + 0xc4]
lea ebx, [edx + 2]
lea edx, [edx + ecx*2]
jmp 0x684789dd
add ebx, 2
cmp byte [ebx - 2], 0
je 0x68479f00
cmp edx, ebx
jne 0x684789d0
mov edx, eax
jmp 0x68477a85
movzx eax, dl
shl eax, 5
add eax, 0x370
jmp 0x6846f6e4
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], 7
add ebx, 0xdb
shl ebx, 4
lea eax, [ecx + ebx]
mov dword [esp + 4], eax
lea eax, [ecx + 0x3600]
mov dword [esp], eax
call 0x68401650
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 0xc]
mov edx, dword [ebx + 0x474]
mov dword [esp + 0xa4], edx
lea ecx, [edx + 1]
mov edx, dword [esp + 0x88]
call fcn.6846e070
mov edx, eax
mov byte [edi + 4], al
movzx eax, al
cmp eax, dword [esp + 0xa4]
ja 0x68478d4c
movzx ecx, byte [edi + 6]
jmp 0x6846f6d2
or eax, ebx
cmp dword [esp + 0x68], edx
sete bl
or ebx, eax
movzx eax, bl
mov dword [esp + 0xa4], eax
cmp dword [esp + 0x68], edx
jne 0x6846f6b4
jmp 0x6846f6a9
lea eax, [ecx*8 + 0x15f4]
jmp 0x68471efa
cmp ecx, ebx
sete al
or dl, byte [esp + 0xa0]
or eax, edx
movzx eax, al
add eax, 0xdb
shl eax, 4
cmp ecx, ebx
jne 0x684701f0
jmp 0x684701e9
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0x67c]
mov ebx, dword [eax + 0xc]
test edx, edx
je 0x68479157
mov eax, dword [eax + 0x854]
cmp dword [ebx + 0x130], 7
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0x10]
je 0x6847a02a
imul eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x68], esi
mov dword [esp + 0x88], edi
sub ebx, 1
add eax, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xa0], ebx
add eax, edx
mov esi, dword [esp + 0xa0]
mov edx, 8
lea ebx, [eax + ecx]
mov edi, ecx
test edi, edi
jle 0x68478edd
mov eax, ebx
sub eax, edi
movzx ecx, byte [eax]
cmp ecx, edx
cmovle edx, ecx
add eax, 1
cmp ebx, eax
jne 0x68478b51
test esi, esi
jle 0x68478ee5
test edx, edx
je 0x6847970f
sub esi, 1
add ebx, dword [esp + 0xa4]
jmp 0x68478b45
add eax, 0x10000
lea ebx, [esi + 0x3f500]
mov dword [esi + 0x3f500], 3
mov dword [esi + 0x3f50c], eax
movsx eax, word [edi + 0xe]
mov dword [esi + 0x3f510], eax
movsx eax, word [edi + 0x10]
mov dword [esi + 0x3f514], eax
movsx eax, word [edi + 0x12]
add eax, 0x10000
mov dword [esi + 0x3f518], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.684969a0
mov dword [esp], ebx
call fcn.68496670
jmp 0x6846f3d1
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ebx
jge 0x6846f6b4
mov eax, dword [esp + 0xa0]
neg edx
movzx eax, byte [eax + edx]
mov dword [esp + 0x88], eax
jmp 0x6846f6b4
mov dword [esp + 8], 0x2a4
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.f__frame_hdr__primary_ref_frame___DAV1D_PRIMARY_REF_NONE
call fcn.684d2880
jmp 0x6846f30d
mov ebx, dword [esp + 0xc4]
mov edx, dword [eax + 0x594]
mov eax, dword [eax + 0x598]
mov ebx, dword [ebx + 0x128]
sar edx, 0xd
sar eax, 0xd
mov word [esp + 0xc0], dx
mov ecx, eax
test ebx, ebx
je 0x68477ed8
lea ebx, [edx + 3]
sar dx, 0xf
lea ecx, [eax + 3]
sar ax, 0xf
sub ebx, edx
sub ecx, eax
and ebx, 0xfffffff8
and ecx, 0xfffffff8
mov word [esp + 0xc0], bx
jmp 0x68477ed8
xor ecx, ecx
mov dword [esp + 0xa4], esi
mov esi, ecx
lea esi, [esi]
mov dword [esp], edi
add esi, esi
call fcn.684018d0
or esi, eax
sub ebx, 1
jne 0x68478cc0
mov ecx, esi
mov esi, dword [esp + 0xa4]
mov eax, ecx
add eax, 1
mov dword [esp + 0xa4], eax
je 0x68478d08
mov dword [esp + 0x68], esi
mov esi, ecx
nop
mov dword [esp], edi
add ebx, ebx
sub esi, 1
call fcn.684018d0
or ebx, eax
cmp esi, 0xffffffff
jne 0x68478cf0
mov esi, dword [esp + 0x68]
movzx ecx, byte [esp + 0xa4]
mov eax, 1
shl eax, cl
lea ebx, [ebx + eax + 1]
jmp 0x6846f9aa
mov eax, dword [esp + 0xec]
mov byte [edi + 0x10], 0
mov eax, dword [eax + 0xc]
jmp 0x6846ffd0
mov byte [edi + 0xf], 0
jmp 0x684785d4
mov eax, edx
shl edx, 5
lea ebx, [edx + 0x370]
jmp 0x68478425
mov byte [edi + 4], 0
movzx ecx, byte [edi + 6]
mov eax, 0x370
jmp 0x6846f6e4
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ebx
jge 0x684792ca
neg edx
movzx eax, byte [eax + edx]
mov dword [esp + 0xb4], eax
mov eax, 0xdb0
jmp 0x684701f0
mov dword [esp + 8], 0x53e
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], 0x684e780c
call fcn.684d2880
mov edx, dword [ebx + 0x3638]
jmp 0x6847007f
mov ecx, dword [esp + 0xd4]
movzx edx, byte [edx + ecx + 0x160]
cmp eax, ebx
je 0x68479726
mov ebx, dword [esp + 0xe8]
movsx ecx, byte [esi + ebx + 0x158]
cmp eax, ecx
je 0x68479726
cmp edx, 3
je 0x6847a020
mov eax, dword [esp + 0xbc]
add eax, edx
jmp 0x68477b4a
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xe8]
cmp byte [eax + edx + 0x250], 0
setne al
xor edx, edx
cmp byte [esi + ecx + 0x268], 0
setne dl
movzx eax, al
add eax, edx
lea edx, [ebx + ebx*2]
lea eax, [eax + edx + 0x5fe]
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x68473abd
mov eax, dword [esp + 0xe8]
mov dword [esp], ebx
xor ecx, ecx
mov edx, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, esi
call fcn.6846d0d0
jmp 0x68473abd
cmp dword [esp + 0xc0], edx
jg 0x684783d3
jmp 0x684783f6
neg eax
mov word [edi + 8], ax
xor eax, eax
mov word [edi + 0xa], ax
jmp 0x6846fb15
movzx eax, al
mov dword [esp + 8], 6
add eax, 0xc9
shl eax, 4
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call 0x68401650
sub eax, 3
mov byte [edi + 0xe], al
jmp 0x6846ffc6
xor ebx, ebx
jmp 0x6846f7bc
test esi, esi
jg 0x68478b70
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x68]
cmp edx, 8
je 0x68471d47
mov eax, edx
mov ecx, edx
shl eax, 5
add eax, 0x370
mov ebx, dword [esp + 0xec]
mov byte [edi + 4], cl
mov ebx, dword [ebx + 0xc]
jmp 0x68471df9
mov dword [esp + 0x1cc], 0
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ecx
jge 0x68478f7d
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x68478f7d
movsx edx, byte [eax + ecx + 0x120]
cmp dl, 3
jg 0x68478f58
mov dword [esp + edx*4 + 0x1c0], 1
mov edx, dword [esp + 0xd4]
cmp byte [eax + edx + 0x100], 0
je 0x68478f7d
movsx eax, byte [eax + edx + 0x140]
cmp al, 3
jg 0x68478f7d
add dword [esp + eax*4 + 0x1c0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x68478fd4
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x68478fd4
movsx eax, byte [esi + eax + 0x138]
cmp al, 3
jg 0x68478faf
add dword [esp + eax*4 + 0x1c0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x68478fd4
movsx eax, byte [esi + eax + 0x158]
cmp al, 3
jg 0x68478fd4
add dword [esp + eax*4 + 0x1c0], 1
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1cc]
mov eax, 0x169c
add ecx, dword [esp + 0x1c0]
add edx, dword [esp + 0x1c8]
cmp ecx, edx
je 0x68479006
setge al
movzx eax, al
lea eax, [eax*8 + 0x1698]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x6847959a
mov ecx, dword [esi + 0x288]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
cmp dword [esp + 0x74], edx
jge 0x684790aa
mov eax, dword [esp + 0xd4]
cmp byte [ecx + eax + 0xe0], 0
jne 0x684790aa
movsx eax, byte [ecx + eax + 0x120]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847907f
mov dword [esp + eax*4 + 0x1b8], 1
mov eax, dword [esp + 0xd4]
cmp byte [ecx + eax + 0x100], 0
je 0x684790aa
movsx eax, byte [ecx + eax + 0x140]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x684790aa
add dword [esp + eax*4 + 0x1b8], 1
mov ecx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ecx
jge 0x6847910d
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847910d
movsx eax, byte [esi + eax + 0x138]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x684790e2
add dword [esp + eax*4 + 0x1b8], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847910d
movsx eax, byte [esi + eax + 0x158]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847910d
add dword [esp + eax*4 + 0x1b8], 1
mov eax, 0x16b4
mov ecx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], ecx
je 0x6847912f
setge al
movzx eax, al
lea eax, [eax*8 + 0x16b0]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
lea edx, [eax + 2]
mov byte [edi + 0x18], dl
lea edx, [eax + 3]
jmp 0x684781c7
mov byte [edi + 4], 0
mov eax, 0x370
jmp 0x68471df9
mov edx, dword [esp + 0xe8]
lea ecx, [eax*8]
add eax, ecx
add edx, ecx
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx + 0xc]
lea eax, [ecx + eax*4 + 0x590]
mov ecx, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, esi
call fcn.6846c650
jmp 0x68475bdf
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0x67c]
mov ebx, dword [eax + 0xc]
test edx, edx
je 0x68478d4c
mov eax, dword [eax + 0x854]
cmp dword [ebx + 0x130], 7
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + 0x10]
je 0x6847a95e
mov ebx, dword [esp + 0x84]
imul eax, dword [esp + 0xa4]
mov dword [esp + 0x88], esi
add eax, dword [esp + 0xa0]
mov dword [esp + 0xa0], edi
add eax, edx
mov edx, dword [esp + 0x7c]
lea ecx, [ebx - 1]
mov esi, ecx
lea ebx, [eax + edx]
mov edi, edx
mov eax, 8
lea esi, [esi]
lea edi, [edi]
test edi, edi
jle 0x6847975e
mov edx, ebx
sub edx, edi
lea esi, [esi]
movzx ecx, byte [edx]
cmp ecx, eax
cmovle eax, ecx
add edx, 1
cmp ebx, edx
jne 0x68479230
test esi, esi
jle 0x68479766
test eax, eax
je 0x68479c87
sub esi, 1
add ebx, dword [esp + 0xa4]
jmp 0x68479220
test al, al
je 0x6847927b
mov dword [esp + 8], 0x78b
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str._b__drl_idx
call fcn.684d2880
mov eax, dword [esp + 0x140]
mov dword [edi + 8], eax
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 0x128]
test eax, eax
je 0x684798aa
movzx ecx, word [edi + 0xa]
lea edx, [ecx + 3]
sar cx, 0xf
sub edx, ecx
movzx ecx, word [edi + 8]
and edx, 0xfffffff8
mov word [edi + 0xa], dx
lea edx, [ecx + 3]
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffff8
mov word [edi + 8], dx
jmp 0x68477a06
mov dword [esp + 0xb4], 0
mov eax, 0xdb0
jmp 0x684701f0
mov ebx, dword [esp + 0xec]
cmp byte [ebx + eax + 0x760], 0
je 0x68470dc7
cmp cl, 2
je 0x6847958f
mov ecx, dword [esp + 0xd8]
lea edx, [eax + eax*8]
lea ecx, [ecx + edx*4 + 0x590]
mov edx, dword [esp + 0xe8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
lea edx, [edx + eax*8]
mov eax, esi
call fcn.6846c650
jmp 0x68470e1f
mov dword [esp + 8], 0x54c
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], 0x684e780c
call fcn.684d2880
mov edx, dword [ebx + 0x3638]
jmp 0x68470114
xor eax, eax
cmp byte [edi + 0xb], 0
mov edx, dword [esp + 0xd0]
setne al
add eax, 0x613
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x68473ad2
mov eax, dword [esp + 0xe8]
mov dword [esp], ebx
mov ecx, 1
mov edx, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, esi
call fcn.6846d0d0
mov eax, dword [esi + 4]
lea ecx, [esi + 0x4fe0]
mov ebx, dword [esi + 8]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0x3f534]
test eax, eax
je 0x6847941d
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov edx, ecx
and eax, 1
and ecx, 1
sar edx, 1
add edx, eax
mov eax, dword [esp + 0xbc]
mov eax, dword [eax + 0x854]
sar eax, 1
imul eax, edx
mov edx, dword [esi + 0xc]
sar edx, 1
add edx, ecx
add eax, edx
mov edx, dword [esp + 0xbc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [edx + 0xae0]
add eax, 0x20
mov dword [esp + 0xa4], eax
lea eax, [ebx + 0x3600]
mov dword [esp], eax
mov dword [esp + 0xa0], eax
call fcn.684018d0
test eax, eax
jne 0x6847a4df
cmp byte [edi + 0xc], 0
mov dword [esp + 0x78], 0
je 0x68473ad2
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0xbc]
mov ebx, dword [eax + 0x508]
lea edi, [ebx - 1]
test ebx, ebx
je 0x68479485
xor ebx, ebx
mov dword [esp], esi
add ebx, ebx
sub edi, 1
call fcn.684018d0
or ebx, eax
cmp edi, 0xffffffff
jne 0x68479471
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0xa4]
mov word [eax + edi*2], bx
mov eax, dword [esp + 0x74]
add edi, 1
mov dword [esp + 0x78], edi
movzx eax, byte [eax + 0xc]
cmp edi, eax
jl 0x6847945b
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
jmp 0x68473ad2
cmp dword [esp + 0x9c], 3
je 0x6847a11f
mov eax, dword [esi + 0x10]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xbc], eax
and eax, 0x1f
cmp dword [esp + 0xe0], 1
lea edx, [eax + 5]
mov dword [esp + 0xcc], edx
lea edx, [esi + eax*4 + 0x2a4]
mov dword [esp + 0xd4], edx
je 0x68479cb0
mov ebx, dword [esp + 0xe4]
cmp dword [esp + 0xb0], ebx
je 0x6847ae40
cmp dword [esp + 0x9c], 3
je 0x6847a0de
movsx eax, byte [edi + 0x18]
mov esi, dword [esp + 0xec]
mov edx, eax
shl edx, 4
lea edx, [esi + edx + 0x794]
mov esi, dword [esp + 0xe8]
lea ecx, [edx + 4]
mov dword [esp + 0xc], ecx
lea eax, [esi + eax*8 + 4]
mov edx, dword [edx]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
movsx edx, word [edi + 8]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
call fcn.6846e0d0
mov dword [esp + 0xd0], 0
jmp 0x68470d07
cmp dword [esi + 0x3f500], 1
jbe 0x68470dd0
lea ecx, [esi + 0x3f500]
jmp 0x6847930e
mov eax, dword [esi + 0x288]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
cmp dword [esp + 0x74], edx
jge 0x68479611
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x68479611
movsx edx, byte [eax + ecx + 0x120]
cmp dl, 1
jg 0x684795ec
mov dword [esp + edx*4 + 0x1c0], 1
mov edx, dword [esp + 0xd4]
cmp byte [eax + edx + 0x100], 0
je 0x68479611
movsx eax, byte [eax + edx + 0x140]
cmp al, 1
jg 0x68479611
add dword [esp + eax*4 + 0x1c0], 1
mov ecx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ecx
jge 0x68479668
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x68479668
movsx eax, byte [esi + eax + 0x138]
cmp al, 1
jg 0x68479643
add dword [esp + eax*4 + 0x1c0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x68479668
movsx eax, byte [esi + eax + 0x158]
cmp al, 1
jg 0x68479668
add dword [esp + eax*4 + 0x1c0], 1
mov eax, 0x16a8
mov edx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], edx
je 0x6847968a
setge al
movzx eax, al
lea eax, [eax*8 + 0x16a4]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
mov byte [edi + 0x18], al
lea edx, [eax + 1]
jmp 0x684781c7
lea eax, [ebx + 0x3e]
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68401720
add eax, 1
mov byte [edi + 0x10], al
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
jmp 0x6846ffd0
add eax, 0x3e
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.68401720
add eax, 1
mov byte [edi + 0xf], al
jmp 0x684785d4
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x68]
mov eax, 0x370
xor ecx, ecx
jmp 0x68478f05
mov eax, dword [esp + 0xe8]
movzx ecx, byte [esi + eax + 0x178]
cmp edx, ecx
je 0x68477b41
cmp edx, 3
je 0x68477b41
mov eax, dword [esp + 0xbc]
add eax, 3
cmp ecx, 3
jne 0x68477b4a
jmp 0x68478de4
test esi, esi
jg 0x6847924f
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
cmp eax, 8
je 0x68471d47
mov edx, eax
shl eax, 5
add eax, 0x370
mov ecx, dword [esp + 0xec]
mov byte [edi + 4], dl
mov ebx, dword [ecx + 0xc]
movzx ecx, byte [edi + 6]
jmp 0x6846f6e4
mov eax, dword [esp + 0x140]
mov byte [edi + 0x15], 0
mov byte [edi + 0x17], 0
mov dword [edi + 8], eax
jmp 0x68478367
mov ecx, dword [esp + 0xd4]
movzx edx, byte [edx + ecx + 0x180]
cmp eax, dword [esp + 0xc4]
je 0x684797e3
mov ecx, dword [esp + 0xe8]
movsx ecx, byte [esi + ecx + 0x158]
cmp eax, ecx
jne 0x68477c17
mov eax, dword [esp + 0xe8]
movzx ecx, byte [esi + eax + 0x198]
cmp edx, ecx
je 0x68477c17
cmp edx, 3
je 0x6847cc33
mov eax, dword [esp + 0xbc]
add eax, 3
cmp ecx, 3
jne 0x68477c20
jmp 0x68477c17
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0xe8]
xor ecx, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, esi
call fcn.6846ea20
jmp 0x68470e1f
cmp dword [esp + 0xf4], 2
jle 0x6847a06f
cmp dword [esp + 0x158], 0x27f
mov eax, dword [esp + 0x168]
jg 0x6847ac5d
cmp eax, 0x280
setl al
movzx eax, al
add eax, eax
mov edx, dword [esp + 0xd0]
mov dword [esp], ebx
lea eax, [edx + eax*4 + 0x15e8]
mov dword [esp + 4], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
jmp 0x684779ab
mov edx, dword [edx + 0x1f4]
test edx, edx
jne 0x68477a06
movzx edx, word [edi + 0xa]
mov ecx, edx
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffffe
mov word [edi + 0xa], dx
movzx edx, word [edi + 8]
mov ecx, edx
sar cx, 0xf
sub edx, ecx
and edx, 0xfffffffe
mov word [edi + 8], dx
jmp 0x68477a06
cmp eax, 0x27f
setle al
movzx eax, al
add eax, 0x57a
shl eax, 2
jmp 0x6847798a
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x1c8], 0
cmp dword [esp + 0x74], ecx
jge 0x6847997d
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x6847997d
movsx edx, byte [eax + ecx + 0x120]
cmp dl, 3
jle 0x68479958
mov dword [esp + edx*4 + 0x1b0], 1
mov edx, dword [esp + 0xd4]
cmp byte [eax + edx + 0x100], 0
je 0x6847997d
movsx eax, byte [eax + edx + 0x140]
cmp al, 3
jle 0x6847997d
add dword [esp + eax*4 + 0x1b0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x684799d4
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x684799d4
movsx eax, byte [esi + eax + 0x138]
cmp al, 3
jle 0x684799af
add dword [esp + eax*4 + 0x1b0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x684799d4
movsx eax, byte [esi + eax + 0x158]
cmp al, 3
jle 0x684799d4
add dword [esp + eax*4 + 0x1b0], 1
mov eax, 0x16c0
mov ecx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], ecx
je 0x684799f6
setge al
movzx eax, al
lea eax, [eax*8 + 0x16bc]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
lea edx, [eax + 4]
mov byte [edi + 0x18], dl
lea edx, [eax + 5]
jmp 0x684781c7
movsx ebx, byte [edi + 0x18]
mov dword [esp + 0x68], ebx
mov ebx, dword [esi + 0x10]
mov dword [esp + 0x5c], ebx
and ebx, 0x1f
lea ecx, [ebx + 5]
lea edx, [esi + ebx*4 + 0x2a4]
movzx ebx, byte [esp + 0x6c]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x64], edx
mov ecx, ebx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0xe4]
cmp edx, ebx
cmovge ebx, edx
mov dword [esp + 0x60], ebx
cmp ebx, 0x1f
jg 0x68479a74
test cl, cl
jne 0x6847a283
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ecx
jl 0x6847a2bf
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc4], 0
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x68479c31
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x88], 0
mov dword [esp + 0xa4], 0
lea edx, [edx + edx*2]
lea ebx, [edx*4 - 0xc]
mov edx, dword [esi + ecx*4 + 0x290]
mov dword [esp + 0x54], ebx
add edx, ebx
mov ebx, dword [esp + 0x68]
movsx ecx, byte [edx + 8]
add ebx, 1
mov dword [esp + 0xc0], ebx
cmp ecx, ebx
je 0x6847a90b
movzx edx, byte [edx + 0xa]
movzx ecx, byte [edx*4 + 0x684f9981]
cmp dword [esp + 0xe4], ecx
jg 0x6847a1f1
sub ecx, 1
test dword [esp + 0x5c], ecx
jne 0x68479b5b
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x68479b5b
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 0x64]
lea ecx, [edx + edx*2]
mov edx, dword [ebx - 4]
lea edx, [edx + ecx*4 - 0xc]
mov ecx, dword [esp + 0x68]
movsx ebx, byte [edx + 8]
add ecx, 1
cmp ebx, ecx
je 0x6847a6da
mov edx, dword [esp + 0xbc]
test edx, edx
je 0x68479b9e
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0xe0]
add edx, dword [esi + 0xc]
lea ecx, [edx + edx*2]
mov edx, dword [ebx - 4]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0x68]
movsx ebx, byte [edx + 8]
add ecx, 1
cmp ebx, ecx
jne 0x68479b9e
cmp byte [edx + 9], 0xff
mov edx, 1
cmovne edx, dword [esp + 0x70]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0xd0]
mov edx, dword [esp + 0x68]
lea ecx, [ebx + 0x3600]
add edx, 0x78
mov ebx, dword [esp + 0xec]
shl edx, 4
mov ebx, dword [ebx + edx + 0xc]
test ebx, ebx
jne 0x68479bf6
mov edx, dword [eax + 0x128]
test edx, edx
jne 0x68479bf6
mov eax, dword [eax + 0x588]
test eax, eax
je 0x68479bf6
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
or eax, dword [esp + 0xa4]
or edx, dword [esp + 0x88]
or edx, eax
jne 0x6847ae5d
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x80]
mov dword [esp], ecx
lea eax, [eax + ebx + 0x17a0]
mov dword [esp + 4], eax
call fcn.68401850
mov byte [edi + 0x16], al
cmp al, 2
je 0x6847a2d9
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0xc]
jmp 0x68477a89
mov dword [esp + 0xa4], 0
mov dword [esp + 0x88], 0
jmp 0x68479b2f
mov edx, dword [esp + 0xe8]
lea ecx, [eax*8]
add eax, ecx
lea edx, [edx + ecx + 4]
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx + 0xc]
lea eax, [ecx + eax*4 + 0x590]
mov ecx, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, esi
call fcn.6846cf50
jmp 0x68478780
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
mov eax, 0x370
xor edx, edx
jmp 0x68479787
mov eax, dword [esp + 0x150]
mov dword [edi + 8], eax
jmp 0x68478367
mov edx, dword [esi + 0xc]
mov eax, dword [esi + eax*4 + 0x2a4]
lea edx, [edx + edx*2]
shl edx, 2
cmp byte [eax + edx - 4], 0
lea ebx, [edx - 0xc]
mov dword [esp + 0xc4], edx
setg byte [esp + 0xd0]
mov edx, dword [esp + 0xe4]
movzx eax, byte [esp + 0xd0]
mov dword [esp + 0xc8], ebx
cmp dword [esp + 0xb0], edx
jne 0x68479d2a
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xc4]
mov ebx, dword [eax - 4]
mov eax, dword [esp + 0xc8]
cmp byte [ebx + eax + 8], 0
setg al
cmp byte [ebx + edx + 8], 0
setg dl
and eax, edx
and al, byte [esp + 0xd0]
movzx eax, al
test eax, eax
je 0x68470e5b
cmp dword [esp + 0x9c], 3
je 0x6847a0de
cmp dword [esp + 0xe0], 1
jne 0x68479ee8
test cl, cl
je 0x68479ee8
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0xec]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xd4]
mov eax, dword [eax - 4]
lea ecx, [eax + edx*4 - 0xc]
movsx edx, byte [ecx + 8]
mov eax, edx
shl eax, 4
lea eax, [ebx + eax + 0x784]
mov ebx, dword [esp + 0xbc]
sub ebx, 1
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0xe8]
lea ebx, [ebx + edx*8 - 4]
lea edx, [eax + 4]
mov dword [esp + 0xc], edx
mov eax, dword [eax]
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
movsx eax, word [ecx]
mov ecx, dword [esp + 0xe4]
mov dword [esp], eax
mov eax, ebx
call fcn.6846e0d0
mov eax, dword [esi + 0x10]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0xec]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xcc]
mov eax, dword [esi + eax*4 + 0x290]
lea ecx, [eax + edx*4 - 0xc]
movsx edx, byte [ecx + 8]
mov eax, edx
shl eax, 4
lea eax, [ebx + eax + 0x784]
mov ebx, dword [esp + 0xe8]
lea ebx, [ebx + edx*8 - 4]
lea edx, [eax + 4]
mov dword [esp + 0xc], edx
mov eax, dword [eax]
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
movsx eax, word [ecx]
mov ecx, dword [esp + 0xe4]
mov dword [esp], eax
mov eax, ebx
call fcn.6846e0d0
mov eax, dword [esi + 0x10]
mov dword [esp + 0xd8], eax
mov ebx, dword [esp + 0xe4]
cmp dword [esp + 0xb0], ebx
jne 0x6847951e
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0xec]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xd4]
mov eax, dword [eax - 4]
lea ecx, [eax + edx*4]
movsx edx, byte [ecx + 8]
mov eax, edx
shl eax, 4
lea eax, [ebx + eax + 0x784]
mov ebx, dword [esp + 0xd8]
sub ebx, 1
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0xe8]
lea ebx, [ebx + edx*8 - 4]
lea edx, [eax + 4]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xb0]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
movsx eax, word [ecx]
mov ecx, edx
mov edx, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, ebx
call fcn.6846e0d0
mov eax, dword [esi + 0x10]
mov dword [esp + 0xd8], eax
jmp 0x6847951e
cmp dword [esp + 0xe0], 1
jne 0x68479e51
jmp 0x68479dda
movsx ecx, byte [edi + 0x18]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x5c], ecx
and ecx, 0x1f
lea ebx, [ecx + 5]
lea ecx, [esi + ecx*4 + 0x2a4]
mov dword [esp + 0xa4], ebx
movzx ebx, byte [esp + 0x70]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0xe4]
cmp ecx, ebx
cmovge ebx, ecx
mov dword [esp + 0x60], ebx
cmp ebx, 0x1f
jle 0x6847a283
mov dword [esp + 0xbc], 0
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xc0], ecx
mov ebx, dword [esp + 0xc0]
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x64]
mov ecx, dword [ebx - 4]
lea ebx, [ecx + edx*4]
mov edx, dword [esp + 0x68]
lea ecx, [edx + 1]
movsx edx, byte [ebx + 8]
mov dword [esp + 0x58], ecx
cmp edx, ecx
je 0x6847a93d
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0xc4], 0
movzx edx, byte [ebx + 0xa]
movzx ecx, byte [edx*4 + 0x684f9980]
cmp dword [esp + 0xe0], ecx
jg 0x6847a14f
xor ebx, ebx
lea edx, [ecx - 1]
and edx, dword [esp + 0xc0]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x6c]
cmovne edx, ebx
sub ecx, dword [esp + 0xc0]
cmp dword [esp + 0xe0], ecx
cmovge ebx, dword [esp + 0xbc]
mov dword [esp + 0x6c], edx
mov dword [esp + 0xbc], ebx
jmp 0x68479aab
movsx edx, byte [edi + 0x18]
lea edx, [edx + edx*8]
cmp dword [eax + edx*4 + 0x590], 1
jbe 0x68478916
mov edx, eax
jmp 0x68477a85
mov ecx, 3
jmp 0x68477b41
mov dword [esp + 8], 0x2a4
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.f__frame_hdr__primary_ref_frame___DAV1D_PRIMARY_REF_NONE
mov dword [esp + 0x68], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa0], edx
call fcn.684d2880
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xa0]
jmp 0x68478b08
je 0x684779e6
jmp 0x6847925f
mov ebx, dword [esp + 0xec]
cmp byte [ebx + eax + 0x760], 0
je 0x68470e85
cmp dl, 2
je 0x6847a0d6
mov edi, dword [esp + 0xec]
lea edx, [eax + eax*8]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + edx*4 + 0x590]
mov edi, dword [esp + 0xe8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
lea edx, [edi + eax*8 + 4]
mov eax, esi
call fcn.6846cf50
jmp case.0x68477350.0
cmp dword [esi + 0x3f500], 1
jbe 0x68470e8e
lea ecx, [esi + 0x3f500]
jmp 0x6847a0a8
mov dword [esp + 8], 0x897
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], 0x684e79ca
mov byte [esp + 0xd0], cl
call fcn.684d2880
mov eax, dword [esi + 0x10]
movzx ecx, byte [esp + 0xd0]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xd8], eax
jmp 0x68479d40
mov dword [esp + 8], 0x88d
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], 0x684e79ca
mov byte [esp + 0xd8], cl
call fcn.684d2880
movzx ecx, byte [esp + 0xd8]
jmp 0x684794c2
mov edx, 1
shl edx, cl
cmp dword [esp + 0x7c], ecx
jle 0x68479aab
mov dword [esp + 0xc0], edi
mov edi, edx
mov edx, ecx
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x7c]
jmp 0x6847a198
movzx ecx, byte [ebx + 0xa]
movzx ecx, byte [ecx*4 + 0x684f9980]
add edx, ecx
shl edi, cl
cmp eax, edx
jle 0x6847a6c3
lea ecx, [ecx + ecx*2]
lea ebx, [ebx + ecx*4]
movsx ecx, byte [ebx + 8]
cmp esi, ecx
jne 0x6847a180
cmp byte [ebx + 9], 0xff
jne 0x6847a180
add dword [esp + 0xc4], 1
mov ecx, dword [esp + 0xc4]
or dword [esp + 0x74], edi
cmp ecx, 7
jle 0x6847a180
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x58]
mov dword [esp + 0xa4], 0
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x88], 0
jmp 0x68479b9e
mov edx, 1
shl edx, cl
cmp dword [esp + 0x84], ecx
jle 0x68479b2f
mov dword [esp + 0x78], edi
mov ebx, dword [esp + 0x64]
mov edi, edx
mov dword [esp + 0x5c], esi
mov esi, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
jmp 0x6847a23d
movzx edx, byte [edx + 0xa]
movzx ecx, byte [edx*4 + 0x684f9981]
shl edi, cl
add esi, ecx
cmp dword [esp + 0x84], esi
jle 0x6847a6b2
lea ebx, [ebx + ecx*4]
mov edx, dword [ebx]
add edx, eax
movsx ecx, byte [edx + 8]
cmp dword [esp + 0xc0], ecx
jne 0x6847a220
cmp byte [edx + 9], 0xff
jne 0x6847a220
add dword [esp + 0xc4], 1
mov ecx, dword [esp + 0xc4]
or dword [esp + 0xa4], edi
cmp ecx, 7
jle 0x6847a220
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
jmp 0x68479b9e
mov ebx, dword [esi + 0xc]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esi + 8]
mov dword [esp + 0xc0], ebx
add ecx, ebx
cmp ecx, dword [edx + 0x361c]
jge 0x68479a74
test byte [ebp + 0xc], 1
je 0x68479a74
mov dword [esp + 0xbc], 1
jmp 0x68479f65
mov dword [esp + 0xbc], 0
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xc0], ebx
jmp 0x68479f65
lea eax, [esi + 0x3f500]
mov dword [esp + 0x78], eax
movzx eax, word [edi + 8]
mov word [esp + 0x68], ax
movzx eax, word [edi + 0xa]
mov word [esp + 0x6c], ax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xbc], eax
and eax, 0x1f
lea ebx, [eax + 5]
lea eax, [esi + eax*4 + 0x2a4]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xa0], eax
mov eax, ebx
cmp ebx, 1
je 0x6847aed5
cmp dword [esp + 0x74], 0
je 0x6847a9d4
mov ebx, dword [esp + 0xa0]
xor ecx, ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0xc4], 0
mov ebx, dword [ebx - 4]
mov dword [esp + 0x64], edi
mov dword [esp + 0x74], ebx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xc0], ebx
lea ebx, [esp + 0x1c0]
mov esi, ebx
mov dword [esp + 0x58], ebx
mov ebx, ecx
jmp 0x6847a377
test eax, eax
je 0x6847a3fd
xor ecx, ecx
mov edi, dword [esp + 0xc0]
add dword [esp + 0xc4], 1
add esi, 0x10
tzcnt ecx, eax
add ebx, ecx
shr eax, cl
mov dword [esp + 0x80], eax
lea eax, [ebx + edi]
mov edi, dword [esp + 0x74]
lea eax, [eax + eax*2]
lea ecx, [edi + eax*4]
movzx eax, byte [ecx + 0xa]
movzx edx, byte [eax*4 + 0x684f9980]
movzx eax, byte [eax*4 + 0x684f9981]
lea edx, [edx + ebx*2]
neg eax
shl edx, 4
shl eax, 4
sub edx, 8
sub eax, 8
mov dword [esi - 0x10], edx
mov dword [esi - 0xc], eax
movsx edi, word [ecx + 2]
add edx, edi
mov edi, dword [esp + 0xc4]
mov dword [esi - 8], edx
movsx edx, word [ecx]
add eax, edx
mov dword [esi - 4], eax
mov eax, dword [esp + 0x80]
and eax, 0xfffffffe
cmp edi, 7
jle 0x6847a36f
cmp dword [esp + 0xc4], 8
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
jne 0x6847a9e6
mov ecx, dword [esp + 0x60]
mov eax, 0x1c
mov edx, 4
mov dword [esp + 0x70], esi
mov dword [esp + 0xa4], 0
cmp ecx, 0x1c
mov dword [esp + 0x74], edi
cmovle eax, ecx
mov ecx, ebx
cmp eax, 4
cmovl eax, edx
mov edx, dword [esp + 0xc4]
shl eax, 2
lea edx, [esp + edx*4 + 0x120]
mov dword [esp + 0xc0], eax
movsx eax, word [esp + 0x6c]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x88], eax
movsx eax, word [esp + 0x68]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x120]
mov esi, eax
jmp 0x6847a4a1
mov dword [esi], 0xffffffff
add ecx, 0x10
add esi, 4
cmp dword [esp + 0xa0], esi
je 0x6847a702
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
sub eax, dword [esp + 0x88]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ecx + 0xc]
sub edx, dword [ecx + 4]
sub edx, dword [esp + 0x80]
mov edi, edx
sar edi, 0x1f
xor edx, edi
sub edx, edi
add edx, eax
cmp edx, dword [esp + 0xc0]
jg 0x6847a488
mov dword [esi], edx
add dword [esp + 0xa4], 1
jmp 0x6847a48e
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xbc]
mov edx, dword [eax + 0x508]
mov dword [esp], ecx
mov dword [esp + 0x78], edx
call fcn.684018d0
mov ecx, dword [esp + 0xa0]
mov ebx, eax
mov dword [esp], ecx
add ebx, ebx
call fcn.684018d0
mov edx, dword [esp + 0x78]
or ebx, eax
mov eax, dword [esp + 0xbc]
lea ebx, [edx + ebx - 4]
mov dword [esp + 0x74], ebx
mov ebx, dword [eax + 0x508]
mov ecx, ebx
lea edx, [ebx - 1]
test ebx, ebx
je 0x6847a56a
mov dword [esp + 0x78], esi
xor ebx, ebx
mov esi, edx
mov eax, dword [esp + 0xa0]
add ebx, ebx
sub esi, 1
mov dword [esp], eax
call fcn.684018d0
or ebx, eax
cmp esi, 0xffffffff
jne 0x6847a53e
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0x78]
mov ecx, dword [eax + 0x508]
mov eax, dword [esp + 0xa4]
mov word [eax], bx
movzx eax, bx
mov dword [esp + 0xbc], eax
mov eax, 1
shl eax, cl
sub eax, 1
cmp byte [edi + 0xc], 1
jbe 0x68473ad2
mov word [esp + 0x6c], ax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x70], edi
sub eax, 1
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x64]
xor ebx, ebx
test eax, eax
je 0x6847a5e8
lea esi, [esi]
mov dword [esp], esi
add ebx, ebx
sub edi, 1
call fcn.684018d0
or ebx, eax
cmp edi, 0xffffffff
jne 0x6847a5d0
test ebx, ebx
jne 0x6847a630
xor eax, eax
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0xa4]
add ax, word [esp + 0xbc]
and ax, word [esp + 0x6c]
mov word [ecx + edi*2], ax
movzx eax, ax
add edi, 1
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], edi
movzx eax, byte [eax + 0xc]
cmp edi, eax
jl 0x6847a5bc
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x60]
jmp 0x68473ad2
mov dword [esp], esi
call fcn.684018d0
mov edx, ebx
neg edx
test eax, eax
mov eax, ebx
cmovne eax, edx
jmp 0x6847a5ea
mov ecx, dword [eax + 0x1f4]
test ecx, ecx
jne 0x68477a2e
movzx eax, word [edi + 0xa]
mov edx, eax
sar dx, 0xf
sub eax, edx
and eax, 0xfffffffe
mov word [edi + 0xa], ax
movzx eax, word [edi + 8]
mov edx, eax
sar dx, 0xf
sub eax, edx
and eax, 0xfffffffe
mov word [edi + 8], ax
mov dword [esp + 0xa0], 1
jmp 0x68477a39
lea eax, [edx + 0x1e]
mov dword [esp + 8], 0xf
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.68401720
mov byte [edi + 0x10], al
jmp 0x684788c2
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
jmp 0x68479b2f
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x58]
jmp 0x68479aab
cmp byte [edx + 9], 0xff
jne 0x68479b5b
cmp dword [esp + 0xc4], 6
mov dword [esp + 0x88], 1
jle 0x68479b5b
jmp 0x68479b9e
mov ecx, dword [esp + 0xa4]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
test ecx, ecx
je 0x6847aca6
mov edx, dword [esp + 0xc4]
mov dword [esp + 0xc0], 0
lea eax, [edx - 1]
sub edx, ecx
xor ecx, ecx
mov dword [esp + 0xa0], edx
test edx, edx
jle 0x6847a827
mov dword [esp + 0xbc], edi
mov edi, ecx
mov dword [esp + 0xc4], esi
mov esi, ebx
mov ebx, eax
cmp dword [esp + edi*4 + 0x120], 0xffffffff
mov ecx, dword [esp + 0xc4]
je 0x6847a784
lea esi, [esi]
lea edi, [edi]
add edi, 1
cmp dword [esp + edi*4 + 0x120], 0xffffffff
jne 0x6847a770
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + ebx*4 + 0x120]
cmp eax, 0xffffffff
jne 0x6847a7b6
mov ecx, dword [esp + 0xc4]
mov esi, esi
lea edi, [edi]
sub ebx, 1
mov eax, dword [esp + ebx*4 + 0x120]
cmp eax, 0xffffffff
je 0x6847a7a0
mov dword [esp + 0xc4], ecx
cmp ebx, edi
je 0x6847a8dc
jl 0x6847a80d
mov edx, ebx
mov dword [esp + edi*4 + 0x120], eax
mov eax, edi
sub ebx, 1
shl edx, 4
shl eax, 4
add dword [esp + 0xc0], 1
add edi, 1
add edx, esi
add eax, esi
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0xc0]
cmp dword [esp + 0xa0], eax
jne 0x6847a755
mov ebx, esi
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
mov eax, dword [esi + 0x10]
mov dword [esp + 0xbc], eax
mov edx, dword [esp + 0x6c]
movzx eax, word [esp + 0x68]
mov ecx, dword [esi + 0xc]
mov dword [esp], ebx
shl edx, 0x10
or eax, edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
call fcn.68496a40
test eax, eax
je 0x6847adbd
mov eax, dword [esp + 0xec]
cmp dword [esi + 0x3f534], 0
mov dword [esi + 0x3f500], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1f8]
mov dword [esp + 0xc0], eax
je 0x6847acb6
mov eax, dword [esp + 0xc0]
mov word [edi + 0xc], 0x8000
cmp eax, 4
je 0x6847acc6
mov dword [esp + 0xc4], eax
mov dword [esp + 0x68], 0
jmp 0x68471303
mov dword [esp + 8], 0x160
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.i___j
mov dword [esp + 0x88], eax
call fcn.684d2880
mov eax, dword [esp + 0x88]
jmp 0x6847a7c0
cmp byte [edx + 9], 0xff
jne 0x68479b0d
add dword [esp + 0xc4], 1
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0xa4], 1
cmp ebx, 7
jle 0x68479b0d
jmp 0x68479b9e
xor ecx, ecx
cmp byte [ebx + 9], 0xff
mov dword [esp + 0x70], 0
sete cl
mov dword [esp + 0x74], ecx
mov dword [esp + 0xc4], ecx
jmp 0x68479fab
mov dword [esp + 8], 0x2a4
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.f__frame_hdr__primary_ref_frame___DAV1D_PRIMARY_REF_NONE
mov dword [esp + 0x68], eax
mov dword [esp + 0x88], edx
call fcn.684d2880
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x88]
jmp 0x684791dd
cmp dword [esp + 0xf4], 3
jg 0x6847ae8b
mov eax, dword [esp + 0x160]
mov dword [edi + 8], eax
jmp 0x68477a2e
cmp eax, 0x27f
setle al
movzx eax, al
add eax, 0x57a
shl eax, 2
jmp 0x68478307
mov edx, 3
jmp 0x68477c17
mov dword [esp + 0xc4], 0
lea ebx, [esp + 0x1c0]
mov eax, dword [esp + 0xa4]
xor eax, 1
or eax, dword [esp + 0x88]
je 0x6847ace9
mov edx, dword [esp + 0xa4]
test edx, edx
je 0x6847aaf3
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc0], eax
imul eax, dword [esp + 0xc0], 0xc
xor ecx, ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x80], edi
sub eax, 0xc
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc4]
shl eax, 4
add eax, ebx
mov ebx, ecx
mov esi, eax
jmp 0x6847aa53
test edx, edx
je 0x6847aad6
xor ecx, ecx
mov eax, dword [esp + 0xa0]
add dword [esp + 0xc4], 1
add esi, 0x10
tzcnt ecx, edx
add ebx, ecx
shr edx, cl
mov ecx, dword [esp + 0xa4]
add ecx, dword [eax + ebx*4]
mov dword [esp + 0xc0], edx
movzx edx, byte [ecx + 0xa]
movzx eax, byte [edx*4 + 0x684f9980]
movzx edx, byte [edx*4 + 0x684f9981]
neg eax
lea edx, [edx + ebx*2]
shl eax, 4
shl edx, 4
sub edx, 8
sub eax, 8
mov dword [esi - 0x10], eax
mov dword [esi - 0xc], edx
movsx edi, word [ecx + 2]
add eax, edi
mov dword [esi - 8], eax
movsx eax, word [ecx]
add eax, edx
mov edx, dword [esp + 0xc0]
mov dword [esi - 4], eax
mov eax, dword [esp + 0xc4]
and edx, 0xfffffffe
cmp eax, 7
jle 0x6847aa4b
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x64]
cmp dword [esp + 0xc4], 8
je 0x6847a417
cmp dword [esp + 0x88], 0
je 0x6847ab9d
mov edx, dword [esp + 0xa0]
imul eax, dword [esi + 0xc], 0xc
mov edx, dword [edx - 4]
lea eax, [edx + eax - 0xc]
movzx ecx, byte [eax + 0xa]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc4]
add dword [esp + 0xc4], 1
movzx edx, byte [ecx*4 + 0x684f9980]
shl eax, 4
imul edx, edx, 0xfffffff0
sub edx, 8
mov dword [esp + eax + 0x1c0], edx
mov dword [esp + 0xa4], edx
movzx edx, byte [ecx*4 + 0x684f9981]
imul edx, edx, 0xfffffff0
lea ecx, [edx - 8]
mov edx, dword [esp + 0xc0]
mov dword [esp + eax + 0x1c4], ecx
movsx edx, word [edx + 2]
add edx, dword [esp + 0xa4]
mov dword [esp + eax + 0x1c8], edx
mov edx, dword [esp + 0xc0]
movsx edx, word [edx]
add edx, ecx
mov dword [esp + eax + 0x1cc], edx
mov eax, dword [esp + 0xc4]
cmp eax, 8
je 0x6847a417
cmp dword [esp + 0x70], 0
je 0x6847ac6d
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xe0]
add eax, dword [esi + 0xc]
imul eax, eax, 0xc
mov ecx, dword [edx - 4]
mov edx, dword [esp + 0xe0]
add ecx, eax
mov eax, dword [esp + 0xc4]
add dword [esp + 0xc4], 1
mov dword [esp + 0xa4], ecx
movzx ecx, byte [ecx + 0xa]
shl eax, 4
mov dword [esp + 0xc0], eax
mov eax, edx
add eax, edx
movzx edx, byte [ecx*4 + 0x684f9980]
movzx ecx, byte [ecx*4 + 0x684f9981]
imul ecx, ecx, 0xfffffff0
add eax, edx
mov edx, dword [esp + 0xc0]
shl eax, 4
sub eax, 8
sub ecx, 8
mov dword [esp + edx + 0x1c0], eax
mov dword [esp + edx + 0x1c4], ecx
mov edx, dword [esp + 0xa4]
movsx edx, word [edx + 2]
add eax, edx
mov edx, dword [esp + 0xc0]
mov dword [esp + edx + 0x1c8], eax
mov edx, dword [esp + 0xa4]
movsx eax, word [edx]
mov edx, dword [esp + 0xc0]
add eax, ecx
mov dword [esp + edx + 0x1cc], eax
jmp 0x6847a417
cmp eax, 0x27f
setle al
movzx eax, al
jmp 0x68479885
mov eax, dword [esp + 0xc4]
sub eax, 1
cmp eax, 7
jbe 0x6847a417
mov dword [esp + 8], 0x14d
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.np___0__np___8
call fcn.684d2880
mov eax, dword [esi + 0x10]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa4], 1
jmp 0x6847a827
mov eax, dword [esp + 0xc0]
cmp eax, 4
jne 0x6847a8c8
mov dword [esp + 0x68], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
jmp 0x68471303
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x54]
imul eax, dword [esp + 0xc0], 0xc
mov edx, dword [esi + ecx*4 + 0x290]
mov ecx, dword [esp + 0xa0]
movzx edx, byte [edx + eax - 2]
sub eax, 0xc
movzx edx, byte [edx*4 + 0x684f9981]
sub edx, 1
and edx, dword [esp + 0xbc]
mov dword [esp + 0xa4], edx
imul edx, edx, 0xfffffffc
add eax, dword [ecx + edx]
mov ecx, dword [esp + 0xc4]
movzx edx, byte [eax + 0xa]
mov dword [esp + 0xc0], eax
shl ecx, 4
add dword [esp + 0xc4], 1
movzx eax, byte [edx*4 + 0x684f9980]
movzx edx, byte [edx*4 + 0x684f9981]
imul eax, eax, 0xfffffff0
sub eax, 8
mov dword [esp + ecx + 0x1c0], eax
mov dword [esp + 0x80], eax
imul eax, dword [esp + 0xa4], 0xfffffffe
add eax, edx
mov edx, dword [esp + 0xc0]
shl eax, 4
sub eax, 8
mov dword [esp + ecx + 0x1c4], eax
movsx edx, word [edx + 2]
add edx, dword [esp + 0x80]
mov dword [esp + ecx + 0x1c8], edx
mov edx, dword [esp + 0xc0]
movsx edx, word [edx]
add eax, edx
mov dword [esp + ecx + 0x1cc], eax
jmp 0x6847aae5
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.68496670
mov dword [esp + 0x68], eax
test eax, eax
jne 0x6847a884
mov eax, dword [esp + 0xec]
cmp dword [esi + 0x3f534], 0
mov dword [esi + 0x3f500], 3
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x1f8]
mov dword [esp + 0xc0], ebx
je 0x6847acb6
mov eax, dword [esi + 0x3f50c]
mov dword [esp + 0xc4], ebx
mov word [edi + 0xc], ax
mov eax, dword [esi + 0x3f510]
mov word [edi + 0xe], ax
mov eax, dword [esi + 0x3f514]
mov word [edi + 0x10], ax
mov eax, dword [esi + 0x3f518]
mov word [edi + 0x12], ax
cmp ebx, 4
jne 0x68471303
jmp 0x6847acc6
mov edx, dword [esp + 0xd4]
imul eax, dword [esi + 0xc], 0xc
add eax, dword [edx - 4]
cmp byte [eax + 8], 0
setg al
movzx eax, al
jmp 0x68479d2a
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd8]
mov dword [esp + 8], 2
mov dword [esp], ecx
lea eax, [eax + ebx*8 + 0x1400]
mov dword [esp + 4], eax
call fcn.684014f0
jmp 0x68479c17
cmp dword [esp + 0x168], 0x27f
mov eax, dword [esp + 0x178]
jg 0x6847cc23
cmp eax, 0x280
setl al
movzx eax, al
add eax, eax
mov ecx, dword [esp + 0xd0]
mov dword [esp], ebx
lea eax, [ecx + eax*4 + 0x15e8]
mov dword [esp + 4], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
jmp 0x68478328
cmp dword [esp + 0x88], 0
jne 0x6847a331
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0xc0], eax
imul eax, eax, 0xc
mov ebx, dword [edx - 4]
add ebx, eax
movzx ecx, byte [ebx + 0xa]
movzx edx, byte [ecx*4 + 0x684f9980]
movzx ecx, byte [ecx*4 + 0x684f9981]
imul ecx, ecx, 0xfffffff0
lea eax, [edx - 1]
and eax, dword [esp + 0xc0]
imul eax, eax, 0xfffffffe
sub ecx, 8
add eax, edx
mov dword [esp + 0x1c4], ecx
shl eax, 4
sub eax, 8
mov dword [esp + 0x1c0], eax
movsx edx, word [ebx + 2]
add eax, edx
mov dword [esp + 0x1c8], eax
movsx eax, word [ebx]
add eax, ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xa4]
cmp eax, 1
je 0x6847cc4d
mov edx, eax
lea ebx, [esp + 0x1c0]
mov dword [esp + 0xc4], 1
test eax, eax
jne 0x6847aa16
jmp 0x6847ab9d
movzx edx, al
jmp 0x68478352
lea ecx, [esi + 0x28c]
mov dword [esp + 0x88], ecx
test eax, eax
je 0x6846faa2
cmp byte [edi + 5], 0
jne 0x684711c4
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x68477870
mov edx, dword [ebx + 0x574]
test edx, edx
je 0x6847afdb
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
cmp edx, eax
cmovle eax, edx
cmp eax, 1
jg 0x6847b013
mov byte [edi + 0x14], 0
jmp 0x68477f90
mov ebx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
cmp ebx, eax
cmovle eax, ebx
sub eax, 1
jle 0x68477f55
mov eax, dword [esp + 0xd0]
add eax, 0x3600
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ecx
jge 0x6847c6bd
mov ebx, dword [esi + 0x288]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc8]
movzx edx, byte [ebx + eax + 0x100]
cmp dword [esp + 0x78], ecx
jge 0x6847cb83
mov eax, dword [esp + 0xe8]
movzx ecx, byte [esi + eax + 0x118]
test dl, dl
je 0x6847cb5e
mov eax, 0x1614
test cl, cl
jne 0x6847b083
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x138], 4
sbb eax, eax
and eax, 0xfffffffc
add eax, 0x1610
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
cmp byte [edi + 5], 0
mov dword [esp + 0x68], eax
jne 0x6847ca14
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x6847b0ce
mov eax, dword [esp + 0xa0]
mov byte [edi + 0x14], 0
test eax, eax
je 0x68477f90
mov edx, dword [eax + 0x14]
jmp 0x68477887
lea eax, [esi + 0x18]
cmp byte [esp + 0x70], 0
mov edx, dword [esi + 0x288]
mov dword [esp + 0xc4], eax
je 0x6847b96a
cmp byte [esp + 0x6c], 0
je 0x6847b740
mov eax, dword [esp + 0xd4]
movzx ecx, byte [edx + eax + 0xe0]
mov eax, dword [esp + 0xe8]
movzx eax, byte [esi + eax + 0xf8]
mov ebx, eax
test cl, cl
je 0x6847b121
mov eax, 0x1620
test bl, bl
jne 0x6847b17b
mov eax, ebx
or al, cl
je 0x6847c250
test cl, cl
cmovne edx, dword [esp + 0xc4]
mov eax, 0x1620
mov ebx, edx
mov edx, dword [esp + 0xd4]
cmovne edx, dword [esp + 0xe8]
cmp byte [ebx + edx + 0x100], 0
je 0x6847b17b
cmp byte [ebx + edx + 0x120], 3
setg al
cmp byte [ebx + edx + 0x140], 3
setle dl
xor eax, edx
mov edx, 0x587
movzx eax, al
lea eax, [edx + eax*2]
shl eax, 2
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x6847c175
mov eax, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
cmp byte [eax + ecx + 0xe0], 0
jne 0x6847c10c
mov edx, dword [esp + 0xd4]
movsx edx, byte [eax + edx + 0x120]
cmp dl, 3
jg 0x6847b203
mov dword [esp + edx*4 + 0x1c0], 1
mov ebx, dword [esp + 0xd4]
cmp byte [eax + ebx + 0x100], 0
je 0x6847b228
movsx eax, byte [eax + ebx + 0x140]
cmp al, 3
jg 0x6847b228
add dword [esp + eax*4 + 0x1c0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jl 0x6847c10c
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1cc]
mov eax, 0x16cc
add ecx, dword [esp + 0x1c0]
add edx, dword [esp + 0x1c8]
cmp ecx, edx
je 0x6847b26b
setge al
movzx eax, al
lea eax, [eax*8 + 0x16c8]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
je 0x6847ba0e
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ecx
jge 0x6847b30f
mov ebx, dword [esp + 0xd4]
cmp byte [eax + ebx + 0xe0], 0
jne 0x6847b30f
movsx edx, byte [eax + ebx + 0x120]
mov ecx, edx
xor ecx, 2
cmp cl, 1
ja 0x6847b2e4
mov dword [esp + edx*4 + 0x1b8], 1
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0x100], 0
je 0x6847b30f
movsx eax, byte [eax + ecx + 0x140]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847b30f
add dword [esp + eax*4 + 0x1b8], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x6847b372
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847b372
movsx eax, byte [esi + eax + 0x138]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847b347
add dword [esp + eax*4 + 0x1b8], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847b372
movsx eax, byte [esi + eax + 0x158]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847b372
add dword [esp + eax*4 + 0x1b8], 1
mov eax, 0x16e4
mov ebx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], ebx
je 0x6847b394
setge al
movzx eax, al
lea eax, [eax*8 + 0x16e0]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
add eax, 2
mov byte [edi + 0x18], al
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x1c8], 0
cmp dword [esp + 0x74], ecx
jge 0x6847b436
mov edx, dword [esp + 0xd4]
cmp byte [eax + edx + 0xe0], 0
jne 0x6847b436
movsx edx, byte [eax + edx + 0x120]
cmp dl, 3
jle 0x6847b411
mov dword [esp + edx*4 + 0x1b0], 1
mov ebx, dword [esp + 0xd4]
cmp byte [eax + ebx + 0x100], 0
je 0x6847b436
movsx eax, byte [eax + ebx + 0x140]
cmp al, 3
jle 0x6847b436
add dword [esp + eax*4 + 0x1b0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x6847b48d
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847b48d
movsx eax, byte [esi + eax + 0x138]
cmp al, 3
jle 0x6847b468
add dword [esp + eax*4 + 0x1b0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847b48d
movsx eax, byte [esi + eax + 0x158]
cmp al, 3
jle 0x6847b48d
add dword [esp + eax*4 + 0x1b0], 1
mov edx, dword [esp + 0x1c0]
mov eax, 0x16f0
add edx, dword [esp + 0x1c4]
cmp edx, dword [esp + 0x1c8]
je 0x6847b4b6
setge al
movzx eax, al
lea eax, [eax*8 + 0x16ec]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x6847c350
movzx eax, byte [edi + 0x18]
mov byte [edi + 0x19], 6
mov ecx, 7
lea edx, [eax + 1]
mov ebx, dword [esi + 0xc]
xor eax, eax
mov al, dl
mov dword [esp + 0x20], ebx
mov edx, dword [esi + 0x10]
mov ah, cl
lea ebx, [esp + 0x1c0]
mov word [esp + 0x10], ax
lea eax, [esp + 0x140]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x14], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.68490b50
mov eax, dword [esp + 0x140]
mov dword [esp + 8], 7
add eax, 0xd3
shl eax, 4
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call 0x68401650
mov byte [edi + 0x17], 0
movzx ebx, al
mov byte [edi + 0x15], al
add ebx, ebx
lea edx, [ebx + 0x684f9850]
mov dword [esp + 0xc4], edx
cmp al, 7
je 0x6847b8b3
movzx edx, byte [ebx + 0x684f9850]
cmp dl, 1
je 0x6847b827
cmp byte [ebx + 0x684f9851], 1
je 0x6847b827
cmp byte [edi + 0x15], 6
setne al
movzx ecx, al
mov dword [esp + 0xa0], ecx
cmp dl, 2
je 0x6847bf1c
jb 0x6847bec6
cmp dl, 3
jne 0x6847b61f
movzx eax, byte [edi + 0x17]
lea ecx, [edi + 0xa]
lea edx, [edi + 8]
shl eax, 4
mov eax, dword [esp + eax + 0x1c0]
mov dword [edi + 8], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x128]
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
add eax, 0x33c0
mov dword [esp], eax
mov eax, esi
call fcn.6846ef20
mov eax, dword [esp + 0xc4]
movzx eax, byte [eax + 1]
cmp al, 2
je 0x6847bcdc
jb 0x6847bc86
cmp al, 3
jne 0x6847b685
movzx eax, byte [edi + 0x17]
lea ecx, [edi + 0xe]
lea edx, [edi + 0xc]
shl eax, 4
mov eax, dword [esp + eax + 0x1c4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x128]
test eax, eax
sete al
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
add eax, 0x33c0
mov dword [esp], eax
mov eax, esi
call fcn.6846ef20
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x404]
test ebx, ebx
je 0x6847b71f
mov edx, dword [esi + 0x288]
mov ecx, dword [esp + 0xd4]
mov eax, 1
cmp byte [edx + ecx + 0x100], 2
ja 0x6847b6c9
xor eax, eax
cmp byte [edx + ecx + 0x120], 6
sete al
lea eax, [eax + eax*2]
mov edx, dword [esp + 0xe8]
cmp byte [esi + edx + 0x118], 2
jbe 0x6847bc69
add eax, 1
cmp eax, 5
mov edx, 5
cmovg eax, edx
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*4 + 0x1644]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
jne 0x6847bc34
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x414]
test ecx, ecx
jne 0x6847bb04
mov byte [edi + 0x14], 2
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0xc]
jmp 0x68477a91
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xe8]
cmp eax, ebx
cmovl edx, dword [esp + 0xc4]
cmovge ecx, dword [esp + 0xd4]
mov eax, 0x1620
cmp byte [edx + ecx + 0xe0], 0
jne 0x6847b7a3
cmp byte [edx + ecx + 0x100], 0
je 0x6847b7a3
cmp byte [edx + ecx + 0x120], 3
mov ebx, 0x586
setg al
cmp byte [edx + ecx + 0x140], 3
setle dl
xor eax, edx
movzx eax, al
lea eax, [ebx + eax*4]
shl eax, 2
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
je 0x6847c23d
mov dword [esp + 0x1c8], 0
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x1cc], 0
cmp dword [esp + 0x74], ecx
jge 0x6847b228
mov edx, dword [esp + 0xd4]
cmp byte [eax + edx + 0xe0], 0
je 0x6847b1e4
mov eax, 0x16cc
jmp 0x6847b26b
mov byte [edi + 0x17], 1
cmp dword [esp + 0x120], 2
jle 0x6847b8a7
cmp dword [esp + 0x1d8], 0x27f
mov eax, dword [esp + 0x1e8]
jg 0x6847c7eb
cmp eax, 0x280
setl al
movzx eax, al
lea eax, [eax*8 + 0x15e8]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
cmp al, 2
je 0x6847c7a5
cmp al, 3
jbe 0x6847b8a7
mov dword [esp + 8], 0x6c4
mov dword [esp + 4], str..._src_decode.c
mov dword [esp], str.b__drl_idx___NEAREST_DRL__b__drl_idx___NEARISH_DRL
call fcn.684d2880
movzx edx, byte [ebx + 0x684f9850]
jmp 0x6847b5b2
cmp dword [esp + 0x120], 1
jle 0x6847b8a7
cmp dword [esp + 0x1c8], 0x27f
mov eax, dword [esp + 0x1d8]
jg 0x6847c707
cmp eax, 0x280
setl al
movzx eax, al
lea eax, [eax*8 + 0x15e8]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
cmp al, 1
jne 0x6847b887
cmp dword [esp + 0x120], 2
jle 0x6847b8a7
cmp dword [esp + 0x1d8], 0x27f
mov eax, dword [esp + 0x1e8]
jg 0x6847cbdc
cmp eax, 0x280
setl al
movzx eax, al
add eax, eax
mov ecx, dword [esp + 0xd0]
lea eax, [ecx + eax*4 + 0x15e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
add al, byte [edi + 0x17]
mov byte [edi + 0x17], al
jmp 0x6847b887
cmp byte [esp + 0x6c], 0
jne 0x6847b740
mov eax, dword [esp + 0xd0]
add eax, 0x1620
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
jne 0x6847b81d
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov eax, 0x1708
mov edx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], edx
je 0x6847b9d4
setge al
movzx eax, al
lea eax, [eax*8 + 0x1704]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
test eax, eax
je 0x6847c47a
mov ecx, 0x604
mov edx, 5
mov word [edi + 0x18], cx
mov ecx, 7
jmp 0x6847b4e8
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ebx
jge 0x6847ba69
mov ebx, dword [esp + 0xd4]
cmp byte [eax + ebx + 0xe0], 0
jne 0x6847ba69
movsx edx, byte [eax + ebx + 0x120]
cmp dl, 1
jg 0x6847ba44
mov dword [esp + edx*4 + 0x1c0], 1
mov ebx, dword [esp + 0xd4]
cmp byte [eax + ebx + 0x100], 0
je 0x6847ba69
movsx eax, byte [eax + ebx + 0x140]
cmp al, 1
jg 0x6847ba69
add dword [esp + eax*4 + 0x1c0], 1
mov ecx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ecx
jge 0x6847bac0
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847bac0
movsx eax, byte [esi + eax + 0x138]
cmp al, 1
jg 0x6847ba9b
add dword [esp + eax*4 + 0x1c0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847bac0
movsx eax, byte [esi + eax + 0x158]
cmp al, 1
jg 0x6847bac0
add dword [esp + eax*4 + 0x1c0], 1
mov eax, 0x16d8
mov edx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], edx
je 0x6847bae2
setge al
movzx eax, al
lea eax, [eax*8 + 0x16d4]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
mov byte [edi + 0x18], al
jmp 0x6847b3b4
movsx edx, byte [edi + 0x19]
mov ebx, dword [esp + 0xec]
mov ecx, dword [esi + 0x288]
imul edx, edx, 0xb0
mov dword [esp + 0xc4], ecx
mov edx, dword [ebx + edx + 0x14]
mov ecx, dword [edx + 0xf8]
movsx edx, byte [edi + 0x18]
imul edx, edx, 0xb0
mov dword [esp + 0xc0], ecx
mov ecx, ebx
mov edx, dword [ebx + edx + 0x14]
mov ebx, dword [edx + 0xf8]
mov edx, dword [ecx + 0x4e4]
mov ecx, dword [eax + 0x424]
mov eax, 3
mov edx, dword [edx + 0xf8]
test ecx, ecx
je 0x6847bbb5
sub ecx, 1
mov eax, 1
sub ebx, edx
sub edx, dword [esp + 0xc0]
shl eax, cl
mov dword [esp + 0xc0], edx
mov edx, ebx
lea ecx, [eax - 1]
and ebx, eax
and edx, ecx
sub edx, ebx
mov ebx, edx
sar ebx, 0x1f
xor edx, ebx
sub edx, ebx
mov ebx, dword [esp + 0xc0]
and eax, ebx
and ecx, ebx
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
cmp edx, ecx
sete al
movzx eax, al
lea edx, [eax + eax]
add eax, edx
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xd4]
mov edx, 1
cmp byte [ecx + ebx + 0x100], 1
ja 0x6847bbe0
cmp byte [ecx + ebx + 0x120], 6
sete dl
movzx edx, dl
mov ebx, dword [esp + 0xe8]
mov ecx, 1
cmp byte [esi + ebx + 0x118], 1
ja 0x6847bc03
xor ecx, ecx
cmp byte [esi + ebx + 0x138], 6
sete cl
add eax, edx
lea eax, [ecx + eax + 0x58b]
mov ecx, dword [esp + 0xd0]
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
add eax, 1
mov byte [edi + 0x14], al
jmp 0x6847b731
movzx ecx, byte [esp + 0xd8]
mov eax, 1
shl eax, cl
test eax, 0x3bb80
jne 0x6847c642
mov byte [edi + 0x14], 3
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.684018d0
mov byte [edi + 0x11], al
jmp 0x6847b731
mov edx, dword [esp + 0xe8]
cmp byte [esi + edx + 0x138], 6
jne 0x6847b6e1
add eax, 3
jmp 0x6847b6e1
movzx eax, byte [edi + 0x17]
shl eax, 4
mov eax, dword [esp + eax + 0x1c4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x128]
test edx, edx
je 0x6847c600
movzx edx, word [edi + 0xe]
lea eax, [edx + 3]
sar dx, 0xf
sub eax, edx
movzx edx, word [edi + 0xc]
and eax, 0xfffffff8
mov word [edi + 0xe], ax
lea eax, [edx + 3]
sar dx, 0xf
sub eax, edx
and eax, 0xfffffff8
mov word [edi + 0xc], ax
jmp 0x6847b685
mov eax, dword [esp + 0xec]
mov ebx, dword [esi + 0xc]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xbc], ebx
mov ecx, eax
mov dword [esp + 0xc4], eax
movsx eax, byte [edi + 0x19]
mov dword [esp + 0xc0], eax
lea eax, [eax + eax*8]
lea edx, [ecx + eax*4]
xor ecx, ecx
mov eax, dword [edx + 0x590]
cmp eax, 1
sete cl
or dword [esp + 0xa0], ecx
mov ecx, dword [esi + 0x10]
cmp eax, 1
je 0x6847c916
test eax, eax
je 0x6847c639
cmp eax, 2
je 0x6847c803
mov eax, dword [edx + 0x5a0]
mov dword [esp + 0x88], eax
mov eax, dword [edx + 0x5a4]
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0xbc]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xc4]
lea eax, [eax + ebx*2]
lea ebx, [eax + eax - 1]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xbc], ebx
lea eax, [eax + ecx*2]
lea ecx, [eax + eax - 1]
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*8]
lea edx, [edx + eax*4]
mov eax, dword [edx + 0x59c]
sub eax, 0x10000
imul eax, ebx
mov ebx, dword [esp + 0x88]
imul ebx, ecx
add eax, ebx
add eax, dword [edx + 0x594]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0xc0], eax
mov eax, dword [edx + 0x5a8]
imul ebx, dword [esp + 0x80]
sub eax, 0x10000
imul ecx, eax
mov eax, ebx
add eax, ecx
mov ecx, dword [esp + 0xc4]
add eax, dword [edx + 0x598]
mov edx, dword [ecx + 0x1f4]
cmp edx, 1
sbb ebx, ebx
and ebx, 0x1000
add ebx, 0x1000
cmp edx, 1
sbb ecx, ecx
not ecx
add ecx, 0xe
test edx, edx
mov edx, eax
sete byte [esp + 0x88]
sar edx, 0x1f
mov dword [esp + 0xbc], ecx
mov ecx, edx
xor edx, eax
sub edx, ecx
movzx ecx, byte [esp + 0xbc]
add edx, ebx
sar edx, cl
movzx ecx, byte [esp + 0x88]
shl edx, cl
mov ecx, edx
neg edx
test eax, eax
cmovns edx, ecx
mov dword [esp + 0x80], edx
mov eax, edx
mov edx, dword [esp + 0xc0]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
movzx ecx, byte [esp + 0xbc]
add edx, ebx
mov ebx, dword [esp + 0xc0]
sar edx, cl
movzx ecx, byte [esp + 0x88]
shl edx, cl
mov ecx, edx
neg ecx
test ebx, ebx
mov ebx, dword [esp + 0xc4]
cmovs edx, ecx
mov ebx, dword [ebx + 0x128]
mov ecx, edx
test ebx, ebx
je 0x6847beb9
lea ecx, [edx + 3]
sar dx, 0xf
sar ax, 0xf
sub ecx, edx
movzx edx, word [esp + 0x80]
and ecx, 0xfffffff8
add edx, 3
sub edx, eax
mov eax, edx
and eax, 0xfffffff8
mov word [edi + 0xc], ax
mov word [edi + 0xe], cx
jmp 0x6847b685
movzx eax, byte [edi + 0x17]
shl eax, 4
mov eax, dword [esp + eax + 0x1c0]
mov dword [edi + 8], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x128]
test edx, edx
je 0x6847c5c7
movzx edx, word [edi + 0xa]
lea eax, [edx + 3]
sar dx, 0xf
sub eax, edx
movzx edx, word [edi + 8]
and eax, 0xfffffff8
mov word [edi + 0xa], ax
lea eax, [edx + 3]
sar dx, 0xf
sub eax, edx
and eax, 0xfffffff8
mov word [edi + 8], ax
jmp 0x6847b61f
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0xc]
movsx ecx, byte [edi + 0x18]
mov ebx, edx
mov dword [esp + 0xc0], edx
lea edx, [ecx + ecx*8]
lea ebx, [ebx + edx*4]
mov edx, dword [ebx + 0x590]
cmp edx, 1
sete byte [esp + 0xbc]
or al, byte [esp + 0xbc]
movzx eax, al
mov dword [esp + 0xa0], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x88], eax
cmp edx, 1
je 0x6847c8bc
test edx, edx
je 0x6847c6b4
cmp edx, 2
je 0x6847c970
mov eax, dword [ebx + 0x5a0]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x5a4]
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
lea eax, [eax + edx*2]
mov edx, dword [esp + 0xbc]
lea eax, [eax + eax - 1]
mov dword [esp + 0x88], eax
lea eax, [ebx + edx*2]
mov edx, dword [esp + 0xc0]
lea ebx, [eax + eax - 1]
lea eax, [ecx + ecx*8]
lea edx, [edx + eax*4]
mov ecx, dword [edx + 0x59c]
lea eax, [ecx - 0x10000]
mov ecx, dword [esp + 0x80]
imul eax, dword [esp + 0x88]
imul ecx, ebx
add eax, ecx
mov ecx, dword [edx + 0x5a8]
add eax, dword [edx + 0x594]
mov dword [esp + 0xbc], eax
lea eax, [ecx - 0x10000]
imul ebx, eax
mov eax, dword [esp + 0x88]
imul eax, dword [esp + 0x78]
add eax, ebx
mov ebx, dword [esp + 0xc0]
add eax, dword [edx + 0x598]
mov edx, dword [ebx + 0x1f4]
cmp edx, 1
sbb ebx, ebx
and ebx, 0x1000
add ebx, 0x1000
cmp edx, 1
sbb ecx, ecx
not ecx
add ecx, 0xe
test edx, edx
mov edx, eax
sete byte [esp + 0x80]
sar edx, 0x1f
mov dword [esp + 0x88], ecx
mov ecx, edx
xor edx, eax
sub edx, ecx
movzx ecx, byte [esp + 0x88]
add edx, ebx
sar edx, cl
movzx ecx, byte [esp + 0x80]
shl edx, cl
mov ecx, edx
neg edx
test eax, eax
cmovns edx, ecx
mov dword [esp + 0x78], edx
mov eax, edx
mov edx, dword [esp + 0xbc]
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
movzx ecx, byte [esp + 0x88]
add edx, ebx
mov ebx, dword [esp + 0xbc]
sar edx, cl
movzx ecx, byte [esp + 0x80]
shl edx, cl
mov ecx, edx
neg ecx
test ebx, ebx
mov ebx, dword [esp + 0xc0]
cmovs edx, ecx
mov ebx, dword [ebx + 0x128]
mov ecx, edx
test ebx, ebx
je 0x6847c0ff
lea ecx, [edx + 3]
sar dx, 0xf
sar ax, 0xf
sub ecx, edx
movzx edx, word [esp + 0x78]
and ecx, 0xfffffff8
add edx, 3
sub edx, eax
mov eax, edx
and eax, 0xfffffff8
mov word [edi + 8], ax
mov word [edi + 0xa], cx
jmp 0x6847b61f
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847b239
mov eax, dword [esp + 0xe8]
movsx eax, byte [esi + eax + 0x138]
cmp al, 3
jg 0x6847c13c
add dword [esp + eax*4 + 0x1c0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847b239
mov eax, dword [esp + 0xe8]
movsx eax, byte [esi + eax + 0x158]
cmp al, 3
jg 0x6847b239
add dword [esp + eax*4 + 0x1c0], 1
jmp 0x6847b239
mov dword [esp + 0x1c0], 0
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c4], 0
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x6847c1da
xor edx, edx
cmp byte [eax + ecx + 0x120], 3
setg dl
mov dword [esp + edx*4 + 0x1c0], 1
cmp byte [eax + ecx + 0x100], 0
je 0x6847c1da
cmp byte [eax + ecx + 0x140], 3
setg al
movzx eax, al
add dword [esp + eax*4 + 0x1c0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x6847b9b2
mov ebx, dword [esp + 0xe8]
cmp byte [esi + ebx + 0xf8], 0
jne 0x6847b9b2
xor eax, eax
cmp byte [esi + ebx + 0x138], 3
setg al
add dword [esp + eax*4 + 0x1c0], 1
cmp byte [esi + ebx + 0x118], 0
je 0x6847b9b2
xor eax, eax
cmp byte [esi + ebx + 0x158], 3
setg al
add dword [esp + eax*4 + 0x1c0], 1
jmp 0x6847b9b2
mov ecx, dword [esp + 0xbc]
cmp dword [esp + 0x74], ecx
jge 0x6847c1da
jmp 0x6847c191
mov ebx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xe8]
movzx eax, byte [edx + ebx + 0x100]
movzx ecx, byte [esi + ecx + 0x118]
movsx ebx, byte [edx + ebx + 0x120]
mov byte [esp + 0xc0], cl
mov dword [esp + 0xa0], ebx
mov ecx, ebx
mov ebx, dword [esp + 0xe8]
movsx ebx, byte [esi + ebx + 0x138]
mov byte [esp + 0x70], bl
mov dword [esp + 0x80], ebx
movzx ebx, byte [esp + 0xc0]
or bl, al
je 0x6847c78a
test al, al
je 0x6847c71f
cmp byte [esp + 0xc0], 0
je 0x6847c71f
mov eax, dword [esp + 0xd4]
cmp cl, 3
setg cl
cmp byte [edx + eax + 0x140], 3
mov eax, dword [esp + 0xe8]
setle dl
cmp byte [esp + 0x70], 3
setg bl
cmp byte [esi + eax + 0x158], 3
setle byte [esp + 0xc4]
cmp cl, dl
jne 0x6847c313
mov eax, 0x1618
cmp bl, byte [esp + 0xc4]
je 0x6847b17b
cmp cl, dl
je 0x6847cbfc
cmp bl, byte [esp + 0xc4]
je 0x6847cbfc
cmp dword [esp + 0xa0], 4
setne al
cmp dword [esp + 0x80], 4
sete dl
xor eax, edx
movzx eax, al
add eax, 0x589
shl eax, 2
jmp 0x6847b17b
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x1c8], 0
cmp dword [esp + 0x74], ebx
jge 0x6847c3d2
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0xe0], 0
jne 0x6847c3d2
movsx edx, byte [eax + ecx + 0x120]
cmp dl, 3
jle 0x6847c3ad
mov dword [esp + edx*4 + 0x1b0], 1
mov edx, dword [esp + 0xd4]
cmp byte [eax + edx + 0x100], 0
je 0x6847c3d2
movsx eax, byte [eax + edx + 0x140]
cmp al, 3
jle 0x6847c3d2
add dword [esp + eax*4 + 0x1b0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x6847c429
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847c429
movsx eax, byte [esi + eax + 0x138]
cmp al, 3
jle 0x6847c404
add dword [esp + eax*4 + 0x1b0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847c429
movsx eax, byte [esi + eax + 0x158]
cmp al, 3
jle 0x6847c429
add dword [esp + eax*4 + 0x1b0], 1
mov eax, 0x16fc
mov ecx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], ecx
je 0x6847c44b
setge al
movzx eax, al
lea eax, [eax*8 + 0x16f8]
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
lea edx, [eax + 4]
lea ecx, [eax + 5]
mov byte [edi + 0x19], dl
movzx edx, byte [edi + 0x18]
add edx, 1
jmp 0x6847b4e8
mov eax, dword [esi + 0x288]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x1c8], 0
cmp dword [esp + 0x74], ebx
jge 0x6847c503
mov ebx, dword [esp + 0xd4]
cmp byte [eax + ebx + 0xe0], 0
jne 0x6847c503
movsx edx, byte [eax + ebx + 0x120]
sub edx, 1
cmp edx, 2
ja 0x6847c4da
mov dword [esp + edx*4 + 0x1c0], 1
mov ecx, dword [esp + 0xd4]
cmp byte [eax + ecx + 0x100], 0
je 0x6847c503
movsx eax, byte [eax + ecx + 0x140]
sub eax, 1
cmp eax, 2
ja 0x6847c503
add dword [esp + eax*4 + 0x1c0], 1
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x6847c562
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847c562
movsx eax, byte [esi + eax + 0x138]
sub eax, 1
cmp eax, 2
ja 0x6847c539
add dword [esp + eax*4 + 0x1c0], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847c562
movsx eax, byte [esi + eax + 0x158]
sub eax, 1
cmp eax, 2
ja 0x6847c562
add dword [esp + eax*4 + 0x1c0], 1
mov edx, dword [esp + 0x1c8]
mov eax, 0x1714
add edx, dword [esp + 0x1c4]
cmp edx, dword [esp + 0x1c0]
je 0x6847c58b
setle al
movzx eax, al
lea eax, [eax*8 + 0x1710]
add eax, dword [esp + 0xd0]
mov byte [edi + 0x18], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
lea edx, [eax + 1]
mov byte [edi + 0x19], dl
cmp dl, 2
je 0x6847ca23
movzx ebx, byte [edi + 0x18]
lea ecx, [eax + 2]
lea edx, [ebx + 1]
jmp 0x6847b4e8
mov eax, dword [eax + 0x1f4]
test eax, eax
jne 0x6847b61f
movzx eax, word [edi + 0xa]
mov edx, eax
sar dx, 0xf
sub eax, edx
and eax, 0xfffffffe
mov word [edi + 0xa], ax
movzx eax, word [edi + 8]
mov edx, eax
sar dx, 0xf
sub eax, edx
and eax, 0xfffffffe
mov word [edi + 8], ax
jmp 0x6847b61f
mov eax, dword [eax + 0x1f4]
test eax, eax
jne 0x6847b685
movzx eax, word [edi + 0xe]
mov edx, eax
sar dx, 0xf
sub eax, edx
and eax, 0xfffffffe
mov word [edi + 0xe], ax
movzx eax, word [edi + 0xc]
mov edx, eax
sar dx, 0xf
sub eax, edx
and eax, 0xfffffffe
mov word [edi + 0xc], ax
jmp 0x6847b685
xor ecx, ecx
xor eax, eax
jmp 0x6847beb9
mov eax, dword [esp + 0xd8]
movzx ebx, byte [eax + 0x684f9704]
mov eax, dword [esp + 0xd0]
lea eax, [eax + ebx*4 + 0x165c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
mov edx, 4
sub edx, eax
mov byte [edi + 0x14], dl
cmp dl, 4
jne 0x6847bc52
lea eax, [ebx + 0x1e]
mov dword [esp + 8], 0xf
shl eax, 5
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401720
mov byte [edi + 0x10], al
jmp 0x6847bc52
xor ecx, ecx
xor eax, eax
jmp 0x6847c0ff
mov eax, 0x1608
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0x78], edx
jge 0x6847b083
mov ebx, dword [esp + 0xe8]
mov eax, 0x1610
cmp byte [esi + ebx + 0x118], 0
jne 0x6847b083
xor eax, eax
cmp byte [esi + ebx + 0x138], 3
setg al
add eax, 0x581
shl eax, 2
jmp 0x6847b083
cmp eax, 0x27f
setle al
movzx eax, al
add eax, 0x57a
shl eax, 2
jmp 0x6847b8e7
movzx ebx, byte [esp + 0x70]
test al, al
cmove edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xd4]
cmove eax, dword [esp + 0xe8]
cmovne ebx, ecx
mov ecx, ebx
mov ebx, edx
cmp cl, 3
setle dl
cmp byte [ebx + eax + 0x140], 3
mov eax, 0x161c
setle cl
cmp dl, cl
jne 0x6847b17b
cmp dword [esp + 0xa0], 3
setle al
cmp dword [esp + 0x80], 3
setg dl
xor eax, edx
movzx eax, al
add eax, 0x589
shl eax, 2
jmp 0x6847b17b
cmp dword [esp + 0xa0], 3
setle al
cmp dword [esp + 0x80], 3
setg dl
jmp 0x6847b16b
cmp dword [esp + 0x120], 3
jle 0x6847b8a7
cmp dword [esp + 0x1e8], 0x27f
mov eax, dword [esp + 0x1f8]
jg 0x6847cbec
cmp eax, 0x280
setl al
movzx eax, al
add eax, eax
mov edx, dword [esp + 0xd0]
lea eax, [edx + eax*4 + 0x15e8]
jmp 0x6847b94c
cmp eax, 0x27f
setle al
movzx eax, al
add eax, 0x57a
shl eax, 2
jmp 0x6847b85f
mov eax, dword [edx + 0x59c]
cmp dword [edx + 0x5a8], eax
je 0x6847c83b
mov dword [esp + 8], 0x1e6
mov dword [esp + 4], 0x684e78b2
mov dword [esp], 0x684e78cc
mov dword [esp + 0x88], ecx
call fcn.684d2880
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
lea eax, [eax + eax*8]
lea eax, [ebx + eax*4]
mov ebx, dword [eax + 0x5a0]
mov dword [esp + 0x74], eax
mov dword [esp + 0x88], ebx
neg ebx
cmp dword [eax + 0x5a4], ebx
mov dword [esp + 0x80], ebx
je 0x6847bd56
mov dword [esp + 8], 0x1e7
mov dword [esp + 4], 0x684e78b2
mov dword [esp], 0x684e7910
mov dword [esp + 0x78], ecx
call fcn.684d2880
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebx, dword [eax + 0x5a0]
mov eax, dword [eax + 0x5a4]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x80], eax
jmp 0x6847bd56
mov eax, dword [ebx + 0x594]
mov edx, dword [ebx + 0x598]
mov ebx, dword [esp + 0xc0]
sar eax, 0xd
sar edx, 0xd
mov ebx, dword [ebx + 0x128]
mov dword [esp + 0xbc], eax
mov ecx, edx
test ebx, ebx
je 0x6847c0ff
lea eax, [edx + 3]
mov ebx, dword [esp + 0xbc]
sar dx, 0xf
sub eax, edx
mov ecx, eax
mov edx, ebx
mov eax, ebx
add eax, 3
sar dx, 0xf
and ecx, 0xfffffff8
sub eax, edx
and eax, 0xfffffff8
jmp 0x6847c0ff
mov ebx, dword [edx + 0x594]
mov edx, dword [edx + 0x598]
sar edx, 0xd
sar ebx, 0xd
mov dword [esp + 0xc0], edx
mov ecx, edx
mov edx, dword [esp + 0xc4]
mov eax, ebx
mov edx, dword [edx + 0x128]
test edx, edx
je 0x6847beb9
mov edx, dword [esp + 0xc0]
mov eax, edx
sar dx, 0xf
add eax, 3
sub eax, edx
and eax, 0xfffffff8
mov ecx, eax
lea eax, [ebx + 3]
sar bx, 0xf
sub eax, ebx
and eax, 0xfffffff8
jmp 0x6847beb9
mov eax, dword [ebx + 0x59c]
cmp dword [ebx + 0x5a8], eax
je 0x6847c9a8
mov dword [esp + 8], 0x1e6
mov dword [esp + 4], 0x684e78b2
mov dword [esp], 0x684e78cc
mov dword [esp + 0x80], ecx
call fcn.684d2880
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0xc0]
lea eax, [ecx + ecx*8]
lea ebx, [ebx + eax*4]
mov eax, dword [ebx + 0x5a0]
mov dword [esp + 0x80], eax
neg eax
mov dword [esp + 0x78], eax
cmp dword [ebx + 0x5a4], eax
je 0x6847bfa0
mov dword [esp + 8], 0x1e7
mov dword [esp + 4], 0x684e78b2
mov dword [esp], 0x684e7910
mov dword [esp + 0x74], ecx
call fcn.684d2880
mov eax, dword [ebx + 0x5a0]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x5a4]
mov dword [esp + 0x78], eax
jmp 0x6847bfa0
mov eax, dword [esp + 0xec]
mov ebx, dword [eax + 0xc]
jmp 0x684711cc
mov ecx, dword [esi + 0x288]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
cmp dword [esp + 0x74], ebx
jge 0x6847caa5
mov eax, dword [esp + 0xd4]
cmp byte [ecx + eax + 0xe0], 0
jne 0x6847caa5
movsx eax, byte [ecx + eax + 0x120]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847ca7a
mov dword [esp + eax*4 + 0x1b8], 1
mov eax, dword [esp + 0xd4]
cmp byte [ecx + eax + 0x100], 0
je 0x6847caa5
movsx eax, byte [ecx + eax + 0x140]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847caa5
add dword [esp + eax*4 + 0x1b8], 1
mov ebx, dword [esp + 0xc8]
cmp dword [esp + 0x78], ebx
jge 0x6847cb08
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0xf8], 0
jne 0x6847cb08
movsx eax, byte [esi + eax + 0x138]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847cadd
add dword [esp + eax*4 + 0x1b8], 1
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x118], 0
je 0x6847cb08
movsx eax, byte [esi + eax + 0x158]
mov edx, eax
xor edx, 2
cmp dl, 1
ja 0x6847cb08
add dword [esp + eax*4 + 0x1b8], 1
mov eax, 1
mov ebx, dword [esp + 0x1c4]
cmp dword [esp + 0x1c0], ebx
je 0x6847cb25
setge al
movzx eax, al
add eax, eax
mov ebx, dword [esp + 0xd0]
lea eax, [ebx + eax*4 + 0x171c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.68401850
movzx ecx, byte [edi + 0x19]
add ecx, eax
movzx eax, byte [edi + 0x18]
mov byte [edi + 0x19], cl
add ecx, 1
lea edx, [eax + 1]
jmp 0x6847b4e8
mov eax, dword [esp + 0xd4]
movzx edx, byte [ebx + eax + 0x120]
test cl, cl
je 0x6847cbb2
cmp dl, 4
sbb eax, eax
and eax, 0xfffffffc
add eax, 0x1610
jmp 0x6847b083
mov eax, 0x1610
test dl, dl
jne 0x6847b083
mov eax, dword [esp + 0xd4]
cmp byte [ebx + eax + 0x120], 3
setg al
movzx eax, al
add eax, 0x581
shl eax, 2
jmp 0x6847b083
mov eax, dword [esp + 0xe8]
cmp byte [esi + eax + 0x138], 3
setg al
cmp dl, 3
setg dl
xor eax, edx
movzx eax, al
add eax, 0x581
shl eax, 2
jmp 0x6847b083
cmp eax, 0x27f
setle al
movzx eax, al
jmp 0x6847b93e
cmp eax, 0x27f
setle al
movzx eax, al
jmp 0x6847c7d8
mov eax, 0x1620
jmp 0x6847b17b
mov byte [edi + 4], al
mov eax, edx
mov dword [esp + 0xb4], 0
shl eax, 5
add eax, 0x370
jmp 0x68471df9
cmp eax, 0x27f
setle al
movzx eax, al
jmp 0x6847aeb0
mov edx, ecx
jmp 0x68477c17
cmp dword [esp + 0xa0], 0
jne 0x68471e29
jmp 0x6846f582
mov dword [esp + 0xc4], 1
lea ebx, [esp + 0x1c0]
jmp 0x6847acf3