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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xdc
mov ebp, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
imul ebx, dword [ebp + 0x6de7c]
mov eax, dword [ebp + 0xbd8]
mov edx, dword [ebp + 0x13e8]
mov ecx, dword [ebp + 0x2afb0]
add ebx, esi
mov esi, dword [ebp + 0x6de90]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x8c], eax
and eax, 0x80
cmp eax, 1
mov eax, dword [ebp + 0x187c]
sbb edi, edi
xor ebx, ebx
and edi, 2
add edi, 2
test edx, edx
mov dword [esp + 0x7c], edi
mov edi, dword [ebp + 0x6de94]
lea eax, [eax + eax*2]
setne bl
add esi, 0x34
lea eax, [eax + eax - 0x30]
sub esi, eax
add edi, 0x34
sub edi, eax
test ecx, ecx
mov eax, dword [ebp + 0xef8]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
je 0x6c364f43
mov ecx, dword [esp + 0x8c]
mov esi, eax
xor ecx, eax
and ecx, 0x80
jne 0x6c3662c8
test eax, eax
setne cl
mov esi, dword [esp + 0x8c]
xor ebx, ebx
cmp edx, 3
sete bl
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], 4
sar esi, 3
and esi, 7
movzx edi, byte [esi + 0x6c57cee0]
mov dword [esp + 0x90], esi
cmp edi, 3
mov dword [esp + 0x70], edi
je 0x6c366bba
mov esi, dword [esp + 0x8c]
and esi, 0x28
test cl, cl
mov dword [esp + 0x88], esi
je 0x6c3650f0
mov edx, dword [esp + 0x8c]
mov ecx, dword [ebp + 0x2afb0]
or edx, eax
test dl, 7
je 0x6c3661da
and edx, 0x80
jne 0x6c366c77
mov ebx, 4
mov word [esp + 0x44], 4
mov ecx, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov edi, dword [ebp + 0xbc0]
mov esi, dword [esp + 0x74]
mov edx, dword [ebp + 0xe84]
movsx eax, byte [edi + esi - 1]
mov dword [esp + 0x5c], edx
mov esi, dword [ebp + 0xe88]
movzx edx, byte [ebp + eax + 0x1ab4]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x74]
mov byte [esp + 0x58], dl
movzx edx, byte [ebp + eax + 0x1b0c]
mov byte [esp + 0x6c], dl
movsx edx, byte [edi + esi]
mov esi, dword [esp + 0x64]
lea eax, [eax + edx + 1]
mov edx, dword [esp + 0x60]
sar eax, 1
add edx, eax
movzx eax, byte [eax + esi + 0x6c57cba0]
movzx edi, byte [edx + 0x6c57cb00]
test eax, eax
mov dword [esp + 0x84], eax
je 0x6c3650dd
test edi, edi
je 0x6c3650dd
cmp word [esp + 0x44], 3
jg 0x6c367729
movzx eax, byte [ebx + edx*4 + 0x6c57cc40]
lea esi, [esp + 0xc0]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x108]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xfc]
mov dword [esp + 0x38], ecx
mov byte [esp + 0xc0], al
mov eax, dword [esp + 0x54]
mov dword [esp + 4], esi
mov dword [esp], edi
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc1], al
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
movzx edx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc2], al
mov byte [esp + 0xc3], dl
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc], edx
call dword [ebp + 0x30]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x6c366c9d
lea esi, [esi]
cmp dword [esp + 0x48], 1
je 0x6c365530
mov ebx, dword [esp + 0x8c]
mov edi, 1
mov esi, dword [esp + 0x8c]
and ebx, 0x1000000
and esi, 7
mov dword [esp + 0x54], ebx
lea ebx, [ebp + 0x1055]
mov dword [esp + 0x68], esi
mov esi, ebx
jmp 0x6c365233
mov dword [esp + 0xc0], 0x30003
mov eax, 3
mov dword [esp + 0xc4], 0x30003
mov dword [esp + 0x44], 3
mov dword [esp + 0x5c], 3
mov dword [esp + 0x50], 3
mov edx, dword [ebp + 0xbc0]
mov ecx, dword [esp + 0x74]
movsx ebx, byte [edx + ecx]
lea edx, [edi*4]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x60]
mov ecx, dword [ebp + 0xe80]
add edx, ebx
mov dword [esp + 0x6c], ecx
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x64]
movzx ebx, byte [ebx + ecx + 0x6c57cba0]
test ebx, ebx
jne 0x6c365370
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6c365223
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x6c365410
mov ecx, dword [ebp + 0xe80]
mov ebx, dword [esp + 0x58]
mov edx, dword [ebp + 0xe84]
mov eax, dword [esp + 0x60]
shl ebx, cl
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], ebx
add eax, edx
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [ecx + edx + 0x6c57cba0]
test edx, edx
jne 0x6c365a80
mov edx, dword [ebp + 0xe88]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
add eax, edx
movzx edx, byte [ebx + edx + 0x6c57cba0]
movzx ecx, byte [eax + 0x6c57cb00]
test edx, edx
jne 0x6c365b28
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x48]
je 0x6c365530
mov eax, edi
shl eax, 0x18
test dword [esp + 0x54], eax
jne 0x6c365223
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x6c365130
test dword [esp + 0x70], edi
je 0x6c3652b2
lea eax, [edi + 0xb]
lea ebx, [edi + 0xc]
mov edx, eax
mov dword [esp + 0x44], eax
pxor mm0, mm0
movq qword [esp + 0xc0], mm0
movzx eax, byte [ebp + edx + 0x1030]
or al, byte [ebp + ebx + 0x1030]
jne 0x6c369deb
movzx eax, byte [esi - 0x11]
or al, byte [esi - 0x10]
jne 0x6c369e26
movsx ebx, word [esp + 0xc2]
mov dword [esp + 0x5c], ebx
movsx ebx, word [esp + 0xc0]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], ebx
add eax, ebx
mov ebx, 1
mov dword [esp + 0x58], eax
jmp 0x6c36531f
mov ebx, dword [esp + 0x88]
test ebx, ebx
jne 0x6c3659a3
movzx eax, byte [esi - 0x19]
lea edx, [edi + 0xc]
or al, byte [esi - 0x18]
lea ecx, [edi + 0xb]
jne 0x6c369bdc
mov ebx, dword [esp + 0x7c]
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
lea edx, [edi + 0x14]
lea ecx, [edi + 0x13]
movsx ebx, ax
mov word [esp + 0xc0], ax
movzx eax, byte [esi - 0x10]
or al, byte [esi - 0x11]
mov dword [esp + 0x50], ebx
je 0x6c3659f0
add ebx, 2
mov dword [esp + 0x58], ebx
xor ebx, ebx
mov word [esp + 0xc2], 2
mov dword [esp + 0x5c], 2
movzx eax, byte [esi - 9]
lea edx, [edi + 0x1c]
or al, byte [esi - 8]
lea ecx, [edi + 0x1b]
jne 0x6c365958
test ebx, ebx
je 0x6c365a2a
movzx eax, byte [esi - 1]
or al, byte [esi]
je 0x6c369d88
movsx ebx, word [esp + 0xc4]
mov dword [esp + 0x44], ebx
mov word [esp + 0xc6], 2
mov eax, 2
mov edx, dword [esp + 0x44]
jmp 0x6c365990
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x6c3651ae
mov ecx, dword [esp + 0x50]
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x108]
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov byte [esp + 0xbc], cl
mov ecx, dword [esp + 0x5c]
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
mov ecx, dword [esp + 0x44]
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x84]
mov byte [esp + 0xbe], cl
movzx ecx, byte [esp + 0x6c]
mov dword [esp + 8], edx
shl eax, cl
mov ecx, dword [esp + 0xfc]
add ecx, eax
mov dword [esp], ecx
call dword [ebp + 0x30]
jmp 0x6c3651ae
test edi, 1
jne 0x6c365223
mov ecx, dword [ebp + 0xe80]
lea ebx, [edi + edi]
mov eax, ebx
mov edx, dword [ebp + 0xe84]
shl eax, cl
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
add eax, edx
movzx ecx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + edx + 0x6c57cba0]
test edx, edx
jne 0x6c365bc0
mov edx, dword [ebp + 0xe88]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
add eax, edx
movzx edx, byte [ebx + edx + 0x6c57cba0]
movzx ecx, byte [eax + 0x6c57cb00]
test edx, edx
je 0x6c365223
test ecx, ecx
je 0x6c365223
movsx ebx, word [esp + 0xc0]
add edi, 1
add esi, 1
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbc], bl
movsx ebx, word [esp + 0xc2]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbd], bl
movsx ebx, word [esp + 0xc4]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbe], bl
movsx ebx, word [esp + 0xc6]
movzx eax, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x10c]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
add eax, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebp + 0x48]
cmp edi, dword [esp + 0x48]
jne 0x6c365233
nop
mov edi, dword [esp + 0x90]
xor ebx, ebx
mov eax, dword [ebp + 0x13e8]
mov esi, dword [ebp + 0xedc]
movzx edi, byte [edi + 0x6c57cee8]
cmp eax, 3
sete bl
mov dword [esp + 0xa8], ebx
xor ebx, ebx
cmp eax, 2
sete bl
cmp edi, 3
mov eax, dword [ebp + 0xef0]
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa0], edi
je 0x6c366b9a
mov dword [esp + 0x80], 4
mov ebx, dword [esp + 0x8c]
and ebx, 0x18
test eax, eax
mov dword [esp + 0xa4], ebx
je 0x6c3656b0
mov edi, dword [ebp + 0x2afb0]
test edi, edi
je 0x6c366e8a
test byte [esp + 0xf8], 1
jne 0x6c3655d3
mov edx, dword [esp + 0x8c]
mov ecx, eax
and ecx, 0x80
not edx
test ecx, edx
jne 0x6c3673de
mov edx, dword [esp + 0x8c]
or edx, eax
test dl, 7
jne 0x6c366e9c
mov edx, dword [esp + 0x8c]
xor edx, eax
and edx, 0x80
je 0x6c367286
mov dword [esp + 0x48], 0x10001
mov dword [esp + 0x4c], 0x10001
movzx eax, byte [ebp + 0x1034]
or al, byte [ebp + 0x103c]
je 0x6c365620
mov word [esp + 0x48], 2
movzx eax, byte [ebp + 0x1035]
or al, byte [ebp + 0x103d]
je 0x6c365641
mov eax, dword [esp + 0x48]
and eax, 0xffff
or eax, 0x20000
mov dword [esp + 0x48], eax
movzx eax, byte [ebp + 0x1036]
or al, byte [ebp + 0x103e]
je 0x6c365657
mov word [esp + 0x4c], 2
movzx eax, byte [ebp + 0x1037]
or al, byte [ebp + 0x103f]
je 0x6c365678
mov eax, dword [esp + 0x4c]
and eax, 0xffff
or eax, 0x20000
mov dword [esp + 0x4c], eax
movzx ecx, word [esp + 0x48]
mov edi, dword [esp + 0x48]
movsx ebx, word [esp + 0x4c]
mov edx, dword [esp + 0x4c]
movsx eax, cx
sar edi, 0x10
mov dword [esp + 0x54], eax
add eax, edi
sar edx, 0x10
add eax, ebx
add eax, edx
test eax, eax
mov dword [esp + 0x48], edx
jne 0x6c366ec0
lea esi, [esi]
cmp dword [esp + 0x80], 1
je 0x6c366025
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
and esi, 0x1000000
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x10c]
and edi, 7
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x10c]
shl ebx, 2
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x6c], ebp
shl esi, 2
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0xfc]
add edi, edi
mov dword [esp + 0x88], edi
mov edi, ebp
add eax, dword [esp + 0x88]
mov dword [esp + 0x68], 0
add esi, ebx
mov ebx, 1
mov dword [esp + 0x54], esi
mov ebp, ebx
mov dword [esp + 0x44], esi
xor esi, esi
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0xac], eax
jmp 0x6c36589d
mov dword [esp + 0xc0], 0x30003
mov eax, 3
mov ebx, 3
mov dword [esp + 0xc4], 0x30003
mov dword [esp + 0x84], 3
mov dword [esp + 0x94], 3
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
mov edx, dword [edx + 0xbc0]
movzx ecx, byte [edx + ecx]
mov edx, dword [esp + 0x98]
mov byte [esp + 0x9c], cl
test edx, edx
je 0x6c365c78
mov edx, dword [esp + 0x70]
test edx, edx
je 0x6c365806
movsx edx, cl
mov dword [esp + 0x9c], edx
add edx, dword [esp + 0x60]
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + edx + 0x6c57cba0]
test edx, edx
mov dword [esp + 0x9c], edx
jne 0x6c366afc
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x6c365864
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov edx, dword [ebx + 0xe84]
mov ebx, dword [esp + 0x64]
add eax, edx
movzx edx, byte [edx + ebx + 0x6c57cba0]
movzx ecx, byte [eax + 0x6c57cb00]
test edx, edx
jne 0x6c366a50
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov edx, dword [ebx + 0xe88]
mov ebx, dword [esp + 0x64]
add eax, edx
movzx edx, byte [ebx + edx + 0x6c57cba0]
movzx ecx, byte [eax + 0x6c57cb00]
test edx, edx
jne 0x6c3669a4
mov ebx, dword [esp + 0x48]
add ebp, 1
add esi, 8
add dword [esp + 0x50], ebx
add edi, 8
add dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x88]
add dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x5c]
add dword [esp + 0x44], ebx
add dword [esp + 0x54], ebx
cmp ebp, dword [esp + 0x80]
je 0x6c366025
mov eax, ebp
xor ebx, ebx
shl eax, 0x18
test dword [esp + 0x90], eax
sete bl
mov dword [esp + 0x70], ebx
je 0x6c3658bf
mov eax, dword [esp + 0x98]
test eax, eax
je 0x6c365864
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x6c365761
test dword [esp + 0xa0], ebp
je 0x6c365dd0
lea eax, [esi + 0x14]
lea ebx, [esi + 0xc]
mov ecx, eax
mov dword [esp + 0x84], eax
pxor mm0, mm0
movq qword [esp + 0xc0], mm0
mov edx, dword [esp + 0x6c]
movzx eax, byte [edx + ecx + 0x1030]
or al, byte [edx + ebx + 0x1030]
je 0x6c369c77
movzx eax, byte [edi + 0x103d]
or al, byte [edi + 0x1045]
mov word [esp + 0xc0], 2
je 0x6c369da3
mov dword [esp + 0x9c], 4
mov dword [esp + 0x94], 2
mov dword [esp + 0x30], 1
jmp 0x6c365e45
add eax, ebx
xor ebx, ebx
mov dword [esp + 0x58], eax
mov word [esp + 0xc4], 2
mov dword [esp + 0x44], 2
movzx eax, byte [esi - 1]
lea edx, [edi + 0x24]
or al, byte [esi]
lea ecx, [edi + 0x23]
jne 0x6c365352
test ebx, ebx
je 0x6c365a59
movsx eax, word [esp + 0xc6]
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x58]
add edx, eax
test edx, edx
je 0x6c365223
jmp 0x6c365163
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0xb]
mov eax, ebp
lea ebx, [edi + 0xc]
mov dword [esp + 0x44], edx
mov dword [esp], ecx
mov ecx, edx
mov edx, ebx
call fcn.6c364cb0
mov edx, dword [esp + 0x44]
mov word [esp + 0xc6], ax
mov word [esp + 0xc4], ax
mov word [esp + 0xc2], ax
mov word [esp + 0xc0], ax
jmp 0x6c365267
mov dword [esp + 0x50], 2
mov ebx, dword [esp + 0x7c]
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
lea edx, [edi + 0x1c]
lea ecx, [edi + 0x1b]
movsx ebx, ax
mov word [esp + 0xc2], ax
movzx eax, byte [esi - 8]
or al, byte [esi - 9]
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x50]
jne 0x6c365950
add eax, ebx
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x7c]
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
lea edx, [edi + 0x24]
lea ecx, [edi + 0x23]
movsx ebx, ax
mov word [esp + 0xc4], ax
movzx eax, byte [esi]
or al, byte [esi - 1]
mov dword [esp + 0x44], ebx
jne 0x6c365352
mov ebx, dword [esp + 0x7c]
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov edx, dword [esp + 0x44]
mov word [esp + 0xc6], ax
cwde
jmp 0x6c365990
test ebx, ebx
je 0x6c3651fc
movsx ecx, word [esp + 0xc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x44]
mov dword [esp], eax
call dword [ebp + 0x30]
mov ecx, dword [ebp + 0xe80]
mov eax, dword [esp + 0x58]
shl eax, cl
mov dword [esp + 0x44], eax
jmp 0x6c3651fc
test ecx, ecx
je 0x6c365223
movsx ebx, word [esp + 0xc0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbc], bl
movsx ebx, word [esp + 0xc2]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], bl
movsx ebx, word [esp + 0xc4]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], bl
movsx ebx, word [esp + 0xc6]
movzx eax, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x10c]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
add eax, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebp + 0x30]
jmp 0x6c365223
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x6c365458
movsx ecx, word [esp + 0xc0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x50]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], edx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x10c]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [ebp + 0x48]
mov ecx, dword [ebp + 0xe80]
shl ebx, cl
mov dword [esp + 0x44], ebx
jmp 0x6c365458
movsx edx, byte [esp + 0x9c]
mov dword [esp + 0x9c], edx
add edx, dword [esp + 0x60]
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x9c]
movzx edx, byte [ecx + edx + 0x6c57cba0]
test edx, edx
mov dword [esp + 0x9c], edx
jne 0x6c366030
mov edx, dword [esp + 0x78]
test edx, edx
je 0x6c365864
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x6c3660d0
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [ebx + 0xe84]
add eax, edx
movzx edx, byte [ecx + edx + 0x6c57cba0]
movzx ebx, byte [eax + 0x6c57cb00]
test edx, edx
jne 0x6c366bd7
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [ebx + 0xe88]
add eax, edx
movzx edx, byte [ecx + edx + 0x6c57cba0]
movzx ebx, byte [eax + 0x6c57cb00]
test edx, edx
je 0x6c365864
test ebx, ebx
je 0x6c365864
movsx ecx, word [esp + 0xc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x58]
mov dword [esp], eax
call dword [ebx + 0x2c]
jmp 0x6c365864
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x6c365fd3
movzx eax, byte [edi + 0x1044]
lea edx, [esi + 0x14]
or al, byte [edi + 0x103c]
lea ecx, [esi + 0xc]
jne 0x6c365f08
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov dword [esp], ebx
call fcn.6c364cb0
lea edx, [esi + 0x15]
lea ecx, [esi + 0xd]
movsx ebx, ax
mov word [esp + 0xc0], ax
movzx eax, byte [edi + 0x1045]
or al, byte [edi + 0x103d]
mov dword [esp + 0x94], ebx
je 0x6c365f36
add ebx, 2
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x30], 0
mov word [esp + 0xc2], 2
mov dword [esp + 0x84], 2
movzx ebx, byte [edi + 0x103e]
lea edx, [esi + 0x16]
or bl, byte [edi + 0x1046]
lea ecx, [esi + 0xe]
jne 0x6c365eb8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6c365f81
movzx eax, byte [edi + 0x1047]
or al, byte [edi + 0x103f]
je 0x6c369bc7
movsx ebx, word [esp + 0xc4]
mov word [esp + 0xc6], 2
mov eax, 2
jmp 0x6c365ef0
add eax, ebx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x30], 0
mov word [esp + 0xc4], 2
mov ebx, 2
movzx eax, byte [edi + 0x103f]
lea edx, [esi + 0x17]
or al, byte [edi + 0x1047]
lea ecx, [esi + 0xf]
jne 0x6c365e96
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6c365fb5
movsx eax, word [esp + 0xc6]
mov edx, dword [esp + 0x9c]
add edx, ebx
add edx, eax
test edx, edx
je 0x6c365864
jmp 0x6c365797
movzx eax, byte [edi + 0x103d]
lea edx, [esi + 0x15]
or al, byte [edi + 0x1045]
mov word [esp + 0xc0], 2
lea ecx, [esi + 0xd]
jne 0x6c369cc1
mov dword [esp + 0x94], 2
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov dword [esp], ebx
call fcn.6c364cb0
lea edx, [esi + 0x16]
lea ecx, [esi + 0xe]
movsx ebx, ax
mov word [esp + 0xc2], ax
movzx eax, byte [edi + 0x1046]
or al, byte [edi + 0x103e]
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x94]
jne 0x6c365ea7
add eax, ebx
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov dword [esp], ebx
call fcn.6c364cb0
lea edx, [esi + 0x17]
lea ecx, [esi + 0xf]
movsx ebx, ax
mov word [esp + 0xc4], ax
movzx eax, byte [edi + 0x1047]
or al, byte [edi + 0x103f]
jne 0x6c365e96
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
call fcn.6c364cb0
mov word [esp + 0xc6], ax
cwde
jmp 0x6c365ef0
mov eax, dword [esp + 0x7c]
lea ebx, [esi + 0x14]
mov dword [esp + 0x84], ebx
mov edx, dword [esp + 0x84]
lea ebx, [esi + 0xc]
mov ecx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
call fcn.6c364cb0
mov ecx, dword [esp + 0x84]
mov word [esp + 0xc6], ax
mov word [esp + 0xc4], ax
mov word [esp + 0xc2], ax
mov word [esp + 0xc0], ax
jmp 0x6c3658f5
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x6c365cbc
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x30]
movzx ecx, byte [edx + ecx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x84]
mov byte [esp + 0xbc], cl
mov ecx, dword [esp + 0x30]
movzx ecx, byte [edx + ecx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x70]
mov byte [esp + 0xbd], cl
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], edx
movzx ebx, byte [ebx + ecx*4 + 0x6c57cc40]
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov byte [esp + 0xbe], bl
lea ebx, [esp + 0xbc]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x108]
mov byte [esp + 0xbf], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x6c]
call dword [ebx + 0x2c]
jmp 0x6c365cbc
test ebp, 1
jne 0x6c365864
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [ebx + 0xe84]
add eax, edx
movzx edx, byte [ecx + edx + 0x6c57cba0]
movzx ebx, byte [eax + 0x6c57cb00]
test edx, edx
jne 0x6c3671d7
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [ebx + 0xe88]
add eax, edx
movzx edx, byte [ecx + edx + 0x6c57cba0]
movzx ebx, byte [eax + 0x6c57cb00]
test edx, edx
je 0x6c365864
test ebx, ebx
je 0x6c365864
movsx ecx, word [esp + 0xc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
add eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [ebx + 0x44]
jmp 0x6c365864
mov edx, dword [esp + 0x88]
test edx, edx
je 0x6c3668e3
test al, 0x28
je 0x6c3668e3
mov edi, dword [esp + 0x7c]
mov ecx, 0xb
mov edx, 0xc
mov eax, ebp
xor esi, esi
mov dword [esp], edi
xor edi, edi
call fcn.6c364cb0
mov ecx, edi
and ecx, 0xffff
mov edi, ecx
mov ecx, esi
and ecx, 0xffff
mov esi, ecx
mov edx, eax
shl edx, 0x10
or edi, edx
or esi, edx
mov di, ax
mov si, ax
movzx eax, byte [ebp + 0x103b]
or al, byte [ebp + 0x103c]
jne 0x6c366e3c
movzx eax, byte [ebp + 0x1043]
or al, byte [ebp + 0x1044]
je 0x6c366261
mov eax, esi
and eax, 0xffff
mov esi, eax
or esi, 0x20000
movzx eax, byte [ebp + 0x104b]
or al, byte [ebp + 0x104c]
je 0x6c366274
mov di, 2
movzx eax, byte [ebp + 0x1054]
or al, byte [ebp + 0x1053]
je 0x6c366292
mov eax, edi
and eax, 0xffff
mov edi, eax
or edi, 0x20000
mov dword [esp + 0x54], esi
movsx eax, di
movsx ebx, si
sar dword [esp + 0x54], 0x10
mov ecx, edi
sar ecx, 0x10
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
mov word [esp + 0x44], si
add eax, ebx
add eax, dword [esp + 0x50]
add eax, ecx
test eax, eax
je 0x6c3650f0
jmp 0x6c364fda
xor ecx, ecx
test eax, eax
je 0x6c364f48
test byte [esp + 0x8c], 7
je 0x6c367e4e
mov eax, dword [ebp + 0x2afb4]
mov ebx, dword [ebp + 0xee8]
mov dword [esp + 0xc0], 0x40004
mov dword [esp + 0xc4], 0x40004
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0xee4]
mov dword [esp + 0xc8], 0x40004
mov dword [esp + 0xcc], 0x40004
mov edx, dword [ebp + 0xbc0]
mov esi, dword [esp + 0x74]
movsx ebx, byte [edx + ebx]
movsx ecx, byte [edx + esi]
movsx esi, byte [edx + eax]
mov dword [esp + 0x48], ebx
movzx edi, byte [ebp + ecx + 0x1ab4]
movzx edx, byte [ebp + esi + 0x1ab4]
lea eax, [ecx + esi + 1]
sar eax, 1
mov dword [esp + 0x50], edi
lea ebx, [edi + edx + 1]
movzx edx, byte [ebp + ecx + 0x1b0c]
sar ebx, 1
mov dword [esp + 0x5c], edx
movzx edx, byte [ebp + esi + 0x1b0c]
mov esi, dword [esp + 0x5c]
lea edi, [esi + edx + 1]
mov edx, dword [esp + 0x48]
sar edi, 1
lea ecx, [ecx + edx + 1]
movzx edx, byte [ebp + edx + 0x1ab4]
sar ecx, 1
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x50]
lea esi, [ecx + edx + 1]
mov ecx, dword [esp + 0x48]
sar esi, 1
movzx edx, byte [ebp + ecx + 0x1b0c]
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + edx + 1]
sar edx, 1
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x44]
test edx, edx
je 0x6c367947
mov edx, dword [esp + 0x60]
add edx, eax
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x64]
movzx eax, byte [ecx + eax + 0x6c57cba0]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x6c366486
test eax, eax
je 0x6c366486
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c368bad
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
mov dword [esp + 8], eax
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx edx, byte [ecx + edx*4 + 0x6c57cc40]
mov ecx, dword [esp + 0xfc]
mov byte [esp + 0xbf], dl
lea edx, [esp + 0xbc]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x108]
mov dword [esp], ecx
mov dword [esp + 4], edx
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx edx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x64]
movzx ecx, byte [edx + ecx + 0x6c57cba0]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x50], ecx
test edx, edx
je 0x6c36656c
test ecx, ecx
je 0x6c36656c
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x108]
lea edx, [ecx + edx*8]
movsx ecx, word [esp + 0xc8]
mov dword [esp + 0x54], edx
cmp cx, 3
jg 0x6c368b60
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov edx, dword [esp + 0x108]
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xca]
mov dword [esp + 4], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xcc]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x50]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], eax
mov dword [esp], ecx
call dword [ebp + 0x34]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6c3668d0
mov eax, dword [ebp + 0x13e8]
cmp eax, 3
je 0x6c369336
cmp eax, 2
mov eax, dword [esp + 0x60]
je 0x6c3696a8
add eax, ebx
mov ecx, dword [esp + 0x64]
movzx edx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x54], edx
movzx edx, byte [ecx + ebx + 0x6c57cba0]
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x6c366662
test edx, edx
je 0x6c366662
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369f09
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov ebx, dword [esp + 0x10c]
shl ebx, 2
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x64]
add eax, esi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [ecx + esi + 0x6c57cba0]
test ebx, ebx
je 0x6c36673a
test edx, edx
je 0x6c36673a
movsx ecx, word [esp + 0xc8]
mov esi, dword [esp + 0x100]
add esi, dword [esp + 0x54]
cmp cx, 3
jg 0x6c369e7f
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], esi
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xca]
mov dword [esp + 4], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xcc]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add eax, edi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + edi + 0x6c57cba0]
test ebx, ebx
je 0x6c366800
test edx, edx
je 0x6c366800
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369ba2
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
mov dword [esp + 4], edi
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x48]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + ecx + 0x6c57cba0]
test ebx, ebx
je 0x6c3668d0
test edx, edx
je 0x6c3668d0
movsx ecx, word [esp + 0xc8]
mov esi, dword [esp + 0x104]
add esi, dword [esp + 0x54]
cmp cx, 3
jg 0x6c369e61
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xca]
mov dword [esp + 4], edi
mov dword [esp], esi
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xcc]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov edx, dword [ebp + 0x13e8]
xor ecx, ecx
mov eax, dword [ebp + 0xef8]
jmp 0x6c364f48
movzx eax, byte [ebp + 0x103b]
xor edi, edi
mov esi, 2
or al, byte [ebp + 0x103c]
je 0x6c368429
movzx eax, byte [ebp + 0x1043]
or al, byte [ebp + 0x1044]
jne 0x6c367933
mov ebx, dword [esp + 0x7c]
mov edx, 0x14
mov ecx, 0x13
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov edx, esi
and edx, 0xffff
mov esi, edx
shl eax, 0x10
or esi, eax
movzx eax, byte [ebp + 0x104b]
or al, byte [ebp + 0x104c]
jne 0x6c36792a
mov ebx, dword [esp + 0x7c]
mov ecx, 0x1b
mov edx, 0x1c
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov di, ax
movzx eax, byte [ebp + 0x1053]
or al, byte [ebp + 0x1054]
jne 0x6c366283
mov ebx, dword [esp + 0x7c]
mov edx, 0x24
mov ecx, 0x23
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov edx, edi
and edx, 0xffff
mov edi, edx
shl eax, 0x10
or edi, eax
jmp 0x6c366292
test ecx, ecx
je 0x6c365864
movsx ebx, word [esp + 0xc0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbc], bl
movsx ebx, word [esp + 0xc2]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbd], bl
movsx ebx, word [esp + 0xc4]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbe], bl
movsx ebx, word [esp + 0xc6]
movzx eax, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x10c]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x50]
mov dword [esp], eax
call dword [ebx + 0x44]
jmp 0x6c365864
test ecx, ecx
je 0x6c365839
movsx ebx, word [esp + 0xc0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbc], bl
movsx ebx, word [esp + 0xc2]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbd], bl
movsx ebx, word [esp + 0xc4]
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
add ebx, 1
mov byte [esp + 0xbe], bl
movsx ebx, word [esp + 0xc6]
movzx eax, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x10c]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x50]
mov dword [esp], eax
call dword [ebx + 0x44]
jmp 0x6c365839
mov edx, dword [esp + 0x70]
test edx, edx
je 0x6c365806
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x30]
movzx ecx, byte [edx + ecx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x84]
mov byte [esp + 0xbc], cl
mov ecx, dword [esp + 0x30]
movzx ecx, byte [edx + ecx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x70]
mov byte [esp + 0xbd], cl
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], edx
movzx ebx, byte [ebx + ecx*4 + 0x6c57cc40]
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov byte [esp + 0xbe], bl
lea ebx, [esp + 0xbc]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x108]
mov byte [esp + 0xbf], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x6c]
call dword [ebx + 0x2c]
jmp 0x6c365806
mov edx, dword [ebp + 0x6db34]
and edx, 0xf
cmp edx, 1
sbb edi, edi
and edi, 0xfffffffd
add edi, 4
mov dword [esp + 0x80], edi
jmp 0x6c365589
mov edx, dword [ebp + 0x6db34]
and edx, 0xf
cmp edx, 1
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 4
mov dword [esp + 0x48], ebx
jmp 0x6c364f87
test ebx, ebx
je 0x6c365d02
movsx ecx, word [esp + 0xc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x58]
mov dword [esp], eax
call dword [ebx + 0x2c]
jmp 0x6c365d02
test ecx, ecx
jne 0x6c364fc4
cmp dword [ebp + 0x2afbc], 3
jne 0x6c364fc4
mov ebx, 3
mov word [esp + 0x44], 3
jmp 0x6c364fd0
movzx eax, byte [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
lea edi, [edx + eax + 1]
movzx eax, byte [esp + 0x6c]
sar edi, 1
lea edx, [esi + eax + 1]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x80]
sar edx, 1
add esi, edi
test eax, eax
je 0x6c36775d
movzx eax, byte [esi + 0x6c57cb00]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x5c], eax
movzx edi, byte [esi + edi + 0x6c57cba0]
test edi, edi
je 0x6c366e45
test eax, eax
je 0x6c366e45
cmp word [esp + 0x44], 3
jg 0x6c368765
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
movzx eax, byte [ebx + eax*4 + 0x6c57cc40]
mov dword [esp + 0x38], ecx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x10c]
mov byte [esp + 0xc0], al
mov eax, dword [esp + 0x58]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x100]
movzx eax, byte [esi + eax*4 + 0x6c57cc40]
mov esi, dword [esp + 0x50]
mov dword [esp], edi
mov byte [esp + 0xc1], al
mov eax, dword [esp + 0x58]
movzx eax, byte [esi + eax*4 + 0x6c57cc40]
mov esi, dword [esp + 0x58]
mov byte [esp + 0xc2], al
movzx eax, byte [ecx + esi*4 + 0x6c57cc40]
lea esi, [esp + 0xc0]
mov dword [esp + 0x10], esi
mov byte [esp + 0xc3], al
call dword [ebp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
add eax, edx
movzx edi, byte [eax + 0x6c57cb00]
mov dword [esp + 0x58], edi
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
test ecx, ecx
mov ecx, dword [esp + 0x38]
movzx edx, byte [edi + edx + 0x6c57cba0]
je 0x6c3650f0
test edx, edx
je 0x6c3650f0
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov byte [esp + 0xc0], bl
movzx ebx, byte [edi + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x50]
mov dword [esp], esi
mov byte [esp + 0xc1], bl
movzx ebx, byte [edi + eax*4 + 0x6c57cc40]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xc2], bl
mov ebx, dword [esp + 0x10c]
mov byte [esp + 0xc3], al
mov eax, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call dword [ebp + 0x30]
jmp 0x6c3650f0
mov si, 2
jmp 0x6c366243
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
add eax, edx
movzx edx, byte [edi + edx + 0x6c57cba0]
movzx esi, byte [eax + 0x6c57cb00]
test edx, edx
mov dword [esp + 0x58], esi
je 0x6c3650f0
test esi, esi
je 0x6c3650f0
cmp word [esp + 0x44], 3
jg 0x6c3687bd
lea esi, [esp + 0xc0]
jmp 0x6c366dcb
mov edx, dword [esp + 0x8c]
or edx, eax
test dl, 7
je 0x6c367286
and edx, 0x80
cmp edx, 1
sbb ebx, ebx
not ebx
add ebx, 4
cmp edx, 1
sbb ecx, ecx
mov edi, ebx
not ecx
add ecx, 4
mov dword [esp + 0x48], ebx
mov dword [esp + 0x54], ebx
mov edx, dword [ebp + 0xbc0]
movsx eax, byte [edx + esi]
mov esi, dword [ebp + 0xe84]
movzx edx, byte [ebp + eax + 0x1ab4]
mov dword [esp + 0x50], esi
mov esi, dword [ebp + 0xe88]
mov byte [esp + 0x5c], dl
movzx edx, byte [ebp + eax + 0x1b0c]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x74]
mov byte [esp + 0x68], dl
mov edx, dword [ebp + 0xbc0]
movsx esi, byte [edx + esi]
mov edx, dword [esp + 0x60]
lea eax, [eax + esi + 1]
sar eax, 1
add edx, eax
movzx esi, byte [edx + 0x6c57cb00]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x64]
movzx eax, byte [eax + esi + 0x6c57cba0]
test eax, eax
mov dword [esp + 0x6c], eax
je 0x6c366fc8
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6c366fc8
cmp cx, 3
jg 0x6c3681dc
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc0], al
movzx eax, byte [edi + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc1], al
movzx eax, byte [ebx + edx*4 + 0x6c57cc40]
movzx edx, byte [esi + edx*4 + 0x6c57cc40]
lea esi, [esp + 0xc0]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x108]
mov byte [esp + 0xc2], al
mov eax, dword [esp + 0x6c]
mov byte [esp + 0xc3], dl
mov edx, dword [esp + 0x44]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp], esi
call dword [ebp + 0x2c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6c3656b0
mov edx, dword [esp + 0x50]
movzx eax, byte [esp + 0x5c]
mov esi, dword [esp + 0x58]
lea eax, [edx + eax + 1]
sar eax, 1
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x68]
lea edx, [esi + eax + 1]
mov eax, dword [esp + 0xa8]
sar edx, 1
test eax, eax
je 0x6c36821d
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x60]
movzx esi, byte [eax + 0x6c57cb00]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x64]
movzx eax, byte [esi + eax + 0x6c57cba0]
test eax, eax
mov dword [esp + 0x44], eax
je 0x6c367173
mov esi, dword [esp + 0x50]
test esi, esi
je 0x6c367173
cmp cx, 3
jg 0x6c368e5e
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], edx
movzx ecx, byte [eax + esi*4 + 0x6c57cc40]
mov byte [esp + 0xc0], cl
movzx ecx, byte [edi + esi*4 + 0x6c57cc40]
mov byte [esp + 0xc1], cl
movzx ecx, byte [ebx + esi*4 + 0x6c57cc40]
mov byte [esp + 0xc2], cl
mov ecx, dword [esp + 0x48]
movzx eax, byte [ecx + esi*4 + 0x6c57cc40]
lea esi, [esp + 0xc0]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], esi
mov byte [esp + 0xc3], al
mov eax, dword [esp + 0x44]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [ebp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
add eax, edx
movzx ecx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + edx + 0x6c57cba0]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x6c3656b0
test edx, edx
je 0x6c3656b0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0xc], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], esi
mov byte [esp + 0xc0], cl
movzx ecx, byte [edi + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x10c]
mov byte [esp + 0xc1], cl
movzx ecx, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], edi
mov byte [esp + 0xc2], cl
movzx eax, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x104]
mov byte [esp + 0xc3], al
mov dword [esp], ebx
call dword [ebp + 0x2c]
jmp 0x6c3656b0
mov eax, dword [esp + 0x60]
add eax, edx
movzx esi, byte [eax + 0x6c57cb00]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x64]
movzx edx, byte [esi + edx + 0x6c57cba0]
test edx, edx
je 0x6c3656b0
mov esi, dword [esp + 0x44]
test esi, esi
je 0x6c3656b0
cmp cx, 3
jle 0x6c368e39
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [ebp + 0x38]
jmp 0x6c3656b0
test ebx, ebx
je 0x6c366107
movsx ecx, word [esp + 0xc0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x88]
add eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [ebx + 0x44]
jmp 0x6c366107
mov edx, dword [esp + 0xa4]
test edx, edx
je 0x6c3672f1
test al, 0x18
je 0x6c3672f1
mov edi, dword [esp + 0x7c]
mov ecx, 4
mov edx, 0xc
mov eax, ebp
mov dword [esp], edi
call fcn.6c364cb0
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x48], 0
and ecx, 0xffff
mov edx, eax
shl edx, 0x10
or ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x48]
mov word [esp + 0x4c], ax
and ecx, 0xffff
or ecx, edx
mov dword [esp + 0x48], ecx
mov word [esp + 0x48], ax
jmp 0x6c36560a
movzx eax, byte [ebp + 0x1034]
or al, byte [ebp + 0x103c]
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0
jne 0x6c36732d
mov ebx, dword [esp + 0x7c]
mov ecx, 4
mov edx, 0xc
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov word [esp + 0x48], ax
movzx eax, byte [ebp + 0x1035]
or al, byte [ebp + 0x103d]
jne 0x6c3681c5
mov edi, dword [esp + 0x7c]
mov edx, 0xd
mov ecx, 5
mov eax, ebp
mov dword [esp], edi
call fcn.6c364cb0
mov edx, dword [esp + 0x48]
and edx, 0xffff
shl eax, 0x10
or edx, eax
mov dword [esp + 0x48], edx
movzx eax, byte [ebp + 0x1036]
or al, byte [ebp + 0x103e]
jne 0x6c368211
mov ebx, dword [esp + 0x7c]
mov ecx, 6
mov edx, 0xe
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov word [esp + 0x4c], ax
movzx eax, byte [ebp + 0x1037]
or al, byte [ebp + 0x103f]
jne 0x6c365666
mov edi, dword [esp + 0x7c]
mov edx, 0xf
mov ecx, 7
mov eax, ebp
mov dword [esp], edi
call fcn.6c364cb0
mov edx, dword [esp + 0x4c]
and edx, 0xffff
shl eax, 0x10
or edx, eax
mov dword [esp + 0x4c], edx
jmp 0x6c365678
mov eax, dword [ebp + 0x6de7c]
mov esi, dword [esp + 0x108]
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x8c]
neg eax
mov edi, dword [esp + 0x10c]
add esi, esi
lea eax, [ebx + eax*2]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0xbd8]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x50]
add edi, edi
mov dword [esp + 0x44], edi
mov eax, dword [eax + esi*4]
or edx, eax
and edx, 7
je 0x6c368545
mov esi, 0x30003
mov ebx, 3
mov word [esp + 0x54], 3
mov word [esp + 0x48], 3
mov eax, dword [ebp + 0xbc0]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x74]
movsx edx, byte [eax + edx]
movsx ecx, byte [eax + ecx]
mov dword [esp + 0x5c], edx
lea edx, [edx + ecx + 1]
sar edx, 1
mov dword [esp + 0x6c], edx
add edx, dword [esp + 0x60]
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + edx + 0x6c57cba0]
test edx, edx
mov dword [esp + 0x6c], edx
jne 0x6c368950
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebp + 0xe84]
movzx edx, byte [ebp + edx + 0x1ab4]
mov byte [esp + 0x6c], dl
mov edx, dword [ebp + 0xe88]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x5c]
movzx edx, byte [ebp + edx + 0x1b0c]
mov byte [esp + 0x5c], dl
mov edx, dword [esp + 0x78]
test edx, edx
je 0x6c367558
movzx edx, byte [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xa8]
lea ecx, [ecx + edx + 1]
movzx edx, byte [esp + 0x5c]
sar ecx, 1
lea edx, [eax + edx + 1]
mov eax, dword [esp + 0x60]
sar edx, 1
mov dword [esp + 0x5c], edx
add eax, ecx
test edi, edi
movzx edx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x64]
movzx ecx, byte [edx + ecx + 0x6c57cba0]
jne 0x6c36888c
test ecx, ecx
jne 0x6c368ee2
mov ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
movzx eax, byte [ecx + 0x6c57cb00]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
movzx edx, byte [eax + edx + 0x6c57cba0]
test edx, edx
mov dword [esp + 0x5c], edx
jne 0x6c3697eb
mov eax, dword [ebp + 0xbc0]
mov ebx, dword [esp + 0x50]
mov edx, dword [ebp + 0xbd8]
add ebx, dword [ebp + 0x6de7c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x50], ebx
or ecx, edx
and ecx, 7
je 0x6c3685d4
mov esi, 0x30003
mov ebx, 3
mov word [esp + 0x54], 3
mov word [esp + 0x48], 3
mov ecx, dword [esp + 0x50]
movsx ecx, byte [eax + ecx]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x74]
movsx edx, byte [eax + ecx]
mov eax, dword [esp + 0x5c]
lea ecx, [eax + edx + 1]
mov edx, dword [esp + 0x60]
sar ecx, 1
add edx, ecx
movzx eax, byte [edx + 0x6c57cb00]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
movzx ecx, byte [eax + ecx + 0x6c57cba0]
test ecx, ecx
mov dword [esp + 0x6c], ecx
jne 0x6c3687e6
mov edx, dword [esp + 0x5c]
mov eax, dword [ebp + 0xe84]
mov ecx, dword [ebp + 0xe88]
movzx edx, byte [ebp + edx + 0x1ab4]
mov byte [esp + 0x58], dl
mov edx, dword [esp + 0x5c]
movzx edx, byte [ebp + edx + 0x1b0c]
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0x78]
test edx, edx
je 0x6c3656b0
movzx edx, byte [esp + 0x58]
mov edi, dword [esp + 0xa8]
lea eax, [eax + edx + 1]
movzx edx, byte [esp + 0x50]
sar eax, 1
lea edx, [ecx + edx + 1]
sar edx, 1
test edi, edi
mov dword [esp + 0x50], edx
je 0x6c368a6c
mov edx, dword [esp + 0x60]
add edx, eax
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x64]
movzx eax, byte [ecx + eax + 0x6c57cba0]
test eax, eax
jne 0x6c3698eb
mov edx, dword [esp + 0x50]
add edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x64]
movzx eax, byte [ecx + eax + 0x6c57cba0]
test eax, eax
mov dword [esp + 0x50], eax
je 0x6c3656b0
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x6c3656b0
movsx eax, si
movsx esi, word [esp + 0x48]
movsx ebx, bx
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
movsx edi, word [esp + 0x54]
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0xc0], al
movzx eax, byte [esi + edx*4 + 0x6c57cc40]
mov dword [esp + 8], ecx
mov byte [esp + 0xc1], al
movzx eax, byte [ebx + edx*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x44]
mov byte [esp + 0xc2], al
movzx eax, byte [edi + edx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x50]
mov dword [esp + 4], ebx
mov byte [esp + 0xc3], al
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
add eax, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call dword [ebp + 0x2c]
jmp 0x6c3656b0
mov eax, dword [esp + 0x84]
mov dword [esp + 8], edi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0xfc]
mov dword [esp + 0x38], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [ebp + 0x3c]
mov ecx, dword [esp + 0x38]
jmp 0x6c3650dd
movzx eax, byte [esi + 0x6c57cb00]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x64]
movzx edi, byte [eax + edi + 0x6c57cba0]
test edi, edi
je 0x6c3678e5
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x6c3678e5
cmp word [esp + 0x44], 3
jg 0x6c3689f3
movzx eax, byte [ebx + esi*4 + 0x6c57cc40]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
add eax, 1
mov byte [esp + 0xc0], al
mov eax, dword [esp + 0x54]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x10c]
movzx eax, byte [eax + esi*4 + 0x6c57cc40]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x100]
mov byte [esp + 0x3f], al
add eax, 1
mov byte [esp + 0xc1], al
mov eax, dword [esp + 0x50]
mov dword [esp], edi
movzx eax, byte [eax + esi*4 + 0x6c57cc40]
mov byte [esp + 0x3e], al
add eax, 1
mov byte [esp + 0xc2], al
movzx eax, byte [ecx + esi*4 + 0x6c57cc40]
lea esi, [esp + 0xc0]
mov dword [esp + 0x10], esi
add eax, 1
mov byte [esp + 0xc3], al
call dword [ebp + 0x48]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x38]
add edi, edx
mov dword [esp + 0x5c], edi
movzx edi, byte [edi + 0x6c57cb00]
movzx edx, byte [eax + edx + 0x6c57cba0]
test edi, edi
je 0x6c3650f0
test edx, edx
je 0x6c3650f0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x10c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
movzx ebx, byte [ebx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], esi
mov dword [esp], edi
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x5c]
mov byte [esp + 0xc0], al
mov eax, dword [esp + 0x54]
movzx ebx, byte [eax + ebx*4 + 0x6c57cc40]
mov eax, ebx
mov ebx, dword [esp + 0x5c]
add eax, 1
mov byte [esp + 0xc1], al
mov eax, dword [esp + 0x50]
movzx ebx, byte [eax + ebx*4 + 0x6c57cc40]
mov eax, ebx
mov ebx, dword [esp + 0x5c]
add eax, 1
mov byte [esp + 0xc2], al
movzx eax, byte [ecx + ebx*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xc3], al
call dword [ebp + 0x48]
jmp 0x6c3650f0
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add edi, edx
movzx edx, byte [esi + edx + 0x6c57cba0]
mov dword [esp + 0x5c], edi
movzx edi, byte [edi + 0x6c57cb00]
test edx, edx
je 0x6c3650f0
test edi, edi
je 0x6c3650f0
cmp word [esp + 0x44], 3
jg 0x6c368a47
lea esi, [esp + 0xc0]
jmp 0x6c367858
mov di, 2
jmp 0x6c366965
mov eax, esi
and eax, 0xffff
mov esi, eax
or esi, 0x20000
jmp 0x6c366937
mov edx, dword [esp + 0x108]
add edx, edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x60]
add edx, eax
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x64]
movzx eax, byte [ecx + eax + 0x6c57cba0]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
test ecx, ecx
je 0x6c367a1f
test eax, eax
je 0x6c367a1f
movsx eax, word [esp + 0xc0]
cmp ax, 3
jg 0x6c368be2
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x44]
mov byte [esp + 0xbc], al
movsx eax, word [esp + 0xc4]
mov dword [esp + 4], ecx
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov byte [esp + 0xbd], al
movsx eax, word [esp + 0xc8]
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov byte [esp + 0xbe], al
movsx eax, word [esp + 0xcc]
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x58]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x54]
mov edx, dword [esp + 0x54]
movzx ecx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + edx + 0x6c57cba0]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
test ecx, ecx
je 0x6c367af7
test edx, edx
je 0x6c367af7
movsx edx, word [esp + 0xc2]
mov ecx, dword [esp + 0xfc]
add ecx, dword [esp + 0x108]
cmp dx, 3
jg 0x6c368b8a
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov dword [esp], ecx
mov byte [esp + 0xbc], dl
movsx edx, word [esp + 0xc6]
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], dl
movsx edx, word [esp + 0xca]
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], dl
movsx edx, word [esp + 0xce]
movzx eax, byte [edx + eax*4 + 0x6c57cc40]
mov edx, dword [esp + 0x58]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6c3668d0
cmp dword [ebp + 0x13e8], 3
je 0x6c369000
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10c]
add eax, ebx
movzx ecx, byte [eax + 0x6c57cb00]
add edx, edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + ebx + 0x6c57cba0]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x6c367bec
test edx, edx
je 0x6c367bec
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369310
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x100]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp], ebx
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc8]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xcc]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call dword [ebp + 0x4c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
add eax, esi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [ecx + esi + 0x6c57cba0]
test ebx, ebx
je 0x6c367cb6
test edx, edx
je 0x6c367cb6
movsx ecx, word [esp + 0xc2]
mov esi, dword [esp + 0x100]
add esi, dword [esp + 0x10c]
cmp cx, 3
jg 0x6c369650
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp], esi
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc6]
mov dword [esp + 4], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xca]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add eax, edi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + edi + 0x6c57cba0]
test ebx, ebx
je 0x6c367d79
test edx, edx
je 0x6c367d79
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c36966b
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp + 4], edi
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc8]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xcc]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x48]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + ecx + 0x6c57cba0]
test ebx, ebx
je 0x6c3668d0
test edx, edx
je 0x6c3668d0
movsx ecx, word [esp + 0xc2]
mov esi, dword [esp + 0x104]
add esi, dword [esp + 0x10c]
cmp cx, 3
jg 0x6c36968d
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc6]
mov dword [esp + 4], edi
mov dword [esp], esi
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xca]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
jmp 0x6c3668d0
mov ebx, dword [esp + 0xf8]
mov edx, dword [ebp + 0x2afb4]
mov eax, dword [ebp + 0xee4]
and ebx, 1
lea ecx, [ebx + edx*2]
test edx, edx
mov dword [esp + 0x44], edx
lea edi, [ecx*8 + 0x6c57cec0]
mov dword [esp + 0x54], ebx
jne 0x6c368449
test esi, 7
jne 0x6c368e2a
mov edx, dword [ebp + 0x1894]
movzx ebx, byte [ebp + 0x103c]
test edx, edx
jne 0x6c369a30
test esi, 0x1000000
je 0x6c369a30
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + eax*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, ebx
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc0], dx
mov edx, dword [ebp + 0xefc]
mov ebx, dword [ebp + 0xee8]
test dl, 7
mov dword [esp + 0x48], edx
jne 0x6c368e1b
movzx ecx, byte [ebp + 0x103c]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x1894]
test ecx, ecx
jne 0x6c369a17
and edx, 0x1000000
je 0x6c369a17
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + ebx*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, dword [esp + 0x50]
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc2], dx
test esi, 7
jne 0x6c368e0c
movzx edx, byte [ebp + 0x1044]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x1894]
test edx, edx
jne 0x6c369a66
test esi, 0x1000000
je 0x6c369a66
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + eax*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, dword [esp + 0x50]
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc4], dx
test byte [esp + 0x48], 7
jne 0x6c368dfd
movzx ecx, byte [ebp + 0x1044]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x1894]
test ecx, ecx
jne 0x6c369a4d
test dword [esp + 0x48], 0x1000000
je 0x6c369a4d
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + ebx*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, dword [esp + 0x50]
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc6], dx
test esi, 7
jne 0x6c368dee
movzx edx, byte [ebp + 0x104c]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x1894]
test edx, edx
jne 0x6c369b26
test esi, 0x1000000
je 0x6c369b26
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + eax*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, dword [esp + 0x50]
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc8], dx
test byte [esp + 0x48], 7
jne 0x6c368ddf
movzx ecx, byte [ebp + 0x104c]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x1894]
test ecx, ecx
jne 0x6c369b0d
test dword [esp + 0x48], 0x1000000
je 0x6c369b0d
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + ebx*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, dword [esp + 0x50]
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xca], dx
test esi, 7
jne 0x6c368dd0
movzx edx, byte [ebp + 0x1054]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x1894]
test edx, edx
jne 0x6c369b89
and esi, 0x1000000
je 0x6c369b89
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + eax*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
or edx, dword [esp + 0x50]
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xcc], dx
test byte [esp + 0x48], 7
jne 0x6c3685c5
mov ecx, dword [ebp + 0x1894]
movzx esi, byte [ebp + 0x1054]
test ecx, ecx
jne 0x6c368e45
test dword [esp + 0x48], 0x1000000
je 0x6c368e45
mov edx, dword [ebp + 0x6db30]
movzx ecx, word [edx + ebx*2]
movzx edx, byte [esp + 0x54]
and edx, 1
cmp dl, 1
sbb edx, edx
and edx, 0xffffa000
add edx, 0x8000
and edx, ecx
jmp 0x6c36852e
mov eax, dword [esp + 0x48]
and eax, 0xffff
or eax, 0x20000
mov dword [esp + 0x48], eax
jmp 0x6c36736b
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov dword [esp + 4], esi
mov esi, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp], esi
call dword [ebp + 0x38]
mov ecx, dword [esp + 0x38]
jmp 0x6c366fc8
mov word [esp + 0x4c], 2
jmp 0x6c36739b
mov esi, dword [esp + 0x44]
add esi, dword [esp + 0x60]
movzx eax, byte [esi + 0x6c57cb00]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
movzx esi, byte [eax + esi + 0x6c57cba0]
test esi, esi
mov dword [esp + 0x44], esi
je 0x6c3683c5
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6c3683c5
cmp cx, 3
jg 0x6c36988a
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x34], edx
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x58]
mov byte [esp + 0x3c], al
add eax, 1
mov byte [esp + 0xc0], al
mov eax, dword [esp + 0x58]
movzx ecx, byte [ebx + ecx*4 + 0x6c57cc40]
movzx eax, byte [edi + eax*4 + 0x6c57cc40]
mov byte [esp + 0x2e], al
add eax, 1
mov byte [esp + 0xc1], al
mov eax, ecx
mov ecx, dword [esp + 0x48]
add eax, 1
mov byte [esp + 0xc2], al
movzx eax, byte [ecx + esi*4 + 0x6c57cc40]
lea esi, [esp + 0xc0]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], esi
add eax, 1
mov byte [esp + 0xc3], al
mov eax, dword [esp + 0x44]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [ebp + 0x44]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
add eax, edx
movzx ecx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x64]
test ecx, ecx
mov dword [esp + 0x50], ecx
movzx edx, byte [eax + edx + 0x6c57cba0]
je 0x6c3656b0
test edx, edx
je 0x6c3656b0
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xc], edx
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], esi
mov byte [esp + 0x54], al
add eax, 1
mov byte [esp + 0xc0], al
movzx eax, byte [edi + ecx*4 + 0x6c57cc40]
mov edi, dword [esp + 0x10c]
add eax, 1
mov byte [esp + 0xc1], al
movzx eax, byte [ebx + ecx*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], edi
add eax, 1
mov byte [esp + 0xc2], al
movzx eax, byte [ebx + ecx*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x104]
add eax, 1
mov byte [esp + 0xc3], al
mov dword [esp], ebx
call dword [ebp + 0x44]
jmp 0x6c3656b0
mov esi, dword [esp + 0x60]
add esi, edx
movzx eax, byte [esi + 0x6c57cb00]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x50], eax
movzx edx, byte [esi + edx + 0x6c57cba0]
test edx, edx
je 0x6c3656b0
test eax, eax
je 0x6c3656b0
cmp cx, 3
jle 0x6c368bd6
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [ebp + 0x50]
jmp 0x6c3656b0
mov ebx, dword [esp + 0x7c]
mov ecx, 0xb
mov edx, 0xc
mov eax, ebp
mov dword [esp], ebx
call fcn.6c364cb0
mov si, ax
jmp 0x6c3668fd
test esi, 7
je 0x6c368d8c
mov word [esp + 0xc0], 4
test esi, 7
je 0x6c368d0c
mov word [esp + 0xc2], 4
test esi, 7
je 0x6c368d4c
mov word [esp + 0xc4], 4
test esi, 7
je 0x6c368ccc
mov word [esp + 0xc6], 4
mov ecx, dword [ebp + 0xefc]
mov ebx, dword [ebp + 0xee8]
mov dword [esp + 0x48], ecx
and ecx, 7
je 0x6c368c8c
mov word [esp + 0xc8], 4
test byte [esp + 0x48], 7
je 0x6c368c4c
mov word [esp + 0xca], 4
test byte [esp + 0x48], 7
je 0x6c368c0c
mov word [esp + 0xcc], 4
test byte [esp + 0x48], 7
jne 0x6c3685c5
mov ecx, dword [ebp + 0x1894]
movzx esi, byte [ebp + 0x1054]
test ecx, ecx
jne 0x6c368e45
test dword [esp + 0x48], 0x1000000
je 0x6c368e45
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + ebx*2]
and dx, 0x8000
movzx edx, dx
or edx, esi
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xce], dx
jmp 0x6c366322
mov ebx, dword [ebp + 0x1894]
test ebx, ebx
jne 0x6c36866d
test eax, 0x1000000
je 0x6c36866d
mov eax, dword [ebp + 0x6db30]
mov ecx, dword [esp + 0x50]
movzx edx, word [eax + ecx*2]
test dh, 0x40
je 0x6c3697ab
mov word [esp + 0x48], 2
movzx ecx, word [esp + 0x48]
mov esi, 2
mov eax, esi
and eax, 0xffff
shl ecx, 0x10
mov esi, eax
or esi, ecx
test dx, dx
js 0x6c369785
xor ebx, ebx
cmp byte [ebp + 0x103e], 0
setne bl
xor eax, eax
add ebx, 1
cmp byte [ebp + 0x103f], 0
setne al
add eax, 1
mov word [esp + 0x54], ax
jmp 0x6c367442
mov word [esp + 0xce], 4
jmp 0x6c366322
mov ebx, dword [ebp + 0x1894]
test ebx, ebx
jne 0x6c3686e9
and edx, 0x1000000
je 0x6c3686e9
mov edx, dword [ebp + 0x6db30]
mov ebx, dword [esp + 0x50]
movzx ecx, word [edx + ebx*2]
test ch, 0x40
jne 0x6c369796
xor edx, edx
cmp byte [ebp + 0x103c], 0
setne dl
add edx, 1
mov si, dx
xor edx, edx
cmp byte [ebp + 0x103d], 0
setne dl
add edx, 1
mov word [esp + 0x48], dx
mov ebx, edx
mov edx, esi
and edx, 0xffff
shl ebx, 0x10
mov esi, edx
or esi, ebx
test cx, cx
js 0x6c3697da
xor ebx, ebx
cmp byte [ebp + 0x103e], 0
setne bl
xor edx, edx
add ebx, 1
cmp byte [ebp + 0x103f], 0
setne dl
add edx, 1
mov word [esp + 0x54], dx
jmp 0x6c367599
mov edi, dword [esp + 0x50]
mov edx, dword [ebp + 0x10a8]
lea eax, [edi + edi*2]
shl eax, 4
lea edx, [edx + eax + 0xc]
movzx eax, byte [edx]
or al, byte [ebp + 0x103c]
cmp al, 1
sbb eax, eax
xor esi, esi
add eax, 2
mov si, ax
movzx eax, byte [edx + 1]
or al, byte [ebp + 0x103d]
cmp al, 1
sbb eax, eax
add eax, 2
mov ecx, eax
mov word [esp + 0x48], ax
mov eax, esi
and eax, 0xffff
mov esi, eax
movzx eax, byte [edx + 2]
or al, byte [ebp + 0x103e]
shl ecx, 0x10
movzx edx, byte [edx + 3]
or esi, ecx
cmp al, 1
sbb ebx, ebx
or dl, byte [ebp + 0x103f]
add ebx, 2
cmp dl, 1
sbb edx, edx
add edx, 2
mov word [esp + 0x54], dx
jmp 0x6c367442
mov ecx, dword [esp + 0x50]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 0x10a8]
shl edx, 4
lea ecx, [ecx + edx + 0xc]
movzx edx, byte [ecx]
or dl, byte [ebp + 0x103c]
cmp dl, 1
sbb edx, edx
add edx, 2
mov si, dx
movzx edx, byte [ecx + 1]
or dl, byte [ebp + 0x103d]
cmp dl, 1
mov edx, esi
sbb ebx, ebx
and edx, 0xffff
mov esi, edx
movzx edx, byte [ecx + 2]
add ebx, 2
or dl, byte [ebp + 0x103e]
mov word [esp + 0x48], bx
shl ebx, 0x10
or esi, ebx
cmp dl, 1
movzx edx, byte [ecx + 3]
sbb ebx, ebx
or dl, byte [ebp + 0x103f]
add ebx, 2
cmp dl, 1
sbb edx, edx
add edx, 2
mov word [esp + 0x54], dx
jmp 0x6c367599
mov ebx, dword [esp + 0x10c]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x100]
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [ebp + 0x3c]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
movzx edi, byte [edi + edx + 0x6c57cb00]
movzx edx, byte [ebx + edx + 0x6c57cba0]
test edi, edi
mov dword [esp + 0x58], edi
je 0x6c3650f0
test edx, edx
je 0x6c3650f0
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x10c]
mov esi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [ebp + 0x3c]
jmp 0x6c3650f0
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x6c3675e0
movsx ecx, si
mov eax, dword [esp + 0x58]
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov dword [esp + 4], eax
mov byte [esp + 0xc0], cl
movsx ecx, word [esp + 0x48]
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc1], cl
movsx ecx, bx
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc2], cl
movsx ecx, word [esp + 0x54]
movzx edx, byte [ecx + edx*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x68]
mov byte [esp + 0xc3], dl
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
add edx, dword [esp + 0x108]
mov dword [esp], edx
call dword [ebp + 0x2c]
mov edx, dword [ebp + 0xbc0]
mov ecx, dword [esp + 0x50]
movsx edx, byte [edx + ecx]
mov dword [esp + 0x5c], edx
jmp 0x6c3675e0
test ecx, ecx
jne 0x6c368f77
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
movzx ecx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + edx + 0x6c57cba0]
test edx, edx
mov dword [esp + 0x5c], edx
je 0x6c367552
mov edi, dword [esp + 0x68]
test edi, edi
je 0x6c367552
movsx edx, si
movsx ebx, bx
mov ecx, dword [esp + 0x5c]
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov dword [esp + 0xc], ecx
mov byte [esp + 0xc0], dl
movsx edx, word [esp + 0x48]
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xc1], dl
movzx edx, byte [ebx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x68]
mov byte [esp + 0xc2], dl
movsx edx, word [esp + 0x54]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x104]
movzx eax, byte [edx + eax*4 + 0x6c57cc40]
mov dword [esp], ebx
mov byte [esp + 0xc3], al
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call dword [ebp + 0x2c]
jmp 0x6c367552
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x6c367495
mov ecx, dword [esp + 0x70]
movsx eax, si
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x68]
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov dword [esp + 8], edx
mov byte [esp + 0xc0], al
movsx eax, word [esp + 0x48]
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov byte [esp + 0xc1], al
movsx eax, bx
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov byte [esp + 0xc2], al
movsx eax, word [esp + 0x54]
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x58]
mov byte [esp + 0xc3], al
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call dword [ebp + 0x2c]
mov eax, dword [ebp + 0xbc0]
mov edx, dword [esp + 0x50]
movsx edx, byte [eax + edx]
mov dword [esp + 0x5c], edx
jmp 0x6c367495
mov ebx, dword [esp + 0x10c]
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x34], edx
mov dword [esp + 8], ecx
call dword [ebp + 0x54]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
movzx edi, byte [ebx + edx + 0x6c57cb00]
movzx edx, byte [esi + edx + 0x6c57cba0]
test edx, edx
je 0x6c3650f0
test edi, edi
je 0x6c3650f0
mov ebx, dword [esp + 0x10c]
mov esi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [ebp + 0x54]
jmp 0x6c3650f0
mov ecx, dword [esp + 0x60]
add ecx, eax
movzx edx, byte [ecx + 0x6c57cb00]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x64]
movzx eax, byte [edx + eax + 0x6c57cba0]
test eax, eax
jne 0x6c36997b
mov edx, dword [esp + 0x50]
add edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
movzx ecx, byte [edx + 0x6c57cb00]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x64]
movzx eax, byte [ecx + eax + 0x6c57cba0]
test eax, eax
mov dword [esp + 0x50], eax
je 0x6c3656b0
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x6c3656b0
movsx eax, si
movsx esi, word [esp + 0x48]
movsx ebx, bx
movzx eax, byte [eax + edx*4 + 0x6c57cc40]
movsx edi, word [esp + 0x54]
mov ecx, dword [esp + 0x5c]
add eax, 1
mov byte [esp + 0xc0], al
movzx eax, byte [esi + edx*4 + 0x6c57cc40]
mov dword [esp + 8], ecx
add eax, 1
mov byte [esp + 0xc1], al
movzx eax, byte [ebx + edx*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x44]
add eax, 1
mov byte [esp + 0xc2], al
movzx eax, byte [edi + edx*4 + 0x6c57cc40]
mov edx, dword [esp + 0x50]
mov dword [esp + 4], ebx
add eax, 1
mov byte [esp + 0xc3], al
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
add eax, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call dword [ebp + 0x44]
jmp 0x6c3656b0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [ebp + 0x40]
jmp 0x6c36656c
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call dword [ebp + 0x40]
jmp 0x6c367af7
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
call dword [ebp + 0x40]
jmp 0x6c366486
lea esi, [esp + 0xc0]
jmp 0x6c36833c
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [ebp + 0x40]
jmp 0x6c367a1f
mov edx, dword [ebp + 0x1894]
movzx esi, byte [ebp + 0x1054]
test edx, edx
je 0x6c369b3f
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 6]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, esi
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xcc], dx
jmp 0x6c3684ee
mov ecx, dword [ebp + 0x1894]
movzx esi, byte [ebp + 0x104c]
test ecx, ecx
je 0x6c369b64
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 5]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, esi
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xca], dx
jmp 0x6c3684d9
mov edx, dword [ebp + 0x1894]
movzx esi, byte [ebp + 0x104c]
test edx, edx
je 0x6c369a7f
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 4]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, esi
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc8], dx
jmp 0x6c3684c4
mov ecx, dword [ebp + 0x1894]
movzx ebx, byte [ebp + 0x1044]
test ecx, ecx
je 0x6c369ac7
lea edx, [eax + eax*2]
movzx ecx, byte [edi + 3]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, ebx
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc6], dx
jmp 0x6c3684a1
mov ecx, dword [ebp + 0x1894]
movzx ebx, byte [ebp + 0x103c]
test ecx, ecx
je 0x6c369aa4
lea edx, [eax + eax*2]
movzx ecx, byte [edi + 1]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, ebx
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc2], dx
jmp 0x6c368475
mov edx, dword [ebp + 0x1894]
movzx ebx, byte [ebp + 0x1044]
test edx, edx
je 0x6c369aea
lea edx, [eax + eax*2]
movzx ecx, byte [edi + 2]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, ebx
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc4], dx
jmp 0x6c36848b
mov edx, dword [ebp + 0x1894]
movzx ebx, byte [ebp + 0x103c]
test edx, edx
je 0x6c368ebf
lea edx, [eax + eax*2]
movzx ecx, byte [ecx*8 + 0x6c57cec0]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
or edx, ebx
cmp edx, 1
sbb edx, edx
add edx, 2
mov word [esp + 0xc0], dx
jmp 0x6c36845f
mov word [esp + 0xcc], 4
jmp 0x6c36816d
mov word [esp + 0xca], 4
jmp 0x6c368103
mov word [esp + 0xc8], 4
jmp 0x6c368098
mov word [esp + 0xc6], 4
jmp 0x6c36802e
mov word [esp + 0xc4], 4
jmp 0x6c367fc3
mov word [esp + 0xc2], 4
jmp 0x6c367f59
mov word [esp + 0xc0], 4
jmp 0x6c367ee2
lea esi, [esp + 0xc0]
jmp 0x6c367102
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 7]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c36852e
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [ebp + 0x38]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
movzx esi, byte [esi + edx + 0x6c57cb00]
movzx edx, byte [edi + edx + 0x6c57cba0]
mov dword [esp + 0x44], esi
test edx, edx
je 0x6c3656b0
test esi, esi
je 0x6c3656b0
jmp 0x6c3671ae
test esi, 0x1000000
je 0x6c368da1
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + eax*2]
and dx, 0x2000
movzx edx, dx
jmp 0x6c368db9
mov edx, dword [esp + 0x68]
test edx, edx
je 0x6c367523
movsx edx, si
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x100]
add edx, 1
mov byte [esp + 0xc0], dl
movsx edx, word [esp + 0x48]
mov dword [esp], ecx
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
add edx, 1
mov byte [esp + 0xc1], dl
movsx edx, bx
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
add edx, 1
mov byte [esp + 0xc2], dl
movsx edx, word [esp + 0x54]
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov eax, dword [esp + 0x68]
add edx, 1
mov byte [esp + 0xc3], dl
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call dword [ebp + 0x44]
jmp 0x6c367523
mov edx, dword [esp + 0x68]
test edx, edx
je 0x6c368894
movsx edx, si
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x100]
mov byte [esp + 0xc0], dl
movsx edx, word [esp + 0x48]
mov dword [esp], ecx
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xc1], dl
movsx edx, bx
movzx edx, byte [edx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xc2], dl
movsx edx, word [esp + 0x54]
movzx eax, byte [edx + eax*4 + 0x6c57cc40]
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov byte [esp + 0xc3], al
mov eax, dword [esp + 0x68]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call dword [ebp + 0x2c]
jmp 0x6c368894
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0x60]
add ecx, ecx
add eax, ebx
movzx edx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], edx
movzx edx, byte [ecx + ebx + 0x6c57cba0]
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x6c3690d0
test edx, edx
je 0x6c3690d0
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369d47
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x100]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp], ebx
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc8]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xcc]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
add eax, esi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [ecx + esi + 0x6c57cba0]
test ebx, ebx
je 0x6c36918e
test edx, edx
je 0x6c36918e
movsx ecx, word [esp + 0xc2]
mov esi, dword [esp + 0x100]
add esi, dword [esp + 0x10c]
cmp cx, 3
jg 0x6c369d0a
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc6]
mov dword [esp + 4], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xca]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add eax, edi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + edi + 0x6c57cba0]
test ebx, ebx
je 0x6c369245
test edx, edx
je 0x6c369245
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369d25
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp + 4], edi
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc8]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xcc]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x48]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + ecx + 0x6c57cba0]
test ebx, ebx
je 0x6c3668d0
test edx, edx
je 0x6c3668d0
movsx ecx, word [esp + 0xc2]
mov esi, dword [esp + 0x104]
add esi, dword [esp + 0x10c]
cmp cx, 3
jg 0x6c369d6d
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc6]
mov dword [esp + 4], edi
mov dword [esp], esi
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xca]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
jmp 0x6c3668d0
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [ebp + 0x58]
jmp 0x6c367bec
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
add eax, ebx
movzx edx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x54], edx
movzx edx, byte [ecx + ebx + 0x6c57cba0]
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x6c3693fc
test edx, edx
je 0x6c3693fc
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369f32
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
mov ebx, dword [esp + 0x10c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
shl ebx, 3
add eax, esi
mov dword [esp + 0x54], ebx
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [ecx + esi + 0x6c57cba0]
test ebx, ebx
je 0x6c3694c8
test edx, edx
je 0x6c3694c8
movsx ecx, word [esp + 0xc8]
mov esi, dword [esp + 0x100]
add esi, dword [esp + 0x54]
cmp cx, 3
jg 0x6c369ec6
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xca]
mov dword [esp + 4], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xcc]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add eax, edi
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + edi + 0x6c57cba0]
test ebx, ebx
je 0x6c369582
test edx, edx
je 0x6c369582
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369ee4
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
mov dword [esp + 4], edi
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x48]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
movzx ebx, byte [eax + 0x6c57cb00]
movzx edx, byte [esi + ecx + 0x6c57cba0]
test ebx, ebx
je 0x6c3668d0
test edx, edx
je 0x6c3668d0
movsx ecx, word [esp + 0xc8]
mov esi, dword [esp + 0x104]
add esi, dword [esp + 0x54]
cmp cx, 3
jg 0x6c369e43
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xca]
mov dword [esp + 4], edi
mov dword [esp], esi
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xcc]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xce]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x34]
jmp 0x6c3668d0
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebp + 0x58]
jmp 0x6c367cb6
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [ebp + 0x58]
jmp 0x6c367d79
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebp + 0x58]
jmp 0x6c3668d0
add eax, ebx
mov ecx, dword [esp + 0x64]
movzx edx, byte [eax + 0x6c57cb00]
mov dword [esp + 0x54], edx
movzx edx, byte [ecx + ebx + 0x6c57cba0]
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x6c369776
test edx, edx
je 0x6c369776
movsx ecx, word [esp + 0xc0]
cmp cx, 3
jg 0x6c369e9d
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
add ecx, 1
mov byte [esp + 0xbc], cl
movsx ecx, word [esp + 0xc2]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
add ecx, 1
mov byte [esp + 0xbd], cl
movsx ecx, word [esp + 0xc4]
mov dword [esp], ebx
movzx ecx, byte [ecx + eax*4 + 0x6c57cc40]
add ecx, 1
mov byte [esp + 0xbe], cl
movsx ecx, word [esp + 0xc6]
movzx eax, byte [ecx + eax*4 + 0x6c57cc40]
add eax, 1
mov byte [esp + 0xbf], al
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
call dword [ebp + 0x4c]
mov ebx, dword [esp + 0x10c]
shl ebx, 3
jmp 0x6c36666c
mov ebx, 2
mov word [esp + 0x54], 2
jmp 0x6c367442
mov word [esp + 0x48], 2
mov si, 2
movzx ebx, word [esp + 0x48]
jmp 0x6c36862d
xor eax, eax
cmp byte [ebp + 0x103c], 0
setne al
xor esi, esi
add eax, 1
mov si, ax
xor eax, eax
cmp byte [ebp + 0x103d], 0
setne al
add eax, 1
mov word [esp + 0x48], ax
mov ecx, eax
jmp 0x6c368586
mov ebx, 2
mov word [esp + 0x54], 2
jmp 0x6c367599
mov edi, dword [esp + 0x68]
test edi, edi
je 0x6c367552
movsx edx, si
movsx eax, word [esp + 0x48]
movsx ebx, bx
movzx edx, byte [edx + ecx*4 + 0x6c57cc40]
add edx, 1
mov byte [esp + 0xc0], dl
movzx edx, byte [eax + ecx*4 + 0x6c57cc40]
movzx eax, byte [ebx + ecx*4 + 0x6c57cc40]
mov ebx, dword [esp + 0x68]
add edx, 1
add eax, 1
mov byte [esp + 0xc2], al
movsx eax, word [esp + 0x54]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x104]
mov byte [esp + 0xc1], dl
movzx eax, byte [eax + ecx*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x5c]
mov dword [esp], ebx
add eax, 1
mov byte [esp + 0xc3], al
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
call dword [ebp + 0x44]
mov eax, dword [ebp + 0xbc0]
jmp 0x6c367558
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], ecx
mov dword [esp], edi
call dword [ebp + 0x50]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
movzx ebx, byte [ebx + edx + 0x6c57cb00]
movzx edx, byte [esi + edx + 0x6c57cba0]
test ebx, ebx
mov dword [esp + 0x50], ebx
je 0x6c3656b0
test edx, edx
je 0x6c3656b0
jmp 0x6c368400
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x6c367666
movsx ecx, si
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + 0xc0], cl
movsx ecx, word [esp + 0x48]
mov dword [esp + 8], eax
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc1], cl
movsx ecx, bx
movzx ecx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc2], cl
movsx ecx, word [esp + 0x54]
movzx edx, byte [ecx + edx*4 + 0x6c57cc40]
mov byte [esp + 0xc3], dl
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x100]
add edx, dword [esp + 0x10c]
mov dword [esp], edx
call dword [ebp + 0x2c]
jmp 0x6c367666
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x6c368a91
movsx edx, si
movzx edx, byte [edx + ecx*4 + 0x6c57cc40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
add edx, 1
mov byte [esp + 0xc0], dl
movsx edx, word [esp + 0x48]
mov dword [esp + 4], eax
movzx edx, byte [edx + ecx*4 + 0x6c57cc40]
add edx, 1
mov byte [esp + 0xc1], dl
movsx edx, bx
movzx edx, byte [edx + ecx*4 + 0x6c57cc40]
add edx, 1
mov byte [esp + 0xc2], dl
movsx edx, word [esp + 0x54]
movzx edx, byte [edx + ecx*4 + 0x6c57cc40]
mov ecx, dword [esp + 0x5c]
add edx, 1
mov byte [esp + 0xc3], dl
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x100]
add edx, dword [esp + 0x10c]
mov dword [esp + 8], ecx
mov dword [esp], edx
call dword [ebp + 0x44]
jmp 0x6c368a91
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 1]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c367f45
lea edx, [eax + eax*2]
movzx ecx, byte [ecx*8 + 0x6c57cec0]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c367ed0
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 3]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c36801a
lea edx, [eax + eax*2]
movzx ecx, byte [edi + 2]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c367faf
test dword [esp + 0x48], 0x1000000
je 0x6c368ca1
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + ebx*2]
and dx, 0x2000
movzx edx, dx
jmp 0x6c368cb5
test esi, 0x1000000
je 0x6c368d21
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + eax*2]
and dx, 0x2000
movzx edx, dx
jmp 0x6c368d35
and esi, 0x1000000
je 0x6c368ce1
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + eax*2]
and dx, 0x8000
movzx edx, dx
jmp 0x6c368cf5
test esi, 0x1000000
je 0x6c368d61
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + eax*2]
and dx, 0x8000
movzx edx, dx
jmp 0x6c368d75
lea edx, [ebx + ebx*2]
movzx ecx, byte [edi + 5]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c3680ef
lea edx, [eax + eax*2]
movzx ecx, byte [edi + 4]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c368084
test dword [esp + 0x48], 0x1000000
je 0x6c368c21
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + ebx*2]
and dx, 0x8000
movzx edx, dx
jmp 0x6c368c35
test dword [esp + 0x48], 0x1000000
je 0x6c368c61
mov edx, dword [ebp + 0x6db30]
movzx edx, word [edx + ebx*2]
and dx, 0x2000
movzx edx, dx
jmp 0x6c368c75
lea edx, [eax + eax*2]
movzx ecx, byte [edi + 6]
shl edx, 4
add edx, dword [ebp + 0x10a8]
movzx edx, byte [edx + ecx]
jmp 0x6c368159
mov esi, dword [esp + 0x10c]
mov edi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [ebp + 0x58]
jmp 0x6c366800
movsx eax, word [esp + 0xc6]
movsx ebx, word [esp + 0xc4]
jmp 0x6c365ef0
xor ebx, ebx
movzx eax, byte [esi - 0x11]
lea edx, [edi + 0x14]
or al, byte [esi - 0x10]
mov word [esp + 0xc0], 2
lea ecx, [edi + 0x13]
je 0x6c369c10
mov dword [esp + 0x58], 4
mov dword [esp + 0x50], 2
jmp 0x6c36530d
test ebx, ebx
je 0x6c3659e8
movzx eax, byte [esi - 8]
or al, byte [esi - 9]
jne 0x6c369c52
movsx ebx, word [esp + 0xc4]
mov dword [esp + 0x50], 2
mov dword [esp + 0x44], ebx
movsx ebx, word [esp + 0xc2]
mov dword [esp + 0x5c], ebx
add ebx, 2
mov dword [esp + 0x58], ebx
mov ebx, 1
jmp 0x6c36596a
movsx ebx, word [esp + 0xc2]
mov dword [esp + 0x50], 2
mov dword [esp + 0x5c], ebx
add ebx, 2
mov dword [esp + 0x58], ebx
mov ebx, 1
jmp 0x6c365958
movzx eax, byte [edi + 0x1045]
or al, byte [edi + 0x103d]
jne 0x6c369ce4
movsx ebx, word [esp + 0xc2]
mov dword [esp + 0x30], 1
mov dword [esp + 0x84], ebx
movsx ebx, word [esp + 0xc0]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x94], ebx
add eax, ebx
mov dword [esp + 0x9c], eax
jmp 0x6c365e5a
mov dword [esp + 0x9c], 4
mov dword [esp + 0x94], 2
mov dword [esp + 0x30], 0
jmp 0x6c365e45
movsx ebx, word [esp + 0xc0]
mov dword [esp + 0x30], 1
mov dword [esp + 0x94], ebx
add ebx, 2
mov dword [esp + 0x9c], ebx
jmp 0x6c365e45
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebp + 0x40]
jmp 0x6c36918e
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [ebp + 0x40]
jmp 0x6c369245
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [ebp + 0x40]
jmp 0x6c3690d0
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebp + 0x40]
jmp 0x6c3668d0
movsx ebx, word [esp + 0xc4]
movsx eax, word [esp + 0xc6]
mov dword [esp + 0x44], ebx
mov edx, ebx
jmp 0x6c365990
movzx eax, byte [edi + 0x103e]
or al, byte [edi + 0x1046]
jne 0x6c369df5
movsx eax, word [esp + 0xc2]
movsx ebx, word [esp + 0xc4]
mov dword [esp + 0x94], 2
mov dword [esp + 0x30], 1
mov dword [esp + 0x84], eax
add eax, 2
mov dword [esp + 0x9c], eax
jmp 0x6c365ec7
mov ebx, 1
jmp 0x6c369bde
movsx ebx, word [esp + 0xc2]
mov dword [esp + 0x94], 2
mov dword [esp + 0x30], 1
mov dword [esp + 0x84], ebx
add ebx, 2
mov dword [esp + 0x9c], ebx
jmp 0x6c365eb8
movsx ebx, word [esp + 0xc0]
mov dword [esp + 0x50], ebx
add ebx, 2
mov dword [esp + 0x58], ebx
mov ebx, 1
jmp 0x6c36530d
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
call dword [ebp + 0x40]
jmp 0x6c3668d0
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
call dword [ebp + 0x58]
jmp 0x6c3668d0
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
call dword [ebp + 0x58]
jmp 0x6c36673a
mov ebx, dword [esp + 0x10c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebp + 0x58]
jmp 0x6c369776
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
call dword [ebp + 0x40]
jmp 0x6c3694c8
mov esi, dword [esp + 0x10c]
mov edi, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [ebp + 0x40]
jmp 0x6c369582
mov ebx, dword [esp + 0x10c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebp + 0x58]
jmp 0x6c366662
mov ebx, dword [esp + 0x10c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebp + 0x40]
jmp 0x6c3693fc