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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffa9c
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x48], eax
xor edx, edx
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x44]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
inc dword [eax]
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 4]
jb 0x59cf3b
mov eax, 0xfffffff8
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 8]
cmp ecx, dword [ebp + 8]
ja 0x59cf50
mov eax, 0xffffffeb
jmp 0x5a9bf0
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x40], edx
test byte [ebp + 0xc], 2
je 0x59cf74
mov dword [ebp - 0x94], ebx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x98]
mov dword [ebp + 0x10], ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dl, byte [edi]
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp - 0x80]
cmp ecx, 0x76
ja case.0x59cf8f.70
jmp dword [ecx*4 + 0x59cf96]
lea ecx, [edi + 2]
mov dword [ebp + 0x20], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
xor eax, eax
mov dl, byte [edi]
mov al, byte [edi + 1]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
add edx, eax
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xfffffc1d
jne 0x59d1f6
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0x70]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x59d1f6
test cl, cl
je 0x59d1e4
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x59d1f6
add eax, 2
add edx, 2
test cl, cl
jne 0x59d1c8
jne 0x59d1f6
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x70], ebx
mov eax, 0xfffffc1c
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x9c], 0
jne 0x59d20e
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d26e
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffc1a
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d2c9
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffc1b
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
xor eax, eax
mov dl, byte [edi]
mov al, byte [edi + 1]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
add edx, eax
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d32b
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
add edi, 2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x9c], edi
mov eax, 0xfffffc1b
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d386
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x70], ebx
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffc1c
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
xor eax, eax
mov dl, byte [edi]
mov al, byte [edi + 1]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
add edx, eax
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d3ee
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
add edi, 2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x70], edi
mov eax, 0xfffffc1d
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d446
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffc1e
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
xor eax, eax
mov dl, byte [edi]
mov al, byte [edi + 1]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
add edx, eax
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d4a8
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
add edi, 2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x9c], edi
mov eax, 0xfffffc1e
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov dl, byte [edi + 4]
mov cl, byte [edi + 5]
shl edx, 8
or edx, ecx
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x78]
add ecx, ecx
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x14]
cmp edx, dword [ebp - 0x7c]
jle case.0x59cf8f.94
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7c]
mov edx, dword [edx + eax*4 + 4]
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax + 0xc]
sub ecx, dword [ebp - 0x78]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x84]
mov eax, ebx
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
sub eax, dword [ecx + 0x68]
mov ecx, dword [ebp + 0x18]
mov edx, dword [edx + 0x10]
sub edx, dword [ebp - 0x78]
mov ecx, dword [ecx + 0xc]
mov dword [ecx + edx*4], eax
cmp dword [ebp - 0x80], 0x62
jne 0x59d55a
mov eax, 2
jmp 0x59d55c
xor eax, eax
mov dword [ebp + 0xc], eax
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d5ad
cmp dword [ebp - 8], 0xfffffc1e
je 0x59d5ad
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov dword [edx + 0x84], ecx
xor ecx, ecx
mov al, byte [edi + 2]
mov cl, byte [edi + 1]
xor edx, edx
shl eax, 8
mov dl, byte [edi + 3]
shl ecx, 0x10
or ecx, eax
or ecx, edx
add edi, ecx
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x54
je 0x59d55f
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x88]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x7c]
mov dword [eax + edx*4 + 4], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx + 0xc]
sub edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x90]
mov dword [eax + edx*4], ecx
cmp dword [ebp - 8], 0xfffffc1e
je 0x59d636
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 0x80], 0x61
jl 0x59d64a
mov edx, 2
jmp 0x59d64c
xor edx, edx
mov dword [ebp + 0xc], edx
xor eax, eax
xor ecx, ecx
mov cl, byte [edi + 2]
mov al, byte [edi + 1]
shl ecx, 8
xor edx, edx
shl eax, 0x10
mov dl, byte [edi + 3]
or eax, ecx
or eax, edx
movzx eax, byte [edi + eax]
cmp eax, 0x54
je 0x59d6da
cmp dword [ebp + 0xc], 0
jne 0x59d689
xor ecx, ecx
mov cl, byte [edi]
movzx ecx, byte [ecx + 0x5ec1b8]
add edi, ecx
jmp 0x59cf19
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x59d6d2
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov dl, byte [edi]
mov ecx, dword [ebp - 4]
movzx edx, byte [edx + 0x5ec1b8]
add edx, edi
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59d728
cmp dword [ebp - 8], 0xfffffc1e
je 0x59d728
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
add edi, edx
jmp 0x59d64f
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
mov dword [ebp - 0x64], edx
xor edx, edx
mov dl, byte [edi + 4]
cmp edx, 0x53
jne 0x59d885
cmp dword [0x5ea718], 0
je 0x59d87b
mov dword [ebp - 0x534], 1
xor ecx, ecx
mov cl, byte [edi + 5]
mov dword [ebp - 0x530], ecx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x68]
mov dword [ebp - 0x528], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebp + 0x18]
sub edx, dword [eax + 0x68]
mov eax, ebx
mov dword [ebp - 0x524], edx
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
sub ecx, dword [edx + 0x68]
xor edx, edx
mov dword [ebp - 0x520], ecx
mov ecx, dword [ebp + 0x18]
sub eax, dword [ecx + 0x68]
xor ecx, ecx
mov dword [ebp - 0x51c], eax
xor eax, eax
mov al, byte [edi + 7]
mov dl, byte [edi + 6]
shl eax, 8
mov cl, byte [edi + 8]
shl edx, 0x10
or edx, eax
xor eax, eax
or edx, ecx
xor ecx, ecx
mov dword [ebp - 0x50c], edx
xor edx, edx
mov dl, byte [edi + 9]
mov al, byte [edi + 0xa]
shl eax, 8
mov cl, byte [edi + 0xb]
shl edx, 0x10
or edx, eax
or edx, ecx
mov dword [ebp - 0x508], edx
mov edx, dword [ebp + 0x1c]
sar edx, 1
jns 0x59d823
adc edx, 0
mov dword [ebp - 0x518], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x84]
mov dword [ebp - 0x514], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x98]
mov dword [ebp - 0x510], ecx
lea eax, [ebp - 0x534]
call dword [0x5ea718]
mov dword [ebp - 8], eax
test eax, eax
jle 0x59d86d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 8], 0
jge 0x59d87b
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [0x5ec20b]
add edi, edx
xor ecx, ecx
mov cl, byte [edi + 4]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x66
je 0x59d89d
cmp dword [ebp - 0x1c], 0x67
jne 0x59dad1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x94], 0
jne 0x59d8cb
xor eax, eax
xor edx, edx
mov dl, byte [edi + 2]
mov al, byte [edi + 1]
shl edx, 8
xor ecx, ecx
shl eax, 0x10
mov cl, byte [edi + 3]
or eax, edx
xor esi, esi
or eax, ecx
add edi, eax
jmp 0x59ddc5
xor ecx, ecx
xor eax, eax
mov cl, byte [edi + 5]
mov al, byte [edi + 6]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0xffff
je 0x59d904
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x94]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x9c]
je 0x59d904
xor esi, esi
jmp 0x59d909
mov esi, 1
test esi, esi
jne 0x59daa6
cmp dword [ebp - 0x1c], 0x67
jne 0x59daa6
cmp dword [ebp - 0x9c], 0xffff
je 0x59daa6
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0xa0], edx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
jmp 0x59d96e
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x9c]
je 0x59d979
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x24]
add dword [ebp - 0xa0], ecx
inc dword [ebp - 0xc]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ebp - 0xc]
jg 0x59d93e
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x20]
cmp ecx, dword [ebp - 0xc]
jle 0x59daa6
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
jmp 0x59da04
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x24]
sub dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x59d9d0
test cl, cl
je 0x59d9d2
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x59d9d0
add eax, 2
add edx, 2
test cl, cl
jne 0x59d9b4
jne 0x59da12
mov eax, dword [ebp - 0xa4]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x94]
cmp edx, dword [ecx + 4]
sete dl
and edx, 1
mov esi, edx
test esi, esi
jne 0x59da12
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x28]
cmp edx, dword [ebp - 0xa4]
jb 0x59d996
test esi, esi
jne 0x59daa6
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], ecx
inc dword [ebp - 0xc]
jmp 0x59da9b
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x24]
add dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x59da65
test cl, cl
je 0x59da67
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x59da65
add eax, 2
add edx, 2
test cl, cl
jne 0x59da49
jne 0x59daa6
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
mov ecx, dword [ebp + 0x18]
shl eax, 8
or eax, edx
mov edx, dword [ecx + 0x94]
cmp eax, dword [edx + 4]
sete al
and eax, 1
mov esi, eax
test esi, esi
jne 0x59daa6
inc dword [ebp - 0xc]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x20]
cmp edx, dword [ebp - 0xc]
jg 0x59da2b
test esi, esi
je 0x59dab1
mov ecx, 3
jmp 0x59daca
xor ecx, ecx
xor eax, eax
mov al, byte [edi + 2]
mov cl, byte [edi + 1]
shl eax, 8
xor edx, edx
shl ecx, 0x10
mov dl, byte [edi + 3]
or ecx, eax
or ecx, edx
add edi, ecx
jmp 0x59ddc5
cmp dword [ebp - 0x1c], 0x64
je 0x59dae1
cmp dword [ebp - 0x1c], 0x65
jne 0x59dd05
xor ecx, ecx
xor eax, eax
mov cl, byte [edi + 5]
mov al, byte [edi + 6]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp + 0x1c]
jge 0x59db0c
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0xc]
mov edx, dword [ebp - 0x7c]
cmp dword [eax + edx*4], 0
jge 0x59db10
xor esi, esi
jmp 0x59db15
mov esi, 1
test esi, esi
jne 0x59dcda
cmp dword [ebp - 0x1c], 0x65
jne 0x59dcda
mov eax, dword [ebp - 0x7c]
sar eax, 1
mov dword [ebp - 0xa8], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0xac], ecx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
jmp 0x59db76
mov eax, dword [ebp - 0xac]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
cmp edx, dword [ebp - 0xa8]
je 0x59db81
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x24]
add dword [ebp - 0xac], ecx
inc dword [ebp - 0xc]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x20]
cmp edx, dword [ebp - 0xc]
jg 0x59db45
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ebp - 0xc]
jle 0x59dcda
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0xb0], edx
jmp 0x59dc1c
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x24]
sub dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x59dbd8
test cl, cl
je 0x59dbda
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x59dbd8
add eax, 2
add edx, 2
test cl, cl
jne 0x59dbbc
jne 0x59dc2e
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
add eax, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp + 0x1c]
jge 0x59dc0f
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x7c]
cmp dword [ecx + eax*4], 0
jge 0x59dc13
xor esi, esi
jmp 0x59dc18
mov esi, 1
test esi, esi
jne 0x59dc2e
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x28]
cmp edx, dword [ebp - 0xb0]
jb 0x59db9e
test esi, esi
jne 0x59dcda
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xb0], ecx
inc dword [ebp - 0xc]
jmp 0x59dccb
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x24]
add dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x59dc84
test cl, cl
je 0x59dc86
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x59dc84
add eax, 2
add edx, 2
test cl, cl
jne 0x59dc68
jne 0x59dcda
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
add eax, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp + 0x1c]
jge 0x59dcbb
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x7c]
cmp dword [ecx + eax*4], 0
jge 0x59dcbf
xor esi, esi
jmp 0x59dcc4
mov esi, 1
test esi, esi
jne 0x59dcda
inc dword [ebp - 0xc]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x20]
cmp edx, dword [ebp - 0xc]
jg 0x59dc4a
test esi, esi
je 0x59dce5
mov ecx, 3
jmp 0x59dcfe
xor ecx, ecx
xor eax, eax
mov al, byte [edi + 2]
mov cl, byte [edi + 1]
shl eax, 8
xor edx, edx
shl ecx, 0x10
mov dl, byte [edi + 3]
or ecx, eax
or ecx, edx
add edi, ecx
jmp 0x59ddc5
cmp dword [ebp - 0x1c], 0x68
jne 0x59dd2d
xor eax, eax
xor edx, edx
mov dl, byte [edi + 2]
mov al, byte [edi + 1]
shl edx, 8
xor ecx, ecx
shl eax, 0x10
mov cl, byte [edi + 3]
or eax, edx
xor esi, esi
or eax, ecx
add edi, eax
jmp 0x59ddc5
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
lea edx, [edi + 4]
mov ecx, dword [ebp + 0x14]
push ecx
push 0
push 1
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jne 0x59dda7
xor eax, eax
xor edx, edx
mov dl, byte [edi + 6]
mov al, byte [edi + 5]
shl edx, 8
xor ecx, ecx
shl eax, 0x10
mov cl, byte [edi + 7]
or eax, edx
mov esi, 1
or eax, ecx
add eax, 4
add edi, eax
jmp 0x59dd9c
xor ecx, ecx
xor eax, eax
mov al, byte [edi + 2]
mov cl, byte [edi + 1]
shl eax, 8
xor edx, edx
shl ecx, 0x10
mov dl, byte [edi + 3]
or ecx, eax
or ecx, edx
add edi, ecx
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x54
je 0x59dd81
jmp 0x59ddc5
cmp dword [ebp - 8], 0
je 0x59ddc0
cmp dword [ebp - 8], 0xfffffc1e
je 0x59ddc0
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor esi, esi
add edi, dword [ebp - 0x64]
test esi, esi
jne 0x59ddd2
xor eax, eax
mov al, byte [edi]
cmp eax, 0x54
jne 0x59de21
add edi, 4
cmp dword [ebp - 0x80], 0x63
jne 0x59de12
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 2
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
mov dword [ebp + 0xc], edx
jmp 0x59cf19
add edi, 4
jmp 0x59cf74
xor ecx, ecx
mov cl, byte [edi + 1]
shl ecx, 8
movzx esi, byte [edi + 2]
or ecx, esi
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x78]
add eax, eax
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x78]
mov dword [edx + 0x84], ecx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ebp - 0x7c]
jg 0x59de65
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x38], 1
jmp 0x59dea9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x10]
mov edx, dword [edx + 0xc]
sub eax, dword [ebp - 0x78]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx + eax*4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x7c]
mov dword [edx + ecx*4], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
sub edx, dword [eax + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7c]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp + 0x1c]
cmp edx, dword [ebp - 0x7c]
jg 0x59dea9
mov ecx, dword [ebp - 0x7c]
add ecx, 2
mov dword [ebp + 0x1c], ecx
add edi, 3
jmp 0x59cf74
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x94], 0
je 0x59df2c
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x94]
cmp dword [edx + 4], 0
jne 0x59df2c
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x94]
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx]
mov dword [eax + 0x94], ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edx + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 0x18]
shl ecx, 2
mov eax, dword [eax + 0xc]
call fcn.005953d8
mov edx, dword [ebp - 0xb4]
mov ecx, dword [edx + 0x14]
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp + 0x14], ecx
mov eax, dword [ebp - 0xb4]
mov edi, dword [eax + 8]
jmp 0x59cf74
cmp ebx, dword [ebp - 4]
jne 0x59df6a
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x54], 0
jne 0x59df57
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x58], 0
je 0x59df6a
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x68]
add ecx, dword [eax + 0x88]
cmp ecx, dword [ebp - 4]
jne 0x59df6a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x74], ebx
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x1c]
mov dword [ecx + 0x80], ebx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov dword [eax + 0x70], edx
cmp dword [ebp - 0x80], 0
jne 0x59df92
mov ecx, 1
jmp 0x59df97
mov ecx, 0xfffffc19
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [edi + 1]
add edi, 2
mov dword [ebp + 0x14], edx
jmp 0x59cf74
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
lea edx, [edi + 4]
mov ecx, dword [ebp + 8]
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
je 0x59dff6
cmp dword [ebp - 8], 0xfffffc19
jne 0x59e001
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x70]
mov dword [ebp - 4], ecx
jmp 0x59e03c
cmp dword [ebp - 8], 0
je 0x59e018
cmp dword [ebp - 8], 0xfffffc1e
je 0x59e018
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
xor eax, eax
mov al, byte [edi + 2]
mov dl, byte [edi + 1]
shl eax, 8
xor ecx, ecx
shl edx, 0x10
mov cl, byte [edi + 3]
or edx, eax
or edx, ecx
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x54
je case.0x59cf8f.88
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x55
jne 0x59e058
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
test byte [ebp + 0xc], 1
je 0x59e068
mov eax, 1
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x54
je 0x59e068
add edi, 4
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x80]
mov dword [ebp + 0x1c], ecx
jmp 0x59cf74
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push 0
push 0
mov eax, ebx
mov edx, dword [ebp + 8]
inc edx
push edx
lea edx, [edi + 4]
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
je 0x59e0d8
cmp dword [ebp - 8], 0xfffffc19
jne 0x59e0eb
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 8], 0xfffffc1c
je 0x59e106
cmp dword [ebp - 8], 0xfffffc1b
je 0x59e106
cmp dword [ebp - 8], 0xfffffc1a
jne 0x59e12c
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x54
je 0x59e106
jmp 0x59e16b
cmp dword [ebp - 8], 0
je 0x59e143
cmp dword [ebp - 8], 0xfffffc1e
je 0x59e143
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x54
je case.0x59cf8f.89
test byte [ebp + 0xc], 1
je 0x59e17b
mov eax, 1
jmp 0x5a9bf0
add edi, 4
jmp 0x59cf74
cmp dword [ebp - 0x10], 0
je 0x59e1e5
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
mov dword [ebp - 0xc], edx
jmp 0x59e1d8
dec ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x68]
jae 0x59e1c6
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
dec ebx
xor edx, edx
mov dl, byte [ebx]
and edx, 0xc0
cmp edx, 0x80
je 0x59e1c5
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0xc], 0xffffffff
test ecx, ecx
jg 0x59e1a7
jmp 0x59e21b
xor ecx, ecx
xor eax, eax
mov al, byte [edi + 2]
mov cl, byte [edi + 1]
shl eax, 8
xor edx, edx
shl ecx, 0x10
mov dl, byte [edi + 3]
or ecx, eax
or ecx, edx
sub ebx, ecx
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x68]
jae 0x59e21b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x78]
jae 0x59e229
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x78], ebx
add edi, 4
jmp 0x59cf74
cmp dword [0x5ea718], 0
je 0x59e33a
mov dword [ebp - 0x564], 1
xor ecx, ecx
mov cl, byte [edi + 1]
mov dword [ebp - 0x560], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x55c], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x558], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, dword [eax + 0x68]
mov dword [ebp - 0x554], ecx
mov ecx, ebx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
sub eax, dword [edx + 0x68]
mov dword [ebp - 0x550], eax
xor eax, eax
mov edx, dword [ebp + 0x18]
sub ecx, dword [edx + 0x68]
xor edx, edx
mov dword [ebp - 0x54c], ecx
xor ecx, ecx
mov cl, byte [edi + 2]
mov al, byte [edi + 3]
shl eax, 8
mov dl, byte [edi + 4]
shl ecx, 0x10
or ecx, eax
xor eax, eax
or ecx, edx
xor edx, edx
mov dword [ebp - 0x53c], ecx
xor ecx, ecx
mov cl, byte [edi + 5]
mov al, byte [edi + 6]
shl eax, 8
mov dl, byte [edi + 7]
shl ecx, 0x10
or ecx, eax
or ecx, edx
mov dword [ebp - 0x538], ecx
mov ecx, dword [ebp + 0x1c]
sar ecx, 1
jns 0x59e2e2
adc ecx, 0
mov dword [ebp - 0x548], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x84]
mov dword [ebp - 0x544], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x98]
mov dword [ebp - 0x540], eax
lea eax, [ebp - 0x564]
call dword [0x5ea718]
mov dword [ebp - 8], eax
test eax, eax
jle 0x59e32c
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 8], 0
jge 0x59e33a
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
add edi, 8
jmp 0x59cf74
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl edx, 0x10
xor eax, eax
shl ecx, 8
mov al, byte [edi + 3]
or edx, ecx
mov ecx, dword [ebp + 0x18]
or edx, eax
add edx, dword [ecx + 0x64]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x64]
cmp ecx, dword [ebp - 0x24]
jne 0x59e373
xor eax, eax
jmp 0x59e388
mov edx, dword [ebp - 0x24]
xor eax, eax
mov al, byte [edx + 4]
shl eax, 8
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov cl, byte [edx + 5]
or eax, ecx
mov dword [ebp - 0x488], eax
lea edx, [ebp - 0x48c]
mov ecx, dword [ebp + 0x18]
add edi, 4
mov eax, dword [ecx + 0x94]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x94], edx
mov dword [ebp - 0x484], edi
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x47c], ecx
cmp dword [ebp - 0x47c], 0x1e
jg 0x59e3d8
lea ecx, [ebp - 0x504]
mov dword [ebp - 0x480], ecx
jmp 0x59e3ff
mov eax, dword [ebp - 0x47c]
shl eax, 2
call fcn.00595344
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0
jne 0x59e3ff
mov eax, 0xfffffffa
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x47c]
shl ecx, 2
mov eax, dword [ebp - 0x480]
mov edx, dword [edx + 0xc]
call fcn.005953c8
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x478], ecx
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x61
jl 0x59e435
mov edx, 2
jmp 0x59e437
xor edx, edx
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
xor ecx, ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov edx, dword [ebp - 0x24]
mov cl, byte [edx]
xor edx, edx
mov dl, byte [ecx + 0x5ec1b8]
mov ecx, dword [ebp - 4]
add edx, dword [ebp - 0x24]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
je 0x59e485
cmp dword [ebp - 8], 0xfffffc19
jne 0x59e4c5
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x48c]
mov dword [edx + 0x94], eax
lea edx, [ebp - 0x504]
cmp edx, dword [ebp - 0x480]
je 0x59e4ad
mov eax, dword [ebp - 0x480]
call fcn.005951f4
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 1
jmp 0x5a9bf0
cmp dword [ebp - 8], 0
je 0x59e4f5
cmp dword [ebp - 8], 0xfffffc1e
je 0x59e4f5
lea edx, [ebp - 0x504]
cmp edx, dword [ebp - 0x480]
je 0x59e4ed
mov eax, dword [ebp - 0x480]
call fcn.005951f4
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
lea edx, [ebp - 0x48c]
mov dword [ecx + 0x94], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x47c]
shl ecx, 2
mov edx, dword [ebp - 0x480]
mov eax, dword [eax + 0xc]
call fcn.005953c8
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor edx, edx
movzx ecx, byte [ecx + 1]
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x24]
shl edx, 8
shl ecx, 0x10
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
or ecx, edx
add dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ecx]
cmp ecx, 0x54
je 0x59e43a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x48c]
mov dword [eax + 0x94], edx
lea eax, [ebp - 0x504]
cmp eax, dword [ebp - 0x480]
je 0x59e579
mov eax, dword [ebp - 0x480]
call fcn.005951f4
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], ebx
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
lea edx, [edi + 4]
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jne 0x59e5ce
mov edx, dword [ebp + 0x18]
mov esi, dword [edx + 0x70]
mov dword [ebp - 4], esi
jmp 0x59e609
cmp dword [ebp - 8], 0
je 0x59e5e5
cmp dword [ebp - 8], 0xfffffc1e
je 0x59e5e5
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x54
je 0x59e592
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x5d
je 0x59e621
movzx esi, byte [edi]
cmp esi, 0x54
je 0x59e621
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov cl, byte [edi + 2]
mov dl, byte [edi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [edi + 3]
or edx, ecx
or edx, eax
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x54
je 0x59e621
mov ecx, dword [ebp + 0x18]
mov esi, dword [ecx + 0x80]
mov dword [ebp + 0x1c], esi
mov eax, dword [ebp + 0x18]
mov ebx, dword [eax + 0x74]
xor eax, eax
mov al, byte [edi]
cmp eax, 0x55
je 0x59e665
cmp ebx, dword [ebp - 0x34]
jne 0x59e66d
add edi, 4
jmp 0x59cf74
xor edx, edx
mov dl, byte [edi + 4]
cmp edx, 0x19
jne 0x59e686
mov ecx, dword [ebp + 0x14]
and ecx, 0xfffffff8
movzx esi, byte [edi + 4]
or ecx, esi
mov dword [ebp + 0x14], ecx
xor eax, eax
mov al, byte [edi]
cmp eax, 0x57
jne 0x59e6d7
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
lea edx, [edi + 4]
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59e6c8
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edi, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp + 0xc], eax
jmp 0x59cf19
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
push 2
mov ecx, dword [ebp + 8]
inc ecx
push ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59e710
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
add edi, 4
xor edx, edx
mov dword [ebp + 0xc], edx
jmp 0x59cf19
movzx esi, byte [edi + 2]
xor ecx, ecx
xor eax, eax
mov cl, byte [edi + 1]
mov al, byte [edi + 3]
shl esi, 8
xor edx, edx
shl ecx, 0x10
or ecx, esi
or ecx, eax
add edi, ecx
mov dl, byte [edi]
cmp edx, 0x54
je case.0x59cf8f.84
jmp 0x59cf74
mov eax, dword [ebp + 0x20]
lea esi, [edi + 1]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, esi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59e780
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov cl, byte [esi + 2]
mov dl, byte [esi + 1]
shl ecx, 8
xor eax, eax
shl edx, 0x10
mov al, byte [esi + 3]
or edx, ecx
or edx, eax
add esi, edx
xor edx, edx
mov dl, byte [esi]
cmp edx, 0x54
je 0x59e780
lea edi, [esi + 4]
jmp 0x59cf74
lea esi, [edi + 1]
xor eax, eax
xor edx, edx
mov dl, byte [esi + 2]
mov al, byte [esi + 1]
shl edx, 8
xor ecx, ecx
shl eax, 0x10
mov cl, byte [esi + 3]
or eax, edx
or eax, ecx
xor ecx, ecx
add esi, eax
mov cl, byte [esi]
cmp ecx, 0x54
je 0x59e7af
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
lea edx, [esi + 4]
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59e80c
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
lea esi, [edi + 1]
xor eax, eax
xor edx, edx
mov dl, byte [esi + 2]
mov al, byte [esi + 1]
shl edx, 8
xor ecx, ecx
shl eax, 0x10
mov cl, byte [esi + 3]
or eax, edx
or eax, ecx
xor ecx, ecx
add esi, eax
mov cl, byte [esi]
cmp ecx, 0x54
je 0x59e815
lea edi, [esi + 4]
jmp 0x59cf74
xor eax, eax
xor edx, edx
mov dl, byte [edi + 2]
mov al, byte [edi + 1]
shl eax, 0x10
xor ecx, ecx
shl edx, 8
mov cl, byte [edi + 3]
or eax, edx
mov edx, edi
or eax, ecx
xor ecx, ecx
sub edx, eax
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov cl, byte [eax]
cmp ecx, 0x61
jl 0x59e880
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
mov dword [ebp + 0x10], ecx
jmp 0x59e885
xor eax, eax
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x30]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x58
je 0x59e8c1
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x59
je 0x59e8c1
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5a
je 0x59e8c1
mov edx, dword [ebp - 0x30]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5b
je 0x59e8c1
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x59e8f2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x74], ebx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x80], edx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov dword [eax + 0x70], edx
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 1
jmp 0x5a9bf0
mov edx, dword [ebp - 0x30]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5f
je 0x59e90e
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x62
jne 0x59ea12
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov cl, byte [edx + 4]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 5]
or ecx, edx
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x78]
add ecx, ecx
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x78]
mov dword [eax + 0x84], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ebp - 0x7c]
jg 0x59e951
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x38], 1
jmp 0x59e995
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x10]
mov edx, dword [edx + 0xc]
sub eax, dword [ebp - 0x78]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx + eax*4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x7c]
mov dword [edx + ecx*4], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
sub edx, dword [eax + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7c]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp + 0x1c]
cmp edx, dword [ebp - 0x7c]
jg 0x59e995
mov ecx, dword [ebp - 0x7c]
add ecx, 2
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x94], 0
je 0x59ea12
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x94]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebp - 0x78]
jne 0x59ea12
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x94]
mov dword [ebp - 0xb8], edx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx]
mov dword [edx + 0x94], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x10]
shl ecx, 2
mov eax, dword [eax + 0xc]
call fcn.005953c8
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edx + 0x14]
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ecx + 8]
mov eax, dword [ebp - 0x40]
mov dword [ebp + 0x14], eax
jmp 0x59cf74
mov edx, dword [ebp - 0x40]
mov dword [ebp + 0x14], edx
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x55
je 0x59ea26
cmp ebx, dword [ebp - 0x34]
jne 0x59ea2e
add edi, 4
jmp 0x59cf74
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x61
jl 0x59ea41
mov edx, 2
jmp 0x59ea43
xor edx, edx
mov dword [ebp + 0xc], edx
xor eax, eax
mov al, byte [edi]
cmp eax, 0x57
jne 0x59eacd
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
lea edx, [edi + 4]
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59ea88
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
cmp dword [ebp + 0xc], 0
je 0x59eac3
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
inc eax
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edi, dword [ebp - 0x30]
jmp 0x59cf19
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
inc ecx
push ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x59eb08
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
add edi, 4
xor edx, edx
mov dword [ebp + 0xc], edx
jmp 0x59cf19
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x3c], 0
je 0x59eb39
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x68]
jne 0x59eb39
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
test byte [ebp + 0x14], 2
je case.0x59cf8f.1
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x68]
je 0x59ebf9
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
je 0x59ebe6
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x59eb99
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x68]
jbe 0x59eb8e
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x68]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac540
test eax, eax
jne 0x59eb92
xor edx, edx
jmp 0x59ebe2
mov edx, 1
jmp 0x59ebe2
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x68]
add ecx, dword [eax + 0x1c]
cmp ebx, ecx
jb 0x59ebd9
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x1c]
mov edx, dword [ebp + 0x18]
neg ecx
mov al, byte [ebx + ecx]
cmp al, byte [edx + 0x2c]
jne 0x59ebd9
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x59ebdd
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x18]
neg edx
mov cl, byte [ebx + edx + 1]
cmp cl, byte [eax + 0x2d]
je 0x59ebdd
xor edx, edx
jmp 0x59ebe2
mov edx, 1
test edx, edx
jne 0x59ebf9
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x68]
je 0x59ec1a
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x18]
mov ecx, dword [edx + 0x68]
add ecx, dword [esi + 0x88]
cmp ebx, ecx
je 0x59ec46
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov dword [ebp - 4], ebx
inc edi
jmp 0x59cf74
test byte [ebp + 0x14], 2
je 0x59ed20
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x59ecf9
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x59eca9
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x59ec9e
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x18]
mov eax, ebx
mov ecx, dword [ecx + 0x6c]
call fcn.005ac3d8
test eax, eax
jne 0x59eca2
xor edx, edx
jmp 0x59ece0
mov edx, 1
jmp 0x59ece0
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x59ecd7
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x59ecd7
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x59ecdb
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x59ecdb
xor edx, edx
jmp 0x59ece0
mov edx, 1
test edx, edx
jne 0x59ed15
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x40], 0
je 0x59ed15
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x40], 0
je 0x59ed3c
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x50], 0
jne case.0x59cf8f.24
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
je 0x59edf1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x59ed93
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jae 0x59ed88
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x6c]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x59ed8c
xor edx, edx
jmp 0x59edca
mov edx, 1
jmp 0x59edca
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x59edc1
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x59edc1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x59edc5
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x59edc5
xor edx, edx
jmp 0x59edca
mov edx, 1
test edx, edx
je 0x59edde
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x6c]
mov eax, dword [ebp + 0x18]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
je 0x59edf1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x59ee12
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
je 0x59eec0
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x59ee62
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x59ee57
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x18]
mov eax, ebx
mov ecx, dword [ecx + 0x6c]
call fcn.005ac3d8
test eax, eax
jne 0x59ee5b
xor edx, edx
jmp 0x59ee99
mov edx, 1
jmp 0x59ee99
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x59ee90
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x59ee90
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x59ee94
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x59ee94
xor edx, edx
jmp 0x59ee99
mov edx, 1
test edx, edx
je 0x59eead
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x6c]
mov eax, dword [ebp + 0x18]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
je 0x59eec0
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
cmp dword [ebp - 0x10], 0
je 0x59f1be
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x68]
jne 0x59eee2
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
jmp 0x59f04d
lea ecx, [ebx - 1]
mov dword [ebp - 0xbc], ecx
jmp 0x59eef3
dec dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x59eeed
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ebp - 0xbc]
jbe 0x59ef25
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x78], eax
mov edx, dword [ebp - 0xbc]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x59efc3
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xc4]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0xc0], 1
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0xc4]
jg 0x59efc3
sub dword [ebp - 0xc8], 6
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
movzx eax, byte [eax + edx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0xc4]
jle 0x59ef8b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x4c], 0
je 0x59f02d
cmp esi, 0x5f
jne 0x59efda
mov dword [ebp - 0x3c], 1
jmp 0x59f04d
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 1
je 0x59f023
cmp dword [ebp - 0xcc], 3
je 0x59f023
xor edx, edx
jmp 0x59f028
mov edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x59f04d
cmp esi, 0x100
jae 0x59f041
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 0x10
jne 0x59f045
xor edx, edx
jmp 0x59f04a
mov edx, 1
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x59f096
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x59f08c
cmp ebx, dword [ebp - 4]
jbe 0x59f08c
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x59f08c
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
xor edx, edx
mov dword [ebp - 0x38], edx
jmp 0x59f332
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x59f129
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0xd4], edx
mov ecx, dword [ebp - 0xd4]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0xd0], 1
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp - 0xd4]
jg 0x59f129
sub dword [ebp - 0xd8], 6
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd0]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp - 0xd4]
jle 0x59f0f6
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x4c], 0
je 0x59f199
cmp esi, 0x5f
jne 0x59f143
mov dword [ebp - 0x38], 1
jmp 0x59f332
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 1
je 0x59f18c
cmp dword [ebp - 0xdc], 3
je 0x59f18c
xor eax, eax
jmp 0x59f191
mov eax, 1
mov dword [ebp - 0x38], eax
jmp 0x59f332
cmp esi, 0x100
jae 0x59f1ad
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
jne 0x59f1b1
xor eax, eax
jmp 0x59f1b6
mov eax, 1
mov dword [ebp - 0x38], eax
jmp 0x59f332
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x68]
jne 0x59f1d0
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
jmp 0x59f266
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x78]
ja 0x59f1e1
lea edx, [ebx - 1]
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x78], edx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x4c], 0
je 0x59f24e
movzx esi, byte [ebx - 1]
cmp esi, 0x5f
jne 0x59f1fc
mov dword [ebp - 0x3c], 1
jmp 0x59f266
mov eax, esi
shr eax, 7
xor edx, edx
mov dl, byte [eax + 0x5f870c]
shl edx, 7
and esi, 0x7f
add edx, esi
movzx ecx, word [edx*2 + 0x5edb0c]
movzx ecx, byte [ecx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 1
je 0x59f244
cmp dword [ebp - 0xe0], 3
je 0x59f244
xor edx, edx
jmp 0x59f249
mov edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x59f266
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [ebx - 1]
mov edx, dword [eax + 0x34]
test byte [edx + ecx], 0x10
setne cl
and ecx, 1
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x59f2af
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x59f2a5
cmp ebx, dword [ebp - 4]
jbe 0x59f2a5
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x59f2a5
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
xor edx, edx
mov dword [ebp - 0x38], edx
jmp 0x59f332
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x4c], 0
je 0x59f31b
movzx esi, byte [ebx]
cmp esi, 0x5f
jne 0x59f2c9
mov dword [ebp - 0x38], 1
jmp 0x59f332
mov eax, esi
shr eax, 7
xor edx, edx
mov dl, byte [eax + 0x5f870c]
shl edx, 7
and esi, 0x7f
add edx, esi
movzx ecx, word [edx*2 + 0x5edb0c]
movzx ecx, byte [ecx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 1
je 0x59f311
cmp dword [ebp - 0xe4], 3
je 0x59f311
xor edx, edx
jmp 0x59f316
mov edx, 1
mov dword [ebp - 0x38], edx
jmp 0x59f332
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [ebx]
mov edx, dword [eax + 0x34]
test byte [edx + ecx], 0x10
setne cl
and ecx, 1
mov dword [ebp - 0x38], ecx
mov al, byte [edi]
xor edx, edx
mov dl, al
inc edi
cmp edx, 5
jne 0x59f34c
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x3c]
sete al
and eax, 1
jmp 0x59f358
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x3c]
setne al
and eax, 1
test eax, eax
je 0x59cf74
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x59f3b6
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x59f3ab
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x59f3af
xor edx, edx
jmp 0x59f3ed
mov edx, 1
jmp 0x59f3ed
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x59f3e4
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x59f3e4
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x59f3e8
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x59f3e8
xor edx, edx
jmp 0x59f3ed
mov edx, 1
test edx, edx
je case.0x59cf8f.13
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov ecx, ebx
inc ebx
mov esi, dword [ebp + 0x18]
cmp ecx, dword [esi + 0x6c]
jb 0x59f459
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x59f446
cmp ebx, dword [ebp - 4]
jbe 0x59f446
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x59f446
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 0x10], 0
je 0x59f47c
jmp 0x59f462
inc ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x59f47c
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x59f461
inc edi
jmp 0x59cf74
mov ecx, ebx
inc ebx
mov eax, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x6c]
jb 0x59f4d7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x59f4c4
cmp ebx, dword [ebp - 4]
jbe 0x59f4c4
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f4c4
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59f52f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59f51c
cmp ebx, dword [ebp - 4]
jbe 0x59f51c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f51c
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59f5a6
cmp esi, 0xc0
jb 0x59f5a6
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0xe8], edx
mov ecx, dword [ebp - 0xe8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59f595
sub dword [ebp - 0xec], 6
mov ecx, dword [ebp - 0xec]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0xe8]
add dword [ebp - 0xe8], 0xffffffff
test edx, edx
jg 0x59f57c
cmp esi, 0x100
jae 0x59f5cd
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 4
je 0x59f5cd
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59f625
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59f612
cmp ebx, dword [ebp - 4]
jbe 0x59f612
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f612
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59f69c
cmp esi, 0xc0
jb 0x59f69c
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0xf0], edx
mov ecx, dword [ebp - 0xf0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59f68b
sub dword [ebp - 0xf4], 6
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0xf0]
add dword [ebp - 0xf0], 0xffffffff
test edx, edx
jg 0x59f672
cmp esi, 0x100
jae 0x59f6b0
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 4
jne 0x59f6c3
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59f71b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59f708
cmp ebx, dword [ebp - 4]
jbe 0x59f708
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f708
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59f792
cmp esi, 0xc0
jb 0x59f792
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0xf8], edx
mov ecx, dword [ebp - 0xf8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xf8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59f781
sub dword [ebp - 0xfc], 6
mov ecx, dword [ebp - 0xfc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0xf8]
add dword [ebp - 0xf8], 0xffffffff
test edx, edx
jg 0x59f768
cmp esi, 0x100
jae 0x59f7b9
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 1
je 0x59f7b9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59f811
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59f7fe
cmp ebx, dword [ebp - 4]
jbe 0x59f7fe
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f7fe
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59f888
cmp esi, 0xc0
jb 0x59f888
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0x100]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x104], ecx
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x100]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59f877
sub dword [ebp - 0x104], 6
mov ecx, dword [ebp - 0x104]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x100]
add dword [ebp - 0x100], 0xffffffff
test edx, edx
jg 0x59f85e
cmp esi, 0x100
jae 0x59f89c
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 1
jne 0x59f8af
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59f907
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59f8f4
cmp ebx, dword [ebp - 4]
jbe 0x59f8f4
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f8f4
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59f97e
cmp esi, 0xc0
jb 0x59f97e
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x108], edx
mov ecx, dword [ebp - 0x108]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x108]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59f96d
sub dword [ebp - 0x10c], 6
mov ecx, dword [ebp - 0x10c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x108]
add dword [ebp - 0x108], 0xffffffff
test edx, edx
jg 0x59f954
cmp esi, 0x100
jae 0x59f9a5
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 0x10
je 0x59f9a5
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59f9fd
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59f9ea
cmp ebx, dword [ebp - 4]
jbe 0x59f9ea
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59f9ea
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59fa74
cmp esi, 0xc0
jb 0x59fa74
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x110], edx
mov ecx, dword [ebp - 0x110]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59fa63
sub dword [ebp - 0x114], 6
mov ecx, dword [ebp - 0x114]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x110]
add dword [ebp - 0x110], 0xffffffff
test edx, edx
jg 0x59fa4a
cmp esi, 0x100
jae 0x59fa88
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 0x10
jne 0x59fa9b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59faf3
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59fae0
cmp ebx, dword [ebp - 4]
jbe 0x59fae0
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59fae0
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59fb6a
cmp esi, 0xc0
jb 0x59fb6a
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x118]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59fb59
sub dword [ebp - 0x11c], 6
mov ecx, dword [ebp - 0x11c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x118]
add dword [ebp - 0x118], 0xffffffff
test edx, edx
jg 0x59fb40
cmp esi, 0xd
jg 0x59fb7e
je 0x59fba4
sub esi, 0xa
je 0x59fbd4
dec esi
sub esi, 2
jb 0x59fbb8
jmp 0x59fb91
sub esi, 0x85
je 0x59fbb8
add esi, 0xffffe05d
sub esi, 2
jb 0x59fbb8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x59fbd4
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xa
jne 0x59fbd4
inc ebx
jmp 0x59fbd4
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
je 0x59fbd4
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59fc2c
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59fc19
cmp ebx, dword [ebp - 4]
jbe 0x59fc19
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59fc19
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59fca3
cmp esi, 0xc0
jb 0x59fca3
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x120], edx
mov ecx, dword [ebp - 0x120]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x120]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59fc92
sub dword [ebp - 0x124], 6
mov ecx, dword [ebp - 0x124]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x120]
add dword [ebp - 0x120], 0xffffffff
test edx, edx
jg 0x59fc79
cmp esi, 0x180e
jg 0x59fcc9
je 0x59fcea
sub esi, 9
je 0x59fcea
sub esi, 0x17
je 0x59fcea
sub esi, 0x80
je 0x59fcea
sub esi, 0x15e0
je 0x59fcea
jmp 0x59fcfd
add esi, 0xffffe000
sub esi, 0xb
jb 0x59fcea
sub esi, 0x24
je 0x59fcea
sub esi, 0x30
je 0x59fcea
sub esi, 0xfa1
je 0x59fcea
jmp 0x59fcfd
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59fd55
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59fd42
cmp ebx, dword [ebp - 4]
jbe 0x59fd42
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59fd42
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59fdcc
cmp esi, 0xc0
jb 0x59fdcc
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x128], edx
mov ecx, dword [ebp - 0x128]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59fdbb
sub dword [ebp - 0x12c], 6
mov ecx, dword [ebp - 0x12c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x128]
add dword [ebp - 0x128], 0xffffffff
test edx, edx
jg 0x59fda2
cmp esi, 0x180e
jg 0x59fdf2
je 0x59fe22
sub esi, 9
je 0x59fe22
sub esi, 0x17
je 0x59fe22
sub esi, 0x80
je 0x59fe22
sub esi, 0x15e0
je 0x59fe22
jmp 0x59fe0f
add esi, 0xffffe000
sub esi, 0xb
jb 0x59fe22
sub esi, 0x24
je 0x59fe22
sub esi, 0x30
je 0x59fe22
sub esi, 0xfa1
je 0x59fe22
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59fe7a
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59fe67
cmp ebx, dword [ebp - 4]
jbe 0x59fe67
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59fe67
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59fef1
cmp esi, 0xc0
jb 0x59fef1
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x130]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x130]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59fee0
sub dword [ebp - 0x134], 6
mov ecx, dword [ebp - 0x134]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x130]
add dword [ebp - 0x130], 0xffffffff
test edx, edx
jg 0x59fec7
add esi, 0xfffffff6
sub esi, 4
jb 0x59ff0d
sub esi, 0x77
je 0x59ff0d
add esi, 0xffffe05d
sub esi, 2
jb 0x59ff0d
jmp 0x59ff20
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x59ff78
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x59ff65
cmp ebx, dword [ebp - 4]
jbe 0x59ff65
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x59ff65
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x59ffef
cmp esi, 0xc0
jb 0x59ffef
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x138], edx
mov ecx, dword [ebp - 0x138]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x138]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x59ffde
sub dword [ebp - 0x13c], 6
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x138]
add dword [ebp - 0x138], 0xffffffff
test edx, edx
jg 0x59ffc5
add esi, 0xfffffff6
sub esi, 4
jb 0x5a001a
sub esi, 0x77
je 0x5a001a
add esi, 0xffffe05d
sub esi, 2
jb 0x5a001a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc edi
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a0072
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a005f
cmp ebx, dword [ebp - 4]
jbe 0x5a005f
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a005f
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a00e9
cmp esi, 0xc0
jb 0x5a00e9
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0x140]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x144], ecx
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a00d8
sub dword [ebp - 0x144], 6
mov ecx, dword [ebp - 0x144]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x140]
add dword [ebp - 0x140], 0xffffffff
test edx, edx
jg 0x5a00bf
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
shl ecx, 3
xor eax, eax
add ecx, 0x5ecadc
mov dword [ebp - 0x148], ecx
mov al, byte [edi + 1]
cmp eax, 8
ja case.default.0x5a0125
jmp dword [eax*4 + 0x5a012c]
cmp dword [ebp - 0x80], 0xf
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp - 0x148]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 9
je 0x5a01a6
mov ecx, dword [ebp - 0x148]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 5
je 0x5a01a6
mov edx, dword [ebp - 0x148]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 8
je 0x5a01a6
xor eax, eax
jmp 0x5a01ab
mov eax, 1
cmp dword [ebp - 0x80], 0xf
sete dl
and edx, 1
cmp eax, edx
jne 0x5a040b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov ecx, dword [ebp - 0x148]
xor eax, eax
xor edx, edx
mov dl, byte [edi + 2]
mov al, byte [ecx + 1]
cmp edx, dword [eax*4 + 0x5ebe10]
setne dl
and edx, 1
cmp dword [ebp - 0x80], 0x10
sete cl
and ecx, 1
cmp edx, ecx
jne 0x5a040b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [edi + 2]
mov ecx, dword [ebp - 0x148]
cmp dl, byte [ecx + 1]
setne cl
and ecx, 1
cmp dword [ebp - 0x80], 0x10
sete al
and eax, 1
cmp ecx, eax
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [edi + 2]
mov ecx, dword [ebp - 0x148]
cmp dl, byte [ecx]
setne cl
and ecx, 1
cmp dword [ebp - 0x80], 0x10
sete al
and eax, 1
cmp ecx, eax
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp - 0x148]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp dword [ecx*4 + 0x5ebe10], 1
je 0x5a02c1
mov ecx, dword [ebp - 0x148]
xor eax, eax
mov al, byte [ecx + 1]
cmp dword [eax*4 + 0x5ebe10], 3
je 0x5a02c1
xor edx, edx
jmp 0x5a02c6
mov edx, 1
cmp dword [ebp - 0x80], 0xf
sete al
and eax, 1
cmp edx, eax
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp - 0x148]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp dword [ecx*4 + 0x5ebe10], 6
je 0x5a031d
cmp esi, 9
je 0x5a031d
cmp esi, 0xa
je 0x5a031d
cmp esi, 0xc
je 0x5a031d
cmp esi, 0xd
je 0x5a031d
xor ecx, ecx
jmp 0x5a0322
mov ecx, 1
cmp dword [ebp - 0x80], 0xf
sete al
and eax, 1
cmp ecx, eax
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp - 0x148]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp dword [ecx*4 + 0x5ebe10], 6
je 0x5a037e
cmp esi, 9
je 0x5a037e
cmp esi, 0xa
je 0x5a037e
cmp esi, 0xb
je 0x5a037e
cmp esi, 0xc
je 0x5a037e
cmp esi, 0xd
je 0x5a037e
xor ecx, ecx
jmp 0x5a0383
mov ecx, 1
cmp dword [ebp - 0x80], 0xf
sete al
and eax, 1
cmp ecx, eax
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp - 0x148]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp dword [ecx*4 + 0x5ebe10], 1
je 0x5a03d9
mov ecx, dword [ebp - 0x148]
xor eax, eax
mov al, byte [ecx + 1]
cmp dword [eax*4 + 0x5ebe10], 3
je 0x5a03d9
cmp esi, 0x5f
je 0x5a03d9
xor edx, edx
jmp 0x5a03de
mov edx, 1
cmp dword [ebp - 0x80], 0xf
sete al
and eax, 1
cmp edx, eax
jne 0x5a040b
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov eax, 0xfffffff2
jmp 0x5a9bf0
add edi, 3
jmp 0x59cf74
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a0465
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a0452
cmp ebx, dword [ebp - 4]
jbe 0x5a0452
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a0452
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a04dc
cmp esi, 0xc0
jb 0x5a04dc
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0x14c]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x150], ecx
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x14c]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a04cb
sub dword [ebp - 0x150], 6
mov ecx, dword [ebp - 0x150]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x14c]
add dword [ebp - 0x14c], 0xffffffff
test edx, edx
jg 0x5a04b2
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 2
jne 0x5a060a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov dword [ebp - 0x158], 1
cmp dword [ebp - 0x10], 0
jne 0x5a0549
movzx esi, byte [ebx]
jmp 0x5a05c8
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a05c8
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp - 0x15c]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x160], ecx
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov eax, 1
cmp eax, dword [ebp - 0x15c]
jg 0x5a05bc
sub dword [ebp - 0x160], 6
mov ecx, dword [ebp - 0x160]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc eax
cmp eax, dword [ebp - 0x15c]
jle 0x5a059a
mov ecx, dword [ebp - 0x15c]
add dword [ebp - 0x158], ecx
mov eax, esi
shr eax, 7
xor edx, edx
mov dl, byte [eax + 0x5f870c]
shl edx, 7
and esi, 0x7f
add edx, esi
movzx ecx, word [edx*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x154], edx
cmp dword [ebp - 0x154], 2
jne 0x5a0616
add ebx, dword [ebp - 0x158]
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a0534
inc edi
jmp 0x59cf74
xor eax, eax
xor edx, edx
mov al, byte [edi + 1]
mov dl, byte [edi + 2]
shl eax, 8
add edi, 3
or eax, edx
add eax, eax
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [ebp + 0x1c]
jge 0x5a064a
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7c]
cmp dword [edx + eax*4], 0
jge 0x5a0665
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x48], 0
je 0x5a0657
xor ecx, ecx
jmp 0x5a0660
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, ebx
inc ecx
mov dword [ebp - 0x6c], ecx
jmp 0x5a0681
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7c]
mov edx, dword [edx + eax*4 + 4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x7c]
sub edx, dword [eax + ecx*4]
mov dword [ebp - 0x6c], edx
mov dl, byte [edi]
add dl, 0xba
sub dl, 6
jb 0x5a0695
sub dl, 2
jb 0x5a06d5
jmp 0x5a071b
movzx esi, byte [edi]
add esi, 0xffffffba
inc edi
test esi, 1
setne al
and eax, 1
mov dword [ebp - 0x14], eax
movsx edx, byte [esi + 0x5ebdb8]
mov dword [ebp - 0x74], edx
movsx ecx, byte [esi + 0x5ebdbe]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
jne 0x5a078e
mov dword [ebp - 0x70], 0x7fffffff
jmp 0x5a078e
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x4d
sete al
and eax, 1
xor edx, edx
mov dword [ebp - 0x14], eax
xor eax, eax
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
shl edx, 8
xor ecx, ecx
or edx, eax
mov dword [ebp - 0x74], edx
xor edx, edx
mov dl, byte [edi + 3]
mov cl, byte [edi + 4]
shl edx, 8
or edx, ecx
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0
jne 0x5a0716
mov dword [ebp - 0x70], 0x7fffffff
add edi, 5
jmp 0x5a078e
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 0x7c]
call fcn.0059cd68
test eax, eax
jne 0x5a0786
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a0773
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a0773
cmp ebx, dword [ebp - 4]
jbe 0x5a0773
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a0773
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add ebx, dword [ebp - 0x6c]
jmp 0x59cf74
cmp dword [ebp - 0x6c], 0
je 0x59cf74
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a0820
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 0x7c]
call fcn.0059cd68
test eax, eax
jne 0x5a0812
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a07ff
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a07ff
cmp ebx, dword [ebp - 4]
jbe 0x5a07ff
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a07ff
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add ebx, dword [ebp - 0x6c]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a07a7
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a090a
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a0874
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a088f
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 0x7c]
call fcn.0059cd68
test eax, eax
jne 0x5a08fa
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a08e7
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a08e7
cmp ebx, dword [ebp - 4]
jbe 0x5a08e7
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a08e7
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add ebx, dword [ebp - 0x6c]
inc dword [ebp - 0xc]
jmp 0x5a083c
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a0983
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 0x7c]
call fcn.0059cd68
test eax, eax
jne 0x5a0975
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a0983
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a0983
cmp ebx, dword [ebp - 4]
jbe 0x5a0983
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a0983
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
add ebx, dword [ebp - 0x6c]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a091b
cmp ebx, dword [ebp - 0x2c]
jb 0x5a09c8
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a09c0
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
sub ebx, dword [ebp - 0x6c]
cmp ebx, dword [ebp - 0x2c]
jae 0x5a0988
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
lea edx, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x28], edx
mov cl, byte [edi]
add cl, 0xba
sub cl, 6
jb 0x5a09f5
sub cl, 2
jb 0x5a0a2e
jmp 0x5a0a74
movzx esi, byte [edi]
add esi, 0xffffffba
inc edi
test esi, 1
setne al
and eax, 1
mov dword [ebp - 0x14], eax
movsx edx, byte [esi + 0x5ebdb8]
mov dword [ebp - 0x74], edx
movsx ecx, byte [esi + 0x5ebdbe]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
jne 0x5a0a7f
mov dword [ebp - 0x70], 0x7fffffff
jmp 0x5a0a7f
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x4d
sete al
and eax, 1
xor edx, edx
mov dword [ebp - 0x14], eax
xor eax, eax
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
shl edx, 8
xor ecx, ecx
or edx, eax
mov dword [ebp - 0x74], edx
xor edx, edx
mov dl, byte [edi + 3]
mov cl, byte [edi + 4]
shl edx, 8
or edx, ecx
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0
jne 0x5a0a6f
mov dword [ebp - 0x70], 0x7fffffff
add edi, 5
jmp 0x5a0a7f
mov ecx, 1
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x10], 0
je 0x5a0bc4
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jg 0x5a0c69
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a0aee
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a0adb
cmp ebx, dword [ebp - 4]
jbe 0x5a0adb
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a0adb
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a0b5f
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x164], edx
mov ecx, dword [ebp - 0x164]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x168], ecx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a0b4e
sub dword [ebp - 0x168], 6
mov ecx, dword [ebp - 0x168]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x164]
add dword [ebp - 0x164], 0xffffffff
test edx, edx
jg 0x5a0b35
cmp esi, 0xff
jbe 0x5a0b82
cmp dword [ebp - 0x80], 0x4e
jne 0x5a0bb0
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov ecx, esi
and ecx, 7
mov edx, 1
shl edx, cl
shr esi, 3
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov cl, byte [eax + esi]
and edx, ecx
jne 0x5a0bb0
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a0a9c
jmp 0x5a0c69
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a0c69
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a0c29
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a0c16
cmp ebx, dword [ebp - 4]
jbe 0x5a0c16
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a0c16
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
mov ecx, esi
mov edx, dword [ebp - 0x28]
shr esi, 3
and ecx, 7
mov eax, 1
inc ebx
shl eax, cl
movzx edx, byte [edx + esi]
and eax, edx
jne 0x5a0c5a
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [eax + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a0bd7
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a0eec
cmp dword [ebp - 0x10], 0
je 0x5a0e03
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a0cc7
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a0ce2
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a0d34
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a0d21
cmp ebx, dword [ebp - 4]
jbe 0x5a0d21
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a0d21
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a0da5
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp - 0x16c]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a0d94
sub dword [ebp - 0x170], 6
mov ecx, dword [ebp - 0x170]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x16c]
add dword [ebp - 0x16c], 0xffffffff
test edx, edx
jg 0x5a0d7b
cmp esi, 0xff
jbe 0x5a0dc8
cmp dword [ebp - 0x80], 0x4e
jne 0x5a0df6
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov ecx, esi
and ecx, 7
mov edx, 1
shl edx, cl
shr esi, 3
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov cl, byte [eax + esi]
and edx, ecx
jne 0x5a0df6
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a0c8f
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a0e41
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a0e5c
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a0eae
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a0e9b
cmp ebx, dword [ebp - 4]
jbe 0x5a0e9b
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a0e9b
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
mov ecx, esi
mov edx, dword [ebp - 0x28]
shr esi, 3
and ecx, 7
mov eax, 1
inc ebx
shl eax, cl
movzx edx, byte [edx + esi]
and eax, edx
jne 0x5a0edf
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [eax + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a0e09
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x10], 0
je 0x5a1085
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a1023
mov dword [ebp - 0x174], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a0f65
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a1023
cmp ebx, dword [ebp - 4]
jbe 0x5a1023
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a1023
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a0fe4
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x178], edx
mov ecx, dword [ebp - 0x178]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x178]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov eax, 1
cmp eax, dword [ebp - 0x178]
jg 0x5a0fd8
sub dword [ebp - 0x17c], 6
mov ecx, dword [ebp - 0x17c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc eax
cmp eax, dword [ebp - 0x178]
jle 0x5a0fb6
mov ecx, dword [ebp - 0x178]
add dword [ebp - 0x174], ecx
cmp esi, 0xff
jbe 0x5a0ff4
cmp dword [ebp - 0x80], 0x4e
je 0x5a1023
jmp 0x5a100e
mov ecx, esi
mov edx, dword [ebp - 0x28]
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
movzx edx, byte [edx + esi]
and eax, edx
je 0x5a1023
add ebx, dword [ebp - 0x174]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a0f0b
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a105b
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a1140
jmp 0x5a106c
dec ebx
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a106b
jmp 0x5a1023
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a10fd
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a10d4
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a10fd
cmp ebx, dword [ebp - 4]
jbe 0x5a10fd
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a10fd
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
mov ecx, esi
mov edx, dword [ebp - 0x28]
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
movzx edx, byte [edx + esi]
and eax, edx
je 0x5a10fd
inc ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a1093
cmp ebx, dword [ebp - 0x2c]
jb 0x5a1140
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a113a
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
dec ebx
cmp ebx, dword [ebp - 0x2c]
jae 0x5a1102
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
lea edx, [edi + 4]
xor ecx, ecx
mov dword [ebp - 0x28], edx
xor eax, eax
movzx esi, byte [edi + 2]
mov cl, byte [edi + 1]
mov al, byte [edi + 3]
shl esi, 8
shl ecx, 0x10
or ecx, esi
or ecx, eax
add edi, ecx
mov dl, byte [edi]
add dl, 0xba
sub dl, 6
jb 0x5a1184
sub dl, 2
jb 0x5a11bd
jmp 0x5a1203
movzx esi, byte [edi]
add esi, 0xffffffba
inc edi
test esi, 1
setne al
and eax, 1
mov dword [ebp - 0x14], eax
movsx edx, byte [esi + 0x5ebdb8]
mov dword [ebp - 0x74], edx
movsx ecx, byte [esi + 0x5ebdbe]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
jne 0x5a120e
mov dword [ebp - 0x70], 0x7fffffff
jmp 0x5a120e
xor ecx, ecx
mov cl, byte [edi]
cmp ecx, 0x4d
sete al
and eax, 1
xor edx, edx
mov dword [ebp - 0x14], eax
xor eax, eax
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
shl edx, 8
xor ecx, ecx
or edx, eax
mov dword [ebp - 0x74], edx
xor edx, edx
mov dl, byte [edi + 3]
mov cl, byte [edi + 4]
shl edx, 8
or edx, ecx
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0
jne 0x5a11fe
mov dword [ebp - 0x70], 0x7fffffff
add edi, 5
jmp 0x5a120e
mov ecx, 1
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jg 0x5a131a
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a1273
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a1260
cmp ebx, dword [ebp - 4]
jbe 0x5a1260
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1260
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a12ea
cmp esi, 0xc0
jb 0x5a12ea
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x180], edx
mov ecx, dword [ebp - 0x180]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x184], ecx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x180]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a12d9
sub dword [ebp - 0x184], 6
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x180]
add dword [ebp - 0x180], 0xffffffff
test edx, edx
jg 0x5a12c0
mov edx, dword [ebp - 0x28]
mov eax, esi
call fcn.005abfb8
test eax, eax
jne 0x5a130b
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a1221
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a1480
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a136e
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a1389
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a13db
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a13c8
cmp ebx, dword [ebp - 4]
jbe 0x5a13c8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a13c8
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a1452
cmp esi, 0xc0
jb 0x5a1452
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x188], edx
mov ecx, dword [ebp - 0x188]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x18c], ecx
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x188]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a1441
sub dword [ebp - 0x18c], 6
mov ecx, dword [ebp - 0x18c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x188]
add dword [ebp - 0x188], 0xffffffff
test edx, edx
jg 0x5a1428
mov edx, dword [ebp - 0x28]
mov eax, esi
call fcn.005abfb8
test eax, eax
jne 0x5a1473
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a1336
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a1597
mov dword [ebp - 0x190], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a14ef
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a1597
cmp ebx, dword [ebp - 4]
jbe 0x5a1597
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a1597
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a1574
cmp esi, 0xc0
jb 0x5a1574
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x194], edx
mov ecx, dword [ebp - 0x194]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x198], ecx
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x194]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov eax, 1
cmp eax, dword [ebp - 0x194]
jg 0x5a1568
sub dword [ebp - 0x198], 6
mov ecx, dword [ebp - 0x198]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc eax
cmp eax, dword [ebp - 0x194]
jle 0x5a1546
mov ecx, dword [ebp - 0x194]
add dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x28]
mov eax, esi
call fcn.005abfb8
test eax, eax
je 0x5a1597
add ebx, dword [ebp - 0x190]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a1495
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a15cf
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a15f6
cmp dword [ebp - 0x10], 0
je 0x5a1597
jmp 0x5a15e2
dec ebx
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a15e1
jmp 0x5a1597
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 0x10], 0
je 0x5a1720
inc edi
mov dword [ebp - 0x6c], 1
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x5a1692
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x1a0], edx
mov ecx, dword [ebp - 0x1a0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x19c], 1
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x1a0]
jg 0x5a1689
sub dword [ebp - 0x1a4], 6
mov edx, dword [ebp - 0x19c]
inc dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x19c]
cmp ecx, dword [ebp - 0x1a0]
jle 0x5a1668
mov eax, dword [ebp - 0x1a0]
add dword [ebp - 0x6c], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, ebx
cmp ecx, dword [ebp - 0x6c]
jge 0x5a1710
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a16de
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a16de
cmp ebx, dword [ebp - 4]
jbe 0x5a16de
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a16de
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [edi]
inc edi
mov cl, byte [ebx]
inc ebx
cmp dl, cl
je 0x5a1710
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp - 0x6c]
add dword [ebp - 0x6c], 0xffffffff
test edx, edx
jg 0x5a16f3
jmp 0x59cf74
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, ebx
dec ecx
jge 0x5a1775
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a1762
cmp ebx, dword [ebp - 4]
jbe 0x5a1762
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a1762
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [edi + 1]
mov cl, byte [ebx]
inc ebx
cmp dl, cl
je 0x5a1792
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
add edi, 2
jmp 0x59cf74
cmp dword [ebp - 0x10], 0
je 0x5a19d5
inc edi
mov dword [ebp - 0x6c], 1
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x5a1848
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x1ac], edx
mov ecx, dword [ebp - 0x1ac]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1b0], ecx
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1ac]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x1a8], 1
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x1ac]
jg 0x5a183f
sub dword [ebp - 0x1b0], 6
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1a8]
xor edx, edx
mov dl, byte [edi + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a8]
cmp ecx, dword [ebp - 0x1ac]
jle 0x5a180c
mov eax, dword [ebp - 0x1ac]
add dword [ebp - 0x6c], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, ebx
cmp ecx, dword [ebp - 0x6c]
jge 0x5a18a7
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a1894
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a1894
cmp ebx, dword [ebp - 4]
jbe 0x5a1894
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1894
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x80
jae 0x5a18ed
mov esi, dword [ebp + 0x18]
mov dl, byte [edi]
xor ecx, ecx
inc edi
mov eax, dword [esi + 0x30]
mov cl, dl
mov dl, byte [eax + ecx]
mov cl, byte [ebx]
xor eax, eax
inc ebx
mov al, cl
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x30]
cmp dl, byte [ecx + eax]
je 0x59cf74
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x1b4], edx
inc ebx
cmp dword [ebp - 0x1b4], 0xc0
jb 0x5a197c
mov ecx, dword [ebp - 0x1b4]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x1b8], ecx
mov eax, dword [ebp - 0x1b8]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x1b4]
shl edx, cl
mov dword [ebp - 0x1b4], edx
jmp 0x5a196b
sub dword [ebp - 0x1bc], 6
mov ecx, dword [ebp - 0x1bc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1b4], eax
inc ebx
mov edx, dword [ebp - 0x1b8]
add dword [ebp - 0x1b8], 0xffffffff
test edx, edx
jg 0x5a194e
add edi, dword [ebp - 0x6c]
cmp esi, dword [ebp - 0x1b4]
je 0x59cf74
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
add esi, dword [ecx*8 + 0x5ecae0]
cmp esi, dword [ebp - 0x1b4]
je 0x59cf74
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, ebx
dec ecx
jge 0x5a1a2a
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a1a17
cmp ebx, dword [ebp - 4]
jbe 0x5a1a17
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1a17
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [edi + 1]
mov eax, dword [ecx + 0x30]
mov cl, byte [ebx]
inc ebx
mov dl, byte [eax + edx]
xor eax, eax
mov al, cl
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x30]
cmp dl, byte [ecx + eax]
je 0x5a1a5d
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
add edi, 2
jmp 0x59cf74
xor edx, edx
xor ecx, ecx
mov dl, byte [edi + 1]
mov cl, byte [edi + 2]
shl edx, 8
or edx, ecx
add edi, 3
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x74], edx
jmp 0x5a1b2f
mov dword [ebp - 0x18], 1
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x74], eax
xor eax, eax
movzx esi, byte [edi + 2]
mov cl, byte [edi + 1]
shl ecx, 8
or ecx, esi
mov dword [ebp - 0x70], ecx
mov al, byte [edi]
cmp eax, 0x26
sete dl
and edx, 1
add edi, 3
mov dword [ebp - 0x14], edx
jmp 0x5a1b2f
mov dword [ebp - 0x18], 1
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], 0x7fffffff
inc edi
jmp 0x5a1b2f
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x70], 0x7fffffff
inc edi
jmp 0x5a1b2f
mov dword [ebp - 0x18], 1
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], 1
inc edi
jmp 0x5a1b2f
movzx esi, byte [edi]
add esi, 0xffffffe1
inc edi
test esi, 1
setne al
and eax, 1
mov dword [ebp - 0x14], eax
movsx edx, byte [esi + 0x5ebdb8]
mov dword [ebp - 0x74], edx
movsx ecx, byte [esi + 0x5ebdbe]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
jne 0x5a1b2f
mov dword [ebp - 0x70], 0x7fffffff
cmp dword [ebp - 0x10], 0
je 0x5a1f28
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x20], edi
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x5a1bdf
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x1c4], edx
mov ecx, dword [ebp - 0x1c4]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1c8], ecx
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c4]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x1c0], 1
mov edx, dword [ebp - 0x1c0]
cmp edx, dword [ebp - 0x1c4]
jg 0x5a1bd6
sub dword [ebp - 0x1c8], 6
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c0]
xor edx, edx
mov dl, byte [edi + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1c0]
cmp ecx, dword [ebp - 0x1c4]
jle 0x5a1ba3
mov eax, dword [ebp - 0x1c4]
add dword [ebp - 0x6c], eax
add edi, dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 1
jle 0x5a1f2c
test byte [ebp + 0x14], 1
je 0x5a1c36
mov edx, esi
xor ecx, ecx
shr edx, 7
mov eax, esi
and eax, 0x7f
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x5edb0c]
mov ecx, dword [edx*8 + 0x5ecae0]
add ecx, esi
mov dword [ebp - 0x1cc], ecx
cmp esi, ecx
je 0x5a1c36
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 0x1cc]
call fcn.0059cd20
mov esi, eax
jmp 0x5a1c38
xor esi, esi
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jg 0x5a1cf3
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, dword [ebp - 0x6c]
cmp ebx, ecx
ja 0x5a1c6e
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x20]
mov eax, ebx
call fcn.00595364
test eax, eax
jne 0x5a1c6e
add ebx, dword [ebp - 0x6c]
jmp 0x5a1ce4
test esi, esi
jle 0x5a1c92
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x6c]
sub eax, esi
cmp ebx, eax
ja 0x5a1c92
lea edx, [ebp - 0x60]
mov ecx, esi
mov eax, ebx
call fcn.00595364
test eax, eax
jne 0x5a1c92
add ebx, esi
jmp 0x5a1ce4
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a1cd1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a1cd1
cmp ebx, dword [ebp - 4]
jbe 0x5a1cd1
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1cd1
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a1c4b
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a1e08
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a1d47
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a1d62
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, dword [ebp - 0x6c]
cmp ebx, ecx
ja 0x5a1d85
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x20]
mov eax, ebx
call fcn.00595364
test eax, eax
jne 0x5a1d85
add ebx, dword [ebp - 0x6c]
jmp 0x5a1dfb
test esi, esi
jle 0x5a1da9
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x6c]
sub eax, esi
cmp ebx, eax
ja 0x5a1da9
lea edx, [ebp - 0x60]
mov ecx, esi
mov eax, ebx
call fcn.00595364
test eax, eax
jne 0x5a1da9
add ebx, esi
jmp 0x5a1dfb
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a1de8
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a1de8
cmp ebx, dword [ebp - 4]
jbe 0x5a1de8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1de8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a1d0f
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a1eb4
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x6c]
sub eax, dword [ebp - 0x6c]
cmp ebx, eax
ja 0x5a1e40
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x20]
mov eax, ebx
call fcn.00595364
test eax, eax
jne 0x5a1e40
add ebx, dword [ebp - 0x6c]
jmp 0x5a1ea5
test esi, esi
jle 0x5a1e64
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x6c]
sub eax, esi
cmp ebx, eax
ja 0x5a1e64
lea edx, [ebp - 0x60]
mov ecx, esi
mov eax, ebx
call fcn.00595364
test eax, eax
jne 0x5a1e64
add ebx, esi
jmp 0x5a1ea5
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a1eb4
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a1eb4
cmp ebx, dword [ebp - 4]
jbe 0x5a1eb4
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1eb4
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a1e1d
cmp dword [ebp - 0x18], 0
jne 0x59cf74
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a1ef6
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
cmp ebx, dword [ebp - 0x2c]
jne 0x5a1f0e
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
dec ebx
jmp 0x5a1f12
dec ebx
xor edx, edx
mov dl, byte [ebx]
and edx, 0xc0
cmp edx, 0x80
je 0x5a1f11
jmp 0x5a1ebe
movzx esi, byte [edi]
inc edi
test byte [ebp + 0x14], 1
je 0x5a21aa
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov edx, dword [eax + 0x30]
mov cl, byte [edx + esi]
mov dword [ebp - 0xc], 1
mov esi, ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a1fdf
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a1fa8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a1f95
cmp ebx, dword [ebp - 4]
jbe 0x5a1f95
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a1f95
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov eax, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov edx, dword [eax + 0x30]
movzx ecx, byte [edx + ecx]
cmp esi, ecx
je 0x5a1fd0
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a1f56
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a20d5
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a2033
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a204e
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a20a0
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a208d
cmp ebx, dword [ebp - 4]
jbe 0x5a208d
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a208d
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov eax, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov edx, dword [eax + 0x30]
movzx ecx, byte [edx + ecx]
cmp esi, ecx
je 0x5a20c8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a1ffb
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a2145
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a2127
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a2145
cmp ebx, dword [ebp - 4]
jbe 0x5a2145
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a2145
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x30]
movzx edx, byte [eax + edx]
cmp esi, edx
jne 0x5a2145
inc ebx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a20e6
cmp dword [ebp - 0x18], 0
jne 0x59cf74
cmp ebx, dword [ebp - 0x2c]
jb 0x5a2192
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
dec ebx
cmp dword [ebp - 8], 0
je 0x5a218d
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
cmp ebx, dword [ebp - 0x2c]
jae 0x5a2154
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a2234
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a220b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a21f8
cmp ebx, dword [ebp - 4]
jbe 0x5a21f8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a21f8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
xor ecx, ecx
mov cl, dl
inc ebx
cmp esi, ecx
je 0x5a2229
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a21b9
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a2320
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a2288
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a22a3
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a22f5
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a22e2
cmp ebx, dword [ebp - 4]
jbe 0x5a22e2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a22e2
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
xor ecx, ecx
mov cl, dl
inc ebx
cmp esi, ecx
je 0x5a2313
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a2250
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a2386
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a2372
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a2386
cmp ebx, dword [ebp - 4]
jbe 0x5a2386
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a2386
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp esi, edx
jne 0x5a2386
inc ebx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a2331
cmp dword [ebp - 0x18], 0
jne 0x59cf74
cmp ebx, dword [ebp - 0x2c]
jb 0x5a23d3
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
dec ebx
cmp dword [ebp - 8], 0
je 0x5a23ce
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
cmp ebx, dword [ebp - 0x2c]
jae 0x5a2395
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a2438
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a2425
cmp ebx, dword [ebp - 4]
jbe 0x5a2425
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a2425
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
inc edi
cmp dword [ebp - 0x10], 0
je 0x5a24b0
cmp esi, 0xc0
jb 0x5a24b0
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x1d0], edx
mov ecx, dword [ebp - 0x1d0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1d4], ecx
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a249f
sub dword [ebp - 0x1d4], 6
mov ecx, dword [ebp - 0x1d4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x1d0]
add dword [ebp - 0x1d0], 0xffffffff
test edx, edx
jg 0x5a2486
test byte [ebp + 0x14], 1
je 0x5a24fc
cmp esi, 0x100
jae 0x5a24cb
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x30]
xor edx, edx
mov dl, byte [eax + esi]
mov esi, edx
mov edx, dword [ebp + 0x18]
mov cl, byte [edi]
xor eax, eax
inc edi
mov al, cl
mov edx, dword [edx + 0x30]
movzx eax, byte [edx + eax]
cmp esi, eax
jne 0x59cf74
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [edi]
xor ecx, ecx
mov cl, dl
inc edi
cmp esi, ecx
jne 0x59cf74
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov dl, byte [edi + 1]
mov cl, byte [edi + 2]
shl edx, 8
or edx, ecx
add edi, 3
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x74], edx
jmp 0x5a260f
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x74], eax
xor eax, eax
movzx esi, byte [edi + 2]
mov cl, byte [edi + 1]
shl ecx, 8
or ecx, esi
mov dword [ebp - 0x70], ecx
mov al, byte [edi]
cmp eax, 0x33
sete dl
and edx, 1
add edi, 3
mov dword [ebp - 0x14], edx
jmp 0x5a260f
mov dword [ebp - 0x18], 1
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], 0x7fffffff
inc edi
jmp 0x5a260f
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x70], 0x7fffffff
inc edi
jmp 0x5a260f
mov dword [ebp - 0x18], 1
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], 1
inc edi
jmp 0x5a260f
mov dword [ebp - 0x18], 1
xor eax, eax
xor edx, edx
mov dword [ebp - 0x74], eax
xor eax, eax
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, 3
mov dword [ebp - 0x70], edx
jmp 0x5a260f
movzx esi, byte [edi]
add esi, 0xffffffd4
inc edi
test esi, 1
setne al
and eax, 1
mov dword [ebp - 0x14], eax
movsx edx, byte [esi + 0x5ebdb8]
mov dword [ebp - 0x74], edx
movsx ecx, byte [esi + 0x5ebdbe]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
jne 0x5a260f
mov dword [ebp - 0x70], 0x7fffffff
movzx esi, byte [edi]
inc edi
test byte [ebp + 0x14], 1
je 0x5a2d4f
mov eax, dword [ebp + 0x18]
xor ecx, ecx
cmp dword [ebp - 0x10], 0
mov edx, dword [eax + 0x30]
mov cl, byte [edx + esi]
mov esi, ecx
je 0x5a277a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a2816
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a2699
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a2686
cmp ebx, dword [ebp - 4]
jbe 0x5a2686
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a2686
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x1d8], edx
inc ebx
cmp dword [ebp - 0x1d8], 0xc0
jb 0x5a2728
mov ecx, dword [ebp - 0x1d8]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x1dc]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x1d8]
shl edx, cl
mov dword [ebp - 0x1d8], edx
jmp 0x5a2717
sub dword [ebp - 0x1e0], 6
mov ecx, dword [ebp - 0x1e0]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1d8], eax
inc ebx
mov edx, dword [ebp - 0x1dc]
add dword [ebp - 0x1dc], 0xffffffff
test edx, edx
jg 0x5a26fa
cmp dword [ebp - 0x1d8], 0x100
jae 0x5a274b
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x30]
mov edx, dword [ebp - 0x1d8]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [ebp - 0x1d8], ecx
cmp esi, dword [ebp - 0x1d8]
jne 0x5a2766
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a2647
jmp 0x5a2816
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a2816
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a27df
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a27cc
cmp ebx, dword [ebp - 4]
jbe 0x5a27cc
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a27cc
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov eax, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov edx, dword [eax + 0x30]
movzx ecx, byte [edx + ecx]
cmp esi, ecx
jne 0x5a2807
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a278d
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a2a9b
cmp dword [ebp - 0x10], 0
je 0x5a29bb
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a2874
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a288f
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a28e1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a28ce
cmp ebx, dword [ebp - 4]
jbe 0x5a28ce
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a28ce
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x1e4], edx
inc ebx
cmp dword [ebp - 0x1e4], 0xc0
jb 0x5a2970
mov ecx, dword [ebp - 0x1e4]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x1e8], ecx
mov eax, dword [ebp - 0x1e8]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x1e4]
shl edx, cl
mov dword [ebp - 0x1e4], edx
jmp 0x5a295f
sub dword [ebp - 0x1ec], 6
mov ecx, dword [ebp - 0x1ec]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1e4], eax
inc ebx
mov edx, dword [ebp - 0x1e8]
add dword [ebp - 0x1e8], 0xffffffff
test edx, edx
jg 0x5a2942
cmp dword [ebp - 0x1e4], 0x100
jae 0x5a2993
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x30]
mov edx, dword [ebp - 0x1e4]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [ebp - 0x1e4], ecx
cmp esi, dword [ebp - 0x1e4]
jne 0x5a29ae
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a283c
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a29f9
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a2a14
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a2a66
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a2a53
cmp ebx, dword [ebp - 4]
jbe 0x5a2a53
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a2a53
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov eax, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov edx, dword [eax + 0x30]
movzx ecx, byte [edx + ecx]
cmp esi, ecx
jne 0x5a2a8e
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a29c1
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x10], 0
je 0x5a2c7d
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a2c11
mov dword [ebp - 0x1f4], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a2b14
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a2c11
cmp ebx, dword [ebp - 4]
jbe 0x5a2c11
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a2c11
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x1f0], edx
cmp dword [ebp - 0x1f0], 0xc0
jb 0x5a2bd1
mov ecx, dword [ebp - 0x1f0]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp - 0x1fc]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1fc]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x1f0]
shl edx, cl
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1f8], 1
mov ecx, dword [ebp - 0x1f8]
cmp ecx, dword [ebp - 0x1fc]
jg 0x5a2bc5
sub dword [ebp - 0x200], 6
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1f8]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or dword [ebp - 0x1f0], edx
inc dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f8]
cmp ecx, dword [ebp - 0x1fc]
jle 0x5a2b8e
mov eax, dword [ebp - 0x1fc]
add dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f0], 0x100
jae 0x5a2bf4
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x30]
mov eax, dword [ebp - 0x1f0]
xor edx, edx
mov dl, byte [ecx + eax]
mov dword [ebp - 0x1f0], edx
cmp esi, dword [ebp - 0x1f0]
je 0x5a2c11
add ebx, dword [ebp - 0x1f4]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a2aba
cmp dword [ebp - 0x18], 0
jne 0x59cf74
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a2c53
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a2d37
jmp 0x5a2c64
dec ebx
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a2c63
jmp 0x5a2c1b
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a2cea
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a2ccc
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a2cea
cmp ebx, dword [ebp - 4]
jbe 0x5a2cea
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a2cea
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x30]
movzx edx, byte [eax + edx]
cmp esi, edx
je 0x5a2cea
inc ebx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a2c8b
cmp dword [ebp - 0x18], 0
jne 0x59cf74
cmp ebx, dword [ebp - 0x2c]
jb 0x5a2d37
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a2d31
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
dec ebx
cmp ebx, dword [ebp - 0x2c]
jae 0x5a2cf9
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 0x10], 0
je 0x5a2e7c
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a2f06
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a2dbe
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a2dab
cmp ebx, dword [ebp - 4]
jbe 0x5a2dab
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a2dab
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x204], edx
inc ebx
cmp dword [ebp - 0x204], 0xc0
jb 0x5a2e4d
mov ecx, dword [ebp - 0x204]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x208], ecx
mov eax, dword [ebp - 0x208]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x204]
shl edx, cl
mov dword [ebp - 0x204], edx
jmp 0x5a2e3c
sub dword [ebp - 0x20c], 6
mov ecx, dword [ebp - 0x20c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x204], eax
inc ebx
mov edx, dword [ebp - 0x208]
add dword [ebp - 0x208], 0xffffffff
test edx, edx
jg 0x5a2e1f
cmp esi, dword [ebp - 0x204]
jne 0x5a2e68
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a2d6c
jmp 0x5a2f06
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a2f06
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a2edd
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a2eca
cmp ebx, dword [ebp - 4]
jbe 0x5a2eca
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a2eca
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
xor ecx, ecx
mov cl, dl
inc ebx
cmp esi, ecx
jne 0x5a2efb
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a2e8b
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a315e
cmp dword [ebp - 0x10], 0
je 0x5a3088
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a2f64
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a2f7f
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a2fd1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a2fbe
cmp ebx, dword [ebp - 4]
jbe 0x5a2fbe
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a2fbe
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x210], edx
inc ebx
cmp dword [ebp - 0x210], 0xc0
jb 0x5a3060
mov ecx, dword [ebp - 0x210]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x214]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x214]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x210]
shl edx, cl
mov dword [ebp - 0x210], edx
jmp 0x5a304f
sub dword [ebp - 0x218], 6
mov ecx, dword [ebp - 0x218]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x210], eax
inc ebx
mov edx, dword [ebp - 0x214]
add dword [ebp - 0x214], 0xffffffff
test edx, edx
jg 0x5a3032
cmp esi, dword [ebp - 0x210]
jne 0x5a307b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a2f2c
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a30c6
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a30e1
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a3133
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a3120
cmp ebx, dword [ebp - 4]
jbe 0x5a3120
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a3120
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
xor ecx, ecx
mov cl, dl
inc ebx
cmp esi, ecx
jne 0x5a3151
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a308e
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x10], 0
je 0x5a331d
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a32b1
mov dword [ebp - 0x220], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a31d7
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a32b1
cmp ebx, dword [ebp - 4]
jbe 0x5a32b1
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a32b1
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x21c], edx
cmp dword [ebp - 0x21c], 0xc0
jb 0x5a3294
mov ecx, dword [ebp - 0x21c]
and ecx, 0x3f
movzx ecx, byte [ecx + 0x5ec22f]
mov dword [ebp - 0x228], ecx
mov eax, dword [ebp - 0x228]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x228]
mov edx, dword [eax*4 + 0x5ebdf8]
and edx, dword [ebp - 0x21c]
shl edx, cl
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x224], 1
mov ecx, dword [ebp - 0x224]
cmp ecx, dword [ebp - 0x228]
jg 0x5a3288
sub dword [ebp - 0x22c], 6
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x224]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or dword [ebp - 0x21c], edx
inc dword [ebp - 0x224]
mov ecx, dword [ebp - 0x224]
cmp ecx, dword [ebp - 0x228]
jle 0x5a3251
mov eax, dword [ebp - 0x228]
add dword [ebp - 0x220], eax
cmp esi, dword [ebp - 0x21c]
je 0x5a32b1
add ebx, dword [ebp - 0x220]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a317d
cmp dword [ebp - 0x18], 0
jne 0x59cf74
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a32f3
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a33cd
jmp 0x5a3304
dec ebx
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a3303
jmp 0x5a32bb
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a3380
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a336c
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a3380
cmp ebx, dword [ebp - 4]
jbe 0x5a3380
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a3380
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp esi, edx
je 0x5a3380
inc ebx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a332b
cmp dword [ebp - 0x18], 0
jne 0x59cf74
cmp ebx, dword [ebp - 0x2c]
jb 0x5a33cd
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a33c7
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
dec ebx
cmp ebx, dword [ebp - 0x2c]
jae 0x5a338f
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
xor ecx, ecx
mov dl, byte [edi + 1]
mov cl, byte [edi + 2]
shl edx, 8
or edx, ecx
add edi, 3
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x14], 1
jmp 0x5a34d3
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x74], eax
xor eax, eax
movzx esi, byte [edi + 2]
mov cl, byte [edi + 1]
shl ecx, 8
or ecx, esi
mov dword [ebp - 0x70], ecx
mov al, byte [edi]
cmp eax, 0x40
sete dl
and edx, 1
add edi, 3
mov dword [ebp - 0x14], edx
jmp 0x5a34d3
mov dword [ebp - 0x18], 1
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], 0x7fffffff
inc edi
jmp 0x5a34d3
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x70], 0x7fffffff
inc edi
jmp 0x5a34d3
mov dword [ebp - 0x18], 1
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], 1
inc edi
jmp 0x5a34d3
mov dword [ebp - 0x18], 1
xor eax, eax
xor edx, edx
mov dword [ebp - 0x74], eax
xor eax, eax
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, 3
mov dword [ebp - 0x70], edx
jmp 0x5a34d3
movzx esi, byte [edi]
add esi, 0xffffffc7
inc edi
test esi, 1
setne al
and eax, 1
mov dword [ebp - 0x14], eax
movsx edx, byte [esi + 0x5ebdb8]
mov dword [ebp - 0x74], edx
movsx ecx, byte [esi + 0x5ebdbe]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
jne 0x5a34d3
mov dword [ebp - 0x70], 0x7fffffff
xor ecx, ecx
mov cl, byte [edi]
mov dword [ebp - 0x68], ecx
inc edi
cmp dword [ebp - 0x68], 0x10
je 0x5a34e7
cmp dword [ebp - 0x68], 0xf
jne 0x5a3506
cmp dword [ebp - 0x68], 0xf
sete al
and eax, 1
xor edx, edx
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov dl, byte [edi]
inc edi
mov dword [ebp - 0x44], edx
mov cl, byte [edi]
inc edi
mov dword [ebp - 0x48], ecx
jmp 0x5a350d
mov dword [ebp - 0x44], 0xffffffff
cmp dword [ebp - 0x74], 0
jle 0x5a591a
cmp dword [ebp - 0x44], 0
jl 0x5a40ba
mov eax, dword [ebp - 0x44]
cmp eax, 8
ja case.default.0x5a352d
jmp dword [eax*4 + 0x5a3534]
cmp dword [ebp - 0x4c], 0
je 0x5a3571
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a35d6
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a35c3
cmp ebx, dword [ebp - 4]
jbe 0x5a35c3
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a35c3
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a362d
cmp esi, 0xc0
jb 0x5a362d
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x230], edx
mov ecx, dword [ebp - 0x230]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x234], ecx
mov ecx, dword [ebp - 0x230]
jmp 0x5a361c
sub dword [ebp - 0x234], 6
inc ebx
mov eax, dword [ebp - 0x230]
add dword [ebp - 0x230], 0xffffffff
test eax, eax
jg 0x5a3614
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3584
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a36a6
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a3693
cmp ebx, dword [ebp - 4]
jbe 0x5a3693
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a3693
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a371d
cmp esi, 0xc0
jb 0x5a371d
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x238], edx
mov ecx, dword [ebp - 0x238]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x23c], ecx
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x238]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a370c
sub dword [ebp - 0x23c], 6
mov ecx, dword [ebp - 0x23c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x238]
add dword [ebp - 0x238], 0xffffffff
test edx, edx
jg 0x5a36f3
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 9
je 0x5a375c
cmp dword [ebp - 0x54], 5
je 0x5a375c
cmp dword [ebp - 0x54], 8
je 0x5a375c
xor eax, eax
jmp 0x5a3761
mov eax, 1
cmp eax, dword [ebp - 0x4c]
jne 0x5a3779
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3654
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a37f2
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a37df
cmp ebx, dword [ebp - 4]
jbe 0x5a37df
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a37df
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a3869
cmp esi, 0xc0
jb 0x5a3869
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x240], edx
mov ecx, dword [ebp - 0x240]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x244], ecx
mov ecx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a3858
sub dword [ebp - 0x244], 6
mov ecx, dword [ebp - 0x244]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x240]
add dword [ebp - 0x240], 0xffffffff
test edx, edx
jg 0x5a383f
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0x48]
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a38bd
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a37a0
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a3936
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a3923
cmp ebx, dword [ebp - 4]
jbe 0x5a3923
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a3923
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a39ad
cmp esi, 0xc0
jb 0x5a39ad
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x248], edx
mov ecx, dword [ebp - 0x248]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x24c], ecx
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x248]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a399c
sub dword [ebp - 0x24c], 6
mov ecx, dword [ebp - 0x24c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x248]
add dword [ebp - 0x248], 0xffffffff
test edx, edx
jg 0x5a3983
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x48]
sete dl
and edx, 1
cmp edx, dword [ebp - 0x4c]
jne 0x5a39fa
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a38e4
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a3a73
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a3a60
cmp ebx, dword [ebp - 4]
jbe 0x5a3a60
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a3a60
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a3aea
cmp esi, 0xc0
jb 0x5a3aea
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x250], edx
mov ecx, dword [ebp - 0x250]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x254], ecx
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x250]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a3ad9
sub dword [ebp - 0x254], 6
mov ecx, dword [ebp - 0x254]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x250]
add dword [ebp - 0x250], 0xffffffff
test edx, edx
jg 0x5a3ac0
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadc]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x48]
sete dl
and edx, 1
cmp edx, dword [ebp - 0x4c]
jne 0x5a3b37
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3a21
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a3bb0
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a3b9d
cmp ebx, dword [ebp - 4]
jbe 0x5a3b9d
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a3b9d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a3c27
cmp esi, 0xc0
jb 0x5a3c27
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x258], edx
mov ecx, dword [ebp - 0x258]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x25c], ecx
mov ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x258]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a3c16
sub dword [ebp - 0x25c], 6
mov ecx, dword [ebp - 0x25c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x258]
add dword [ebp - 0x258], 0xffffffff
test edx, edx
jg 0x5a3bfd
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 1
je 0x5a3c67
cmp dword [ebp - 0x50], 3
je 0x5a3c67
xor edx, edx
jmp 0x5a3c6c
mov edx, 1
cmp edx, dword [ebp - 0x4c]
jne 0x5a3c84
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3b5e
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a3cfd
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a3cea
cmp ebx, dword [ebp - 4]
jbe 0x5a3cea
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a3cea
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a3d74
cmp esi, 0xc0
jb 0x5a3d74
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x260], edx
mov ecx, dword [ebp - 0x260]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x264], ecx
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x260]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a3d63
sub dword [ebp - 0x264], 6
mov ecx, dword [ebp - 0x264]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x260]
add dword [ebp - 0x260], 0xffffffff
test edx, edx
jg 0x5a3d4a
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 6
je 0x5a3dc4
cmp esi, 9
je 0x5a3dc4
cmp esi, 0xa
je 0x5a3dc4
cmp esi, 0xc
je 0x5a3dc4
cmp esi, 0xd
je 0x5a3dc4
xor ecx, ecx
jmp 0x5a3dc9
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a3de1
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3cab
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a3e5a
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a3e47
cmp ebx, dword [ebp - 4]
jbe 0x5a3e47
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a3e47
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a3ed1
cmp esi, 0xc0
jb 0x5a3ed1
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x268], edx
mov ecx, dword [ebp - 0x268]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x26c], ecx
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a3ec0
sub dword [ebp - 0x26c], 6
mov ecx, dword [ebp - 0x26c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x268]
add dword [ebp - 0x268], 0xffffffff
test edx, edx
jg 0x5a3ea7
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 6
je 0x5a3f26
cmp esi, 9
je 0x5a3f26
cmp esi, 0xa
je 0x5a3f26
cmp esi, 0xb
je 0x5a3f26
cmp esi, 0xc
je 0x5a3f26
cmp esi, 0xd
je 0x5a3f26
xor ecx, ecx
jmp 0x5a3f2b
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a3f43
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3e08
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a3fbc
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a3fa9
cmp ebx, dword [ebp - 4]
jbe 0x5a3fa9
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a3fa9
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a4033
cmp esi, 0xc0
jb 0x5a4033
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x270], edx
mov ecx, dword [ebp - 0x270]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x274], ecx
mov ecx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x270]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a4022
sub dword [ebp - 0x274], 6
mov ecx, dword [ebp - 0x274]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x270]
add dword [ebp - 0x270], 0xffffffff
test edx, edx
jg 0x5a4009
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 1
je 0x5a407a
cmp dword [ebp - 0x50], 3
je 0x5a407a
cmp esi, 0x5f
je 0x5a407a
xor ecx, ecx
jmp 0x5a407f
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a4097
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a3f6a
jmp 0x5a591a
mov eax, 0xfffffff2
jmp 0x5a9bf0
cmp dword [ebp - 0x68], 0x16
jne 0x5a4305
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4129
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a4116
cmp ebx, dword [ebp - 4]
jbe 0x5a4116
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a4116
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a41a0
cmp esi, 0xc0
jb 0x5a41a0
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x278], edx
mov ecx, dword [ebp - 0x278]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x27c], ecx
mov ecx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a418f
sub dword [ebp - 0x27c], 6
mov ecx, dword [ebp - 0x27c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x278]
add dword [ebp - 0x278], 0xffffffff
test edx, edx
jg 0x5a4176
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jne 0x5a42e5
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov dword [ebp - 0x280], 1
cmp dword [ebp - 0x10], 0
jne 0x5a420a
movzx esi, byte [ebx]
jmp 0x5a42a9
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a42a9
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x288], edx
mov ecx, dword [ebp - 0x288]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x28c], ecx
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x288]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x284], 1
mov edx, dword [ebp - 0x284]
cmp edx, dword [ebp - 0x288]
jg 0x5a429d
sub dword [ebp - 0x28c], 6
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x284]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x284]
mov ecx, dword [ebp - 0x284]
cmp ecx, dword [ebp - 0x288]
jle 0x5a426a
mov eax, dword [ebp - 0x288]
add dword [ebp - 0x280], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 2
jne 0x5a42f1
add ebx, dword [ebp - 0x280]
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a41f2
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a40d7
jmp 0x5a591a
cmp dword [ebp - 0x10], 0
je 0x5a4ff6
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x5a431e.15
jmp dword [ecx*4 + 0x5a4325]
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jg 0x5a591a
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a43ca
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a43b7
cmp ebx, dword [ebp - 4]
jbe 0x5a43b7
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a43b7
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a4408
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a43fd
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a4401
xor edx, edx
jmp 0x5a443f
mov edx, 1
jmp 0x5a443f
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a4436
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a4436
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a443a
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a443a
xor edx, edx
jmp 0x5a443f
mov edx, 1
test edx, edx
je 0x5a4456
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc ebx
jmp 0x5a445a
inc ebx
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a4474
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a4459
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jle 0x5a4378
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a44ed
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a44da
cmp ebx, dword [ebp - 4]
jbe 0x5a44da
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a44da
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc ebx
jmp 0x5a44f1
inc ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a450b
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a44f0
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jle 0x5a449b
jmp 0x5a591a
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x6c]
sub edx, dword [ebp - 0x74]
cmp ebx, edx
jbe 0x5a453b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
add ebx, dword [ebp - 0x74]
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a45a8
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a4595
cmp ebx, dword [ebp - 4]
jbe 0x5a4595
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a4595
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a4619
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x290], edx
mov ecx, dword [ebp - 0x290]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x290]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a4608
sub dword [ebp - 0x294], 6
mov ecx, dword [ebp - 0x294]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x290]
add dword [ebp - 0x290], 0xffffffff
test edx, edx
jg 0x5a45ef
cmp esi, 0xd
jg 0x5a462d
je 0x5a4653
sub esi, 0xa
je 0x5a4683
dec esi
sub esi, 2
jb 0x5a4667
jmp 0x5a4640
sub esi, 0x85
je 0x5a4667
add esi, 0xffffe05d
sub esi, 2
jb 0x5a4667
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a4683
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xa
jne 0x5a4683
inc ebx
jmp 0x5a4683
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
je 0x5a4683
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a4556
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a46fc
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a46e9
cmp ebx, dword [ebp - 4]
jbe 0x5a46e9
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a46e9
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a476d
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x298], edx
mov ecx, dword [ebp - 0x298]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x29c], ecx
mov ecx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x298]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a475c
sub dword [ebp - 0x29c], 6
mov ecx, dword [ebp - 0x29c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x298]
add dword [ebp - 0x298], 0xffffffff
test edx, edx
jg 0x5a4743
cmp esi, 0x180e
jg 0x5a4793
je 0x5a47b4
sub esi, 9
je 0x5a47b4
sub esi, 0x17
je 0x5a47b4
sub esi, 0x80
je 0x5a47b4
sub esi, 0x15e0
je 0x5a47b4
jmp 0x5a47c7
add esi, 0xffffe000
sub esi, 0xb
jb 0x5a47b4
sub esi, 0x24
je 0x5a47b4
sub esi, 0x30
je 0x5a47b4
sub esi, 0xfa1
je 0x5a47b4
jmp 0x5a47c7
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a46aa
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4840
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a482d
cmp ebx, dword [ebp - 4]
jbe 0x5a482d
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a482d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a48b1
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2a0], edx
mov ecx, dword [ebp - 0x2a0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a48a0
sub dword [ebp - 0x2a4], 6
mov ecx, dword [ebp - 0x2a4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2a0]
add dword [ebp - 0x2a0], 0xffffffff
test edx, edx
jg 0x5a4887
cmp esi, 0x180e
jg 0x5a48d7
je 0x5a4907
sub esi, 9
je 0x5a4907
sub esi, 0x17
je 0x5a4907
sub esi, 0x80
je 0x5a4907
sub esi, 0x15e0
je 0x5a4907
jmp 0x5a48f4
add esi, 0xffffe000
sub esi, 0xb
jb 0x5a4907
sub esi, 0x24
je 0x5a4907
sub esi, 0x30
je 0x5a4907
sub esi, 0xfa1
je 0x5a4907
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a47ee
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4980
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a496d
cmp ebx, dword [ebp - 4]
jbe 0x5a496d
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a496d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a49f1
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2a8], edx
mov ecx, dword [ebp - 0x2a8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a49e0
sub dword [ebp - 0x2ac], 6
mov ecx, dword [ebp - 0x2ac]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2a8]
add dword [ebp - 0x2a8], 0xffffffff
test edx, edx
jg 0x5a49c7
add esi, 0xfffffff6
sub esi, 4
jb 0x5a4a0d
sub esi, 0x77
je 0x5a4a0d
add esi, 0xffffe05d
sub esi, 2
jb 0x5a4a0d
jmp 0x5a4a20
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a492e
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4a99
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a4a86
cmp ebx, dword [ebp - 4]
jbe 0x5a4a86
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a4a86
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a4b0a
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2b0], edx
mov ecx, dword [ebp - 0x2b0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2b4], ecx
mov ecx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a4af9
sub dword [ebp - 0x2b4], 6
mov ecx, dword [ebp - 0x2b4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2b0]
add dword [ebp - 0x2b0], 0xffffffff
test edx, edx
jg 0x5a4ae0
add esi, 0xfffffff6
sub esi, 4
jb 0x5a4b35
sub esi, 0x77
je 0x5a4b35
add esi, 0xffffe05d
sub esi, 2
jb 0x5a4b35
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a4a47
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4bae
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a4b9b
cmp ebx, dword [ebp - 4]
jbe 0x5a4b9b
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a4b9b
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a4c1f
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2b8], edx
mov ecx, dword [ebp - 0x2b8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2bc], ecx
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2b8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a4c0e
sub dword [ebp - 0x2bc], 6
mov ecx, dword [ebp - 0x2bc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2b8]
add dword [ebp - 0x2b8], 0xffffffff
test edx, edx
jg 0x5a4bf5
cmp esi, 0x80
jae 0x5a4c46
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x34]
test byte [eax + esi], 4
je 0x5a4c46
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a4b5c
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4cbf
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a4cac
cmp ebx, dword [ebp - 4]
jbe 0x5a4cac
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a4cac
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x80
jge 0x5a4ce0
mov eax, dword [ebp + 0x18]
mov cl, byte [ebx]
and ecx, 0xff
inc ebx
mov edx, dword [eax + 0x34]
test byte [edx + ecx], 4
jne 0x5a4cf3
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a4c6d
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4d6c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a4d59
cmp ebx, dword [ebp - 4]
jbe 0x5a4d59
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a4d59
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x80
jge 0x5a4d9b
mov esi, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 1
je 0x5a4d9b
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a4db6
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a4d9b
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jle 0x5a4d1a
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jg 0x5a591a
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a4e2f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a4e1c
cmp ebx, dword [ebp - 4]
jbe 0x5a4e1c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a4e1c
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x80
jge 0x5a4e50
mov eax, dword [ebp + 0x18]
mov cl, byte [ebx]
and ecx, 0xff
inc ebx
mov edx, dword [eax + 0x34]
test byte [edx + ecx], 1
jne 0x5a4e63
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a4ddd
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a4edc
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a4ec9
cmp ebx, dword [ebp - 4]
jbe 0x5a4ec9
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a4ec9
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x80
jge 0x5a4f0b
mov esi, dword [ebp + 0x18]
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 0x10
je 0x5a4f0b
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a4f26
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a4f0b
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jle 0x5a4e8a
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x74]
jg 0x5a591a
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a4f9f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a4f8c
cmp ebx, dword [ebp - 4]
jbe 0x5a4f8c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a4f8c
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x80
jge 0x5a4fc0
mov eax, dword [ebp + 0x18]
mov cl, byte [ebx]
and ecx, 0xff
inc ebx
mov edx, dword [eax + 0x34]
test byte [edx + ecx], 0x10
jne 0x5a4fd3
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a4f4d
jmp 0x5a591a
mov eax, 0xfffffff2
jmp 0x5a9bf0
mov edx, dword [ebp - 0x68]
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x5a5005.15
jmp dword [edx*4 + 0x5a500c]
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a50b1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a509e
cmp ebx, dword [ebp - 4]
jbe 0x5a509e
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a509e
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a50ef
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a50e4
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a50e8
xor edx, edx
jmp 0x5a5126
mov edx, 1
jmp 0x5a5126
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a511d
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a511d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a5121
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a5121
xor edx, edx
jmp 0x5a5126
mov edx, 1
test edx, edx
je 0x5a513d
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc ebx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jle 0x5a505f
jmp 0x5a591a
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x6c]
sub eax, dword [ebp - 0x74]
cmp ebx, eax
jbe 0x5a51a9
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a5196
cmp ebx, dword [ebp - 4]
jbe 0x5a5196
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5196
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add ebx, dword [ebp - 0x74]
jmp 0x5a591a
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
sub ecx, dword [ebp - 0x74]
cmp ebx, ecx
jbe 0x5a5208
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a51f5
cmp ebx, dword [ebp - 4]
jbe 0x5a51f5
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a51f5
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add ebx, dword [ebp - 0x74]
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a5275
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a5262
cmp ebx, dword [ebp - 4]
jbe 0x5a5262
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5262
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
inc ebx
sub dl, 0xa
je 0x5a52cd
dec edx
sub dl, 2
jb 0x5a52b1
je 0x5a529d
sub dl, 0x78
je 0x5a52b1
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a52cd
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xa
jne 0x5a52cd
inc ebx
jmp 0x5a52cd
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
je 0x5a52cd
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a5223
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a5346
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a5333
cmp ebx, dword [ebp - 4]
jbe 0x5a5333
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a5333
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
inc ebx
sub dl, 9
je 0x5a535c
sub dl, 0x17
je 0x5a535c
sub dl, 0x80
je 0x5a535c
jmp 0x5a536f
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a52f4
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a53e8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a53d5
cmp ebx, dword [ebp - 4]
jbe 0x5a53d5
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a53d5
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
inc ebx
sub dl, 9
je 0x5a540d
sub dl, 0x17
je 0x5a540d
sub dl, 0x80
je 0x5a540d
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a5396
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a5486
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a5473
cmp ebx, dword [ebp - 4]
jbe 0x5a5473
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a5473
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
inc ebx
add dl, 0xf6
sub dl, 4
jb 0x5a549a
sub dl, 0x77
je 0x5a549a
jmp 0x5a54ad
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a5434
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a5526
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a5513
cmp ebx, dword [ebp - 4]
jbe 0x5a5513
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a5513
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov dl, byte [ebx]
inc ebx
add dl, 0xf6
sub dl, 4
jb 0x5a5549
sub dl, 0x77
je 0x5a5549
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a54d4
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a55be
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a55ab
cmp ebx, dword [ebp - 4]
jbe 0x5a55ab
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a55ab
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov esi, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 4
je 0x5a55e4
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a556c
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a565d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a564a
cmp ebx, dword [ebp - 4]
jbe 0x5a564a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a564a
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov esi, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 4
jne 0x5a5683
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a560b
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a56fc
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a56e9
cmp ebx, dword [ebp - 4]
jbe 0x5a56e9
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a56e9
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov esi, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 1
je 0x5a5722
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a56aa
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a579b
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a5788
cmp ebx, dword [ebp - 4]
jbe 0x5a5788
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a5788
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov esi, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 1
jne 0x5a57c1
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a5749
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a583a
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a5827
cmp ebx, dword [ebp - 4]
jbe 0x5a5827
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a5827
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov esi, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 0x10
je 0x5a5860
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a57e8
jmp 0x5a591a
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x74]
jg 0x5a591a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a58d9
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a58c6
cmp ebx, dword [ebp - 4]
jbe 0x5a58c6
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a58c6
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov esi, dword [ebp + 0x18]
mov dl, byte [ebx]
xor ecx, ecx
inc ebx
mov cl, dl
mov eax, dword [esi + 0x34]
test byte [eax + ecx], 0x10
jne 0x5a58ff
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x74]
jle 0x5a5887
jmp 0x5a591a
mov eax, 0xfffffff2
jmp 0x5a9bf0
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x70]
je 0x59cf74
cmp dword [ebp - 0x14], 0
je 0x5a7267
cmp dword [ebp - 0x44], 0
jl 0x5a66dd
mov ecx, dword [ebp - 0x44]
cmp ecx, 8
ja case.default.0x5a5946
jmp dword [ecx*4 + 0x5a594d]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x20]
push eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a59af
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a59ca
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a5a1c
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a5a09
cmp ebx, dword [ebp - 4]
jbe 0x5a5a09
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5a09
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a5a73
cmp esi, 0xc0
jb 0x5a5a73
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2c0], edx
mov ecx, dword [ebp - 0x2c0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [ebp - 0x2c0]
jmp 0x5a5a62
sub dword [ebp - 0x2c4], 6
inc ebx
mov eax, dword [ebp - 0x2c0]
add dword [ebp - 0x2c0], 0xffffffff
test eax, eax
jg 0x5a5a5a
cmp dword [ebp - 0x4c], 0
je 0x5a5a8c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a5977
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a5ad2
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a5aed
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a5b3f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a5b2c
cmp ebx, dword [ebp - 4]
jbe 0x5a5b2c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5b2c
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a5bb6
cmp esi, 0xc0
jb 0x5a5bb6
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2c8], edx
mov ecx, dword [ebp - 0x2c8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2c8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a5ba5
sub dword [ebp - 0x2cc], 6
mov ecx, dword [ebp - 0x2cc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2c8]
add dword [ebp - 0x2c8], 0xffffffff
test edx, edx
jg 0x5a5b8c
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 9
je 0x5a5bf5
cmp dword [ebp - 0x54], 5
je 0x5a5bf5
cmp dword [ebp - 0x54], 8
je 0x5a5bf5
xor eax, eax
jmp 0x5a5bfa
mov eax, 1
cmp eax, dword [ebp - 0x4c]
jne 0x5a5c12
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a5a9a
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a5c58
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a5c73
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a5cc5
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a5cb2
cmp ebx, dword [ebp - 4]
jbe 0x5a5cb2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5cb2
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a5d3c
cmp esi, 0xc0
jb 0x5a5d3c
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2d0], edx
mov ecx, dword [ebp - 0x2d0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2d4], ecx
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a5d2b
sub dword [ebp - 0x2d4], 6
mov ecx, dword [ebp - 0x2d4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2d0]
add dword [ebp - 0x2d0], 0xffffffff
test edx, edx
jg 0x5a5d12
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0x48]
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a5d90
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a5c20
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a5dd6
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a5df1
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a5e43
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a5e30
cmp ebx, dword [ebp - 4]
jbe 0x5a5e30
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5e30
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a5eba
cmp esi, 0xc0
jb 0x5a5eba
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2d8], edx
mov ecx, dword [ebp - 0x2d8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2dc], ecx
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x2d8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a5ea9
sub dword [ebp - 0x2dc], 6
mov ecx, dword [ebp - 0x2dc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2d8]
add dword [ebp - 0x2d8], 0xffffffff
test edx, edx
jg 0x5a5e90
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x48]
sete dl
and edx, 1
cmp edx, dword [ebp - 0x4c]
jne 0x5a5f07
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a5d9e
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a5f4d
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a5f68
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a5fba
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a5fa7
cmp ebx, dword [ebp - 4]
jbe 0x5a5fa7
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a5fa7
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a6031
cmp esi, 0xc0
jb 0x5a6031
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2e0], edx
mov ecx, dword [ebp - 0x2e0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2e4], ecx
mov ecx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2e0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a6020
sub dword [ebp - 0x2e4], 6
mov ecx, dword [ebp - 0x2e4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2e0]
add dword [ebp - 0x2e0], 0xffffffff
test edx, edx
jg 0x5a6007
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadc]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x48]
sete dl
and edx, 1
cmp edx, dword [ebp - 0x4c]
jne 0x5a607e
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a5f15
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a60c4
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a60df
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a6131
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a611e
cmp ebx, dword [ebp - 4]
jbe 0x5a611e
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a611e
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a61a8
cmp esi, 0xc0
jb 0x5a61a8
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2e8], edx
mov ecx, dword [ebp - 0x2e8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2e8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a6197
sub dword [ebp - 0x2ec], 6
mov ecx, dword [ebp - 0x2ec]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2e8]
add dword [ebp - 0x2e8], 0xffffffff
test edx, edx
jg 0x5a617e
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 1
je 0x5a61e8
cmp dword [ebp - 0x50], 3
je 0x5a61e8
xor edx, edx
jmp 0x5a61ed
mov edx, 1
cmp edx, dword [ebp - 0x4c]
jne 0x5a6205
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a608c
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a624b
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a6266
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a62b8
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a62a5
cmp ebx, dword [ebp - 4]
jbe 0x5a62a5
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a62a5
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a632f
cmp esi, 0xc0
jb 0x5a632f
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2f0], edx
mov ecx, dword [ebp - 0x2f0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2f4], ecx
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x2f0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a631e
sub dword [ebp - 0x2f4], 6
mov ecx, dword [ebp - 0x2f4]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2f0]
add dword [ebp - 0x2f0], 0xffffffff
test edx, edx
jg 0x5a6305
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 6
je 0x5a637f
cmp esi, 9
je 0x5a637f
cmp esi, 0xa
je 0x5a637f
cmp esi, 0xc
je 0x5a637f
cmp esi, 0xd
je 0x5a637f
xor ecx, ecx
jmp 0x5a6384
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a639c
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a6213
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a63e2
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a63fd
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a644f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a643c
cmp ebx, dword [ebp - 4]
jbe 0x5a643c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a643c
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a64c6
cmp esi, 0xc0
jb 0x5a64c6
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x2f8], edx
mov ecx, dword [ebp - 0x2f8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x2fc], ecx
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x2f8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a64b5
sub dword [ebp - 0x2fc], 6
mov ecx, dword [ebp - 0x2fc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x2f8]
add dword [ebp - 0x2f8], 0xffffffff
test edx, edx
jg 0x5a649c
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 6
je 0x5a651b
cmp esi, 9
je 0x5a651b
cmp esi, 0xa
je 0x5a651b
cmp esi, 0xb
je 0x5a651b
cmp esi, 0xc
je 0x5a651b
cmp esi, 0xd
je 0x5a651b
xor ecx, ecx
jmp 0x5a6520
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a6538
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a63aa
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a657e
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a6599
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a65eb
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a65d8
cmp ebx, dword [ebp - 4]
jbe 0x5a65d8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a65d8
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a6662
cmp esi, 0xc0
jb 0x5a6662
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x300], edx
mov ecx, dword [ebp - 0x300]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x304], ecx
mov ecx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x300]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a6651
sub dword [ebp - 0x304], 6
mov ecx, dword [ebp - 0x304]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x300]
add dword [ebp - 0x300], 0xffffffff
test edx, edx
jg 0x5a6638
mov ecx, esi
xor eax, eax
shr ecx, 7
mov edx, esi
and edx, 0x7f
mov al, byte [ecx + 0x5f870c]
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x5edb0c]
xor eax, eax
mov al, byte [ecx*8 + 0x5ecadd]
mov edx, dword [eax*4 + 0x5ebe10]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 1
je 0x5a66a9
cmp dword [ebp - 0x50], 3
je 0x5a66a9
cmp esi, 0x5f
je 0x5a66a9
xor ecx, ecx
jmp 0x5a66ae
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
jne 0x5a66c6
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a6546
mov eax, 0xfffffff2
jmp 0x5a9bf0
cmp dword [ebp - 0x68], 0x16
jne 0x5a6967
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a6725
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a6740
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a6792
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a677f
cmp ebx, dword [ebp - 4]
jbe 0x5a677f
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a677f
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a6809
cmp esi, 0xc0
jb 0x5a6809
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x308], edx
mov ecx, dword [ebp - 0x308]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x30c], ecx
mov ecx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x308]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a67f8
sub dword [ebp - 0x30c], 6
mov ecx, dword [ebp - 0x30c]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x308]
add dword [ebp - 0x308], 0xffffffff
test edx, edx
jg 0x5a67df
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jne 0x5a694e
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
xor eax, eax
jmp 0x5a9bf0
mov dword [ebp - 0x310], 1
cmp dword [ebp - 0x10], 0
jne 0x5a6873
movzx esi, byte [ebx]
jmp 0x5a6912
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a6912
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x318], edx
mov ecx, dword [ebp - 0x318]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x31c], ecx
mov ecx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x318]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x314], 1
mov edx, dword [ebp - 0x314]
cmp edx, dword [ebp - 0x318]
jg 0x5a6906
sub dword [ebp - 0x31c], 6
mov ecx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x314]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x314]
mov ecx, dword [ebp - 0x314]
cmp ecx, dword [ebp - 0x318]
jle 0x5a68d3
mov eax, dword [ebp - 0x318]
add dword [ebp - 0x310], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 2
jne 0x5a695a
add ebx, dword [ebp - 0x310]
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a685b
inc dword [ebp - 0xc]
jmp 0x5a66ed
cmp dword [ebp - 0x10], 0
je 0x5a6e96
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a69af
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a69ca
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a6a1c
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a6a09
cmp ebx, dword [ebp - 4]
jbe 0x5a6a09
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a6a09
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 0x68], 0xc
jne 0x5a6ab2
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a6a64
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a6a59
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a6a5d
xor edx, edx
jmp 0x5a6a9b
mov edx, 1
jmp 0x5a6a9b
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a6a92
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a6a92
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a6a96
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a6a96
xor edx, edx
jmp 0x5a6a9b
mov edx, 1
test edx, edx
je 0x5a6ab2
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp esi, 0xc0
jb 0x5a6b23
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x320], edx
mov ecx, dword [ebp - 0x320]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x324], ecx
mov ecx, dword [ebp - 0x324]
mov eax, dword [ebp - 0x320]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a6b12
sub dword [ebp - 0x324], 6
mov ecx, dword [ebp - 0x324]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x320]
add dword [ebp - 0x320], 0xffffffff
test edx, edx
jg 0x5a6af9
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x5a6b32.15
jmp dword [ecx*4 + 0x5a6b39]
cmp esi, 0xd
jg 0x5a6b96
je 0x5a6bbc
sub esi, 0xa
je case.0x5a6b32.12
dec esi
sub esi, 2
jb 0x5a6bdb
jmp 0x5a6ba9
sub esi, 0x85
je 0x5a6bdb
add esi, 0xffffe05d
sub esi, 2
jb 0x5a6bdb
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae case.0x5a6b32.12
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xa
jne case.0x5a6b32.12
inc ebx
jmp case.0x5a6b32.12
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
je case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x180e
jg 0x5a6c2e
je 0x5a6c55
sub esi, 9
je 0x5a6c55
sub esi, 0x17
je 0x5a6c55
sub esi, 0x80
je 0x5a6c55
sub esi, 0x15e0
je 0x5a6c55
jmp case.0x5a6b32.12
add esi, 0xffffe000
sub esi, 0xb
jb 0x5a6c55
sub esi, 0x24
je 0x5a6c55
sub esi, 0x30
je 0x5a6c55
sub esi, 0xfa1
je 0x5a6c55
jmp case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x180e
jg 0x5a6ca7
je case.0x5a6b32.12
sub esi, 9
je case.0x5a6b32.12
sub esi, 0x17
je case.0x5a6b32.12
sub esi, 0x80
je case.0x5a6b32.12
sub esi, 0x15e0
je case.0x5a6b32.12
jmp 0x5a6cd4
add esi, 0xffffe000
sub esi, 0xb
jb case.0x5a6b32.12
sub esi, 0x24
je case.0x5a6b32.12
sub esi, 0x30
je case.0x5a6b32.12
sub esi, 0xfa1
je case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add esi, 0xfffffff6
sub esi, 4
jb 0x5a6d13
sub esi, 0x77
je 0x5a6d13
add esi, 0xffffe05d
sub esi, 2
jb 0x5a6d13
jmp case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add esi, 0xfffffff6
sub esi, 4
jb case.0x5a6b32.12
sub esi, 0x77
je case.0x5a6b32.12
add esi, 0xffffe05d
sub esi, 2
jb case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x100
jae case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 4
je case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x100
jae 0x5a6db8
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 4
jne case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x100
jae case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 1
je case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x100
jae 0x5a6e18
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 1
jne case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x100
jae case.0x5a6b32.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
je case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
cmp esi, 0x100
jae 0x5a6e6a
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
jne case.0x5a6b32.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov eax, 0xfffffff2
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a6977
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a6ed4
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a6eef
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a6f41
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a6f2e
cmp ebx, dword [ebp - 4]
jbe 0x5a6f2e
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a6f2e
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
cmp dword [ebp - 0x68], 0xc
jne 0x5a6fd7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a6f89
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a6f7e
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a6f82
xor edx, edx
jmp 0x5a6fc0
mov edx, 1
jmp 0x5a6fc0
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a6fb7
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a6fb7
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a6fbb
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a6fbb
xor edx, edx
jmp 0x5a6fc0
mov edx, 1
test edx, edx
je 0x5a6fd7
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
mov eax, dword [ebp - 0x68]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5a6fea.15
jmp dword [eax*4 + 0x5a6ff1]
sub esi, 0xa
je case.0x5a6fea.12
dec esi
sub esi, 2
jb 0x5a707e
je 0x5a705f
sub esi, 0x78
je 0x5a707e
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae case.0x5a6fea.12
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xa
jne case.0x5a6fea.12
inc ebx
jmp case.0x5a6fea.12
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
je case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
sub esi, 9
je 0x5a70c4
sub esi, 0x17
je 0x5a70c4
sub esi, 0x80
je 0x5a70c4
jmp case.0x5a6fea.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
sub esi, 9
je case.0x5a6fea.12
sub esi, 0x17
je case.0x5a6fea.12
sub esi, 0x80
je case.0x5a6fea.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add esi, 0xfffffff6
sub esi, 4
jb 0x5a712e
sub esi, 0x77
je 0x5a712e
jmp case.0x5a6fea.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
add esi, 0xfffffff6
sub esi, 4
jb case.0x5a6fea.12
sub esi, 0x77
je case.0x5a6fea.12
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 4
je case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 4
jne case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 1
je case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 1
jne case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
je case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
jne case.0x5a6fea.12
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
xor eax, eax
jmp 0x5a9bf0
mov eax, 0xfffffff2
jmp 0x5a9bf0
inc dword [ebp - 0xc]
jmp 0x5a6e9c
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x44], 0
jl 0x5a801a
mov edx, dword [ebp - 0x44]
cmp edx, 8
ja case.default.0x5a7280
jmp dword [edx*4 + 0x5a7287]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x328], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a7317
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a7fa8
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a7397
cmp esi, 0xc0
jb 0x5a7397
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x330], edx
mov ecx, dword [ebp - 0x330]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x334], ecx
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x32c], 1
mov eax, dword [ebp - 0x32c]
cmp eax, dword [ebp - 0x330]
jg 0x5a738b
sub dword [ebp - 0x334], 6
mov edx, dword [ebp - 0x32c]
inc dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x32c]
cmp ecx, dword [ebp - 0x330]
jle 0x5a736a
mov eax, dword [ebp - 0x330]
add dword [ebp - 0x328], eax
cmp dword [ebp - 0x4c], 0
jne 0x5a7fa8
add ebx, dword [ebp - 0x328]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a72bd
jmp 0x5a7fa8
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x338], 1
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a7427
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a74d0
cmp esi, 0xc0
jb 0x5a74d0
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x340], edx
mov ecx, dword [ebp - 0x340]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x344], ecx
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x340]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x33c], 1
mov edx, dword [ebp - 0x33c]
cmp edx, dword [ebp - 0x340]
jg 0x5a74c4
sub dword [ebp - 0x344], 6
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x33c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x33c]
cmp ecx, dword [ebp - 0x340]
jle 0x5a7491
mov eax, dword [ebp - 0x340]
add dword [ebp - 0x338], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 9
je 0x5a750f
cmp dword [ebp - 0x54], 5
je 0x5a750f
cmp dword [ebp - 0x54], 8
je 0x5a750f
xor ecx, ecx
jmp 0x5a7514
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x338]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a73cd
jmp 0x5a7fa8
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x348], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a75a3
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a7fa8
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a764c
cmp esi, 0xc0
jb 0x5a764c
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x350], edx
mov ecx, dword [ebp - 0x350]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x354], ecx
mov ecx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x350]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x34c], 1
mov edx, dword [ebp - 0x34c]
cmp edx, dword [ebp - 0x350]
jg 0x5a7640
sub dword [ebp - 0x354], 6
mov ecx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x34c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x34c]
cmp ecx, dword [ebp - 0x350]
jle 0x5a760d
mov eax, dword [ebp - 0x350]
add dword [ebp - 0x348], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x48]
sete dl
and edx, 1
cmp edx, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x348]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a7549
jmp 0x5a7fa8
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x358], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a7717
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a77c0
cmp esi, 0xc0
jb 0x5a77c0
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x360], edx
mov ecx, dword [ebp - 0x360]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x364], ecx
mov ecx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x360]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x35c], 1
mov edx, dword [ebp - 0x35c]
cmp edx, dword [ebp - 0x360]
jg 0x5a77b4
sub dword [ebp - 0x364], 6
mov ecx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x35c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x35c]
cmp ecx, dword [ebp - 0x360]
jle 0x5a7781
mov eax, dword [ebp - 0x360]
add dword [ebp - 0x358], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x48]
sete al
and eax, 1
cmp eax, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x358]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a76bd
jmp 0x5a7fa8
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x368], 1
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a7884
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a792d
cmp esi, 0xc0
jb 0x5a792d
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x370], edx
mov ecx, dword [ebp - 0x370]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x374], ecx
mov ecx, dword [ebp - 0x374]
mov eax, dword [ebp - 0x370]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x36c], 1
mov edx, dword [ebp - 0x36c]
cmp edx, dword [ebp - 0x370]
jg 0x5a7921
sub dword [ebp - 0x374], 6
mov ecx, dword [ebp - 0x374]
mov eax, dword [ebp - 0x36c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x36c]
cmp ecx, dword [ebp - 0x370]
jle 0x5a78ee
mov eax, dword [ebp - 0x370]
add dword [ebp - 0x368], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadc]
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x48]
sete al
and eax, 1
cmp eax, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x368]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a782a
jmp 0x5a7fa8
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x378], 1
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a79f1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a7a9a
cmp esi, 0xc0
jb 0x5a7a9a
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x380], edx
mov ecx, dword [ebp - 0x380]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x384], ecx
mov ecx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x380]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x37c], 1
mov edx, dword [ebp - 0x37c]
cmp edx, dword [ebp - 0x380]
jg 0x5a7a8e
sub dword [ebp - 0x384], 6
mov ecx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x37c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x37c]
cmp ecx, dword [ebp - 0x380]
jle 0x5a7a5b
mov eax, dword [ebp - 0x380]
add dword [ebp - 0x378], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 1
je 0x5a7ada
cmp dword [ebp - 0x50], 3
je 0x5a7ada
xor eax, eax
jmp 0x5a7adf
mov eax, 1
cmp eax, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x378]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a7997
jmp 0x5a7fa8
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x388], 1
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a7b6e
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a7c17
cmp esi, 0xc0
jb 0x5a7c17
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x390], edx
mov ecx, dword [ebp - 0x390]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x394], ecx
mov ecx, dword [ebp - 0x394]
mov eax, dword [ebp - 0x390]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x38c], 1
mov edx, dword [ebp - 0x38c]
cmp edx, dword [ebp - 0x390]
jg 0x5a7c0b
sub dword [ebp - 0x394], 6
mov ecx, dword [ebp - 0x394]
mov eax, dword [ebp - 0x38c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
cmp ecx, dword [ebp - 0x390]
jle 0x5a7bd8
mov eax, dword [ebp - 0x390]
add dword [ebp - 0x388], eax
mov edx, esi
xor ecx, ecx
shr edx, 7
mov eax, esi
and eax, 0x7f
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 6
je 0x5a7c67
cmp esi, 9
je 0x5a7c67
cmp esi, 0xa
je 0x5a7c67
cmp esi, 0xc
je 0x5a7c67
cmp esi, 0xd
je 0x5a7c67
xor edx, edx
jmp 0x5a7c6c
mov edx, 1
cmp edx, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x388]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a7b14
jmp 0x5a7fa8
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x398], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a7cfb
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a7da4
cmp esi, 0xc0
jb 0x5a7da4
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3a0], edx
mov ecx, dword [ebp - 0x3a0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x3a4], ecx
mov ecx, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x3a0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x39c], 1
mov edx, dword [ebp - 0x39c]
cmp edx, dword [ebp - 0x3a0]
jg 0x5a7d98
sub dword [ebp - 0x3a4], 6
mov ecx, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x39c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x39c]
cmp ecx, dword [ebp - 0x3a0]
jle 0x5a7d65
mov eax, dword [ebp - 0x3a0]
add dword [ebp - 0x398], eax
mov edx, esi
xor ecx, ecx
shr edx, 7
mov eax, esi
and eax, 0x7f
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 6
je 0x5a7df9
cmp esi, 9
je 0x5a7df9
cmp esi, 0xa
je 0x5a7df9
cmp esi, 0xb
je 0x5a7df9
cmp esi, 0xc
je 0x5a7df9
cmp esi, 0xd
je 0x5a7df9
xor edx, edx
jmp 0x5a7dfe
mov edx, 1
cmp edx, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x398]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a7ca1
jmp 0x5a7fa8
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jge 0x5a7fa8
mov dword [ebp - 0x3a8], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a7e8d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a7fa8
cmp ebx, dword [ebp - 4]
jbe 0x5a7fa8
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a7fa8
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp dword [ebp - 0x10], 0
je 0x5a7f36
cmp esi, 0xc0
jb 0x5a7f36
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3b0], edx
mov ecx, dword [ebp - 0x3b0]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x3b4], ecx
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3b0]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x3ac], 1
mov edx, dword [ebp - 0x3ac]
cmp edx, dword [ebp - 0x3b0]
jg 0x5a7f2a
sub dword [ebp - 0x3b4], 6
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3ac]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x3ac]
mov ecx, dword [ebp - 0x3ac]
cmp ecx, dword [ebp - 0x3b0]
jle 0x5a7ef7
mov eax, dword [ebp - 0x3b0]
add dword [ebp - 0x3a8], eax
mov edx, esi
xor ecx, ecx
shr edx, 7
mov eax, esi
and eax, 0x7f
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 1
je 0x5a7f7d
cmp dword [ebp - 0x50], 3
je 0x5a7f7d
cmp esi, 0x5f
je 0x5a7f7d
xor edx, edx
jmp 0x5a7f82
mov edx, 1
cmp edx, dword [ebp - 0x4c]
je 0x5a7fa8
add ebx, dword [ebp - 0x3a8]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a7e33
jmp 0x5a7fa8
mov eax, 0xfffffff2
jmp 0x5a9bf0
cmp dword [ebp - 0x18], 0
jne 0x59cf74
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov edx, edi
mov ecx, dword [ebp + 0x10]
push ecx
push 0
mov eax, dword [ebp + 8]
inc eax
push eax
mov eax, ebx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a7fea
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a9bd4
cmp dword [ebp - 0x10], 0
je 0x5a7fb2
jmp 0x5a8001
dec ebx
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a8000
jmp 0x5a7fb2
cmp dword [ebp - 0x68], 0x16
jne 0x5a83ae
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a824a
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a8086
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a824a
cmp ebx, dword [ebp - 4]
jbe 0x5a824a
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a824a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], 0
je 0x5a80fd
cmp esi, 0xc0
jb 0x5a80fd
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3b8], edx
mov ecx, dword [ebp - 0x3b8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x3bc], ecx
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x3b8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
jmp 0x5a80ec
sub dword [ebp - 0x3bc], 6
mov ecx, dword [ebp - 0x3bc]
xor eax, eax
mov al, byte [ebx]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
mov edx, dword [ebp - 0x3b8]
add dword [ebp - 0x3b8], 0xffffffff
test edx, edx
jg 0x5a80d3
mov ecx, esi
shr ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5f870c]
shl eax, 7
and esi, 0x7f
add eax, esi
movzx edx, word [eax*2 + 0x5edb0c]
xor ecx, ecx
mov cl, byte [edx*8 + 0x5ecadd]
mov eax, dword [ecx*4 + 0x5ebe10]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
je 0x5a824a
jmp 0x5a822f
mov dword [ebp - 0x3c0], 1
cmp dword [ebp - 0x10], 0
jne 0x5a8154
movzx esi, byte [ebx]
jmp 0x5a81f3
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a81f3
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3c8], edx
mov ecx, dword [ebp - 0x3c8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x3cc], ecx
mov ecx, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x3c8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x3c4], 1
mov edx, dword [ebp - 0x3c4]
cmp edx, dword [ebp - 0x3c8]
jg 0x5a81e7
sub dword [ebp - 0x3cc], 6
mov ecx, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x3c4]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x3c4]
mov ecx, dword [ebp - 0x3c4]
cmp ecx, dword [ebp - 0x3c8]
jle 0x5a81b4
mov eax, dword [ebp - 0x3c8]
add dword [ebp - 0x3c0], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 2
jne 0x5a823b
add ebx, dword [ebp - 0x3c0]
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a813c
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a8036
cmp dword [ebp - 0x18], 0
jne 0x59cf74
mov ecx, dword [ebp + 0x20]
push ecx
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov edx, dword [ebp + 8]
mov eax, ebx
inc edx
push edx
mov edx, edi
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a828c
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a9bd4
mov dword [ebp - 0x3d0], 1
cmp dword [ebp - 0x10], 0
jne 0x5a82b5
movzx esi, byte [ebx]
jmp 0x5a8364
dec ebx
xor eax, eax
mov al, byte [ebx]
and eax, 0xc0
cmp eax, 0x80
je 0x5a82b4
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a8364
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3d8], edx
mov ecx, dword [ebp - 0x3d8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x3dc], ecx
mov ecx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x3d8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x3d4], 1
mov edx, dword [ebp - 0x3d4]
cmp edx, dword [ebp - 0x3d8]
jg 0x5a8358
sub dword [ebp - 0x3dc], 6
mov ecx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x3d4]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0x3d4]
cmp ecx, dword [ebp - 0x3d8]
jle 0x5a8325
mov eax, dword [ebp - 0x3d8]
add dword [ebp - 0x3d0], eax
mov edx, esi
shr edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x5f870c]
shl ecx, 7
and esi, 0x7f
add ecx, esi
movzx eax, word [ecx*2 + 0x5edb0c]
xor edx, edx
mov dl, byte [eax*8 + 0x5ecadd]
mov ecx, dword [edx*4 + 0x5ebe10]
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 2
jne 0x5a8254
dec ebx
jmp 0x5a829a
cmp dword [ebp - 0x10], 0
je 0x5a93a5
mov eax, dword [ebp - 0x68]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5a83c7.15
jmp dword [eax*4 + 0x5a83ce]
cmp dword [ebp - 0x70], 0x7fffffff
jge 0x5a852c
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a847d
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a84bb
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a84b0
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a84b4
xor edx, edx
jmp 0x5a84f2
mov edx, 1
jmp 0x5a84f2
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a84e9
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a84e9
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a84ed
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a84ed
xor edx, edx
jmp 0x5a84f2
mov edx, 1
test edx, edx
jne 0x5a9339
inc ebx
jmp 0x5a84fe
inc ebx
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jae 0x5a8518
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a84fd
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a842d
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a858e
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a85cc
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a85c1
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a85c5
xor edx, edx
jmp 0x5a8603
mov edx, 1
jmp 0x5a8603
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a85fa
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a85fa
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a85fe
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a85fe
xor edx, edx
jmp 0x5a8603
mov edx, 1
test edx, edx
jne 0x5a9339
inc ebx
jmp 0x5a860f
inc ebx
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jae 0x5a8629
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a860e
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a853e
jmp 0x5a9339
cmp dword [ebp - 0x70], 0x7fffffff
jge 0x5a86da
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a86ac
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
inc ebx
jmp 0x5a86b0
inc ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a86ca
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a86af
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a865c
jmp 0x5a9339
mov eax, dword [ebp + 0x18]
mov ebx, dword [eax + 0x6c]
jmp 0x5a9339
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x70]
sub esi, dword [ebp - 0x74]
mov edx, dword [eax + 0x6c]
sub edx, ebx
cmp esi, edx
jbe 0x5a8745
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
mov ebx, dword [ecx + 0x6c]
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9339
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
add ebx, esi
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x3e0], 1
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a87b8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9339
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a8857
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3e8], edx
mov ecx, dword [ebp - 0x3e8]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x3ec], ecx
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3e8]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x3e4], 1
mov edx, dword [ebp - 0x3e4]
cmp edx, dword [ebp - 0x3e8]
jg 0x5a884b
sub dword [ebp - 0x3ec], 6
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3e4]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x3e4]
cmp ecx, dword [ebp - 0x3e8]
jle 0x5a8818
mov eax, dword [ebp - 0x3e8]
add dword [ebp - 0x3e0], eax
cmp esi, 0xd
jne 0x5a8875
inc ebx
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jae 0x5a9339
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xa
jne 0x5a88b3
inc ebx
jmp 0x5a88b3
cmp esi, 0xa
je 0x5a88ad
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x60], 0
jne 0x5a9339
cmp esi, 0xb
je 0x5a88ad
cmp esi, 0xc
je 0x5a88ad
cmp esi, 0x85
je 0x5a88ad
cmp esi, 0x2028
je 0x5a88ad
cmp esi, 0x2029
jne 0x5a9339
add ebx, dword [ebp - 0x3e0]
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a875e
jmp 0x5a9339
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x3f4], 1
mov edx, dword [ebp + 0x18]
cmp ebx, dword [edx + 0x6c]
jb 0x5a8933
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 1
jle 0x5a9339
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a89d2
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x3fc], edx
mov ecx, dword [ebp - 0x3fc]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x400], ecx
mov ecx, dword [ebp - 0x400]
mov eax, dword [ebp - 0x3fc]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x3f8], 1
mov edx, dword [ebp - 0x3f8]
cmp edx, dword [ebp - 0x3fc]
jg 0x5a89c6
sub dword [ebp - 0x400], 6
mov ecx, dword [ebp - 0x400]
mov eax, dword [ebp - 0x3f8]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x3f8]
cmp ecx, dword [ebp - 0x3fc]
jle 0x5a8993
mov eax, dword [ebp - 0x3fc]
add dword [ebp - 0x3f4], eax
cmp esi, 0x180e
jg 0x5a89f8
je 0x5a8a1f
sub esi, 9
je 0x5a8a1f
sub esi, 0x17
je 0x5a8a1f
sub esi, 0x80
je 0x5a8a1f
sub esi, 0x15e0
je 0x5a8a1f
jmp 0x5a8a15
add esi, 0xffffe000
sub esi, 0xb
jb 0x5a8a1f
sub esi, 0x24
je 0x5a8a1f
sub esi, 0x30
je 0x5a8a1f
sub esi, 0xfa1
je 0x5a8a1f
xor edx, edx
mov dword [ebp - 0x3f0], edx
jmp 0x5a8a29
mov dword [ebp - 0x3f0], 1
cmp dword [ebp - 0x68], 0x12
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x3f0]
je 0x5a9339
add ebx, dword [ebp - 0x3f4]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a88d9
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x408], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a8ac5
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a8b64
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x410], edx
mov ecx, dword [ebp - 0x410]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x414], ecx
mov ecx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x410]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x40c], 1
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x410]
jg 0x5a8b58
sub dword [ebp - 0x414], 6
mov ecx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x40c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x40c]
mov ecx, dword [ebp - 0x40c]
cmp ecx, dword [ebp - 0x410]
jle 0x5a8b25
mov eax, dword [ebp - 0x410]
add dword [ebp - 0x408], eax
add esi, 0xfffffff6
sub esi, 4
jb 0x5a8b86
sub esi, 0x77
je 0x5a8b86
add esi, 0xffffe05d
sub esi, 2
jb 0x5a8b86
xor edx, edx
mov dword [ebp - 0x404], edx
jmp 0x5a8b90
mov dword [ebp - 0x404], 1
cmp dword [ebp - 0x68], 0x14
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x404]
je 0x5a9339
add ebx, dword [ebp - 0x408]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a8a6b
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x418], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a8c2c
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a8ccb
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x420], edx
mov ecx, dword [ebp - 0x420]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x424], ecx
mov ecx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x420]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x41c], 1
mov edx, dword [ebp - 0x41c]
cmp edx, dword [ebp - 0x420]
jg 0x5a8cbf
sub dword [ebp - 0x424], 6
mov ecx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x41c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x41c]
cmp ecx, dword [ebp - 0x420]
jle 0x5a8c8c
mov eax, dword [ebp - 0x420]
add dword [ebp - 0x418], eax
cmp esi, 0x100
jae 0x5a8ce3
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 4
jne 0x5a9339
add ebx, dword [ebp - 0x418]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a8bd2
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x428], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a8d69
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a8e08
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x430], edx
mov ecx, dword [ebp - 0x430]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x434], ecx
mov ecx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x430]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x42c], 1
mov edx, dword [ebp - 0x42c]
cmp edx, dword [ebp - 0x430]
jg 0x5a8dfc
sub dword [ebp - 0x434], 6
mov ecx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x42c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x42c]
cmp ecx, dword [ebp - 0x430]
jle 0x5a8dc9
mov eax, dword [ebp - 0x430]
add dword [ebp - 0x428], eax
cmp esi, 0x100
jae 0x5a9339
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 4
je 0x5a9339
add ebx, dword [ebp - 0x428]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a8d0f
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x438], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a8eaa
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a8f49
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x440], edx
mov ecx, dword [ebp - 0x440]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x444], ecx
mov ecx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x440]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x43c], 1
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ebp - 0x440]
jg 0x5a8f3d
sub dword [ebp - 0x444], 6
mov ecx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x43c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x43c]
cmp ecx, dword [ebp - 0x440]
jle 0x5a8f0a
mov eax, dword [ebp - 0x440]
add dword [ebp - 0x438], eax
cmp esi, 0x100
jae 0x5a8f61
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 1
jne 0x5a9339
add ebx, dword [ebp - 0x438]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a8e50
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x448], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a8fe7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a9086
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x450], edx
mov ecx, dword [ebp - 0x450]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x454], ecx
mov ecx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x450]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x44c], 1
mov edx, dword [ebp - 0x44c]
cmp edx, dword [ebp - 0x450]
jg 0x5a907a
sub dword [ebp - 0x454], 6
mov ecx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x44c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x44c]
cmp ecx, dword [ebp - 0x450]
jle 0x5a9047
mov eax, dword [ebp - 0x450]
add dword [ebp - 0x448], eax
cmp esi, 0x100
jae 0x5a9339
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 1
je 0x5a9339
add ebx, dword [ebp - 0x448]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a8f8d
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x458], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a9128
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a91c7
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x460], edx
mov ecx, dword [ebp - 0x460]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x464], ecx
mov ecx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x460]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x45c], 1
mov edx, dword [ebp - 0x45c]
cmp edx, dword [ebp - 0x460]
jg 0x5a91bb
sub dword [ebp - 0x464], 6
mov ecx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x45c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x45c]
cmp ecx, dword [ebp - 0x460]
jle 0x5a9188
mov eax, dword [ebp - 0x460]
add dword [ebp - 0x458], eax
cmp esi, 0x100
jae 0x5a91df
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
jne 0x5a9339
add ebx, dword [ebp - 0x458]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a90ce
jmp 0x5a9339
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9339
mov dword [ebp - 0x468], 1
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a9265
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9339
cmp ebx, dword [ebp - 4]
jbe 0x5a9339
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9339
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xc0
jb 0x5a9304
mov eax, esi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ec22f]
mov dword [ebp - 0x470], edx
mov ecx, dword [ebp - 0x470]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x474], ecx
mov ecx, dword [ebp - 0x474]
mov eax, dword [ebp - 0x470]
and esi, dword [eax*4 + 0x5ebdf8]
shl esi, cl
mov dword [ebp - 0x46c], 1
mov edx, dword [ebp - 0x46c]
cmp edx, dword [ebp - 0x470]
jg 0x5a92f8
sub dword [ebp - 0x474], 6
mov ecx, dword [ebp - 0x474]
mov eax, dword [ebp - 0x46c]
xor edx, edx
mov dl, byte [ebx + eax]
and edx, 0x3f
shl edx, cl
or esi, edx
inc dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x46c]
cmp ecx, dword [ebp - 0x470]
jle 0x5a92c5
mov eax, dword [ebp - 0x470]
add dword [ebp - 0x468], eax
cmp esi, 0x100
jae 0x5a9339
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x34]
test byte [ecx + esi], 0x10
je 0x5a9339
add ebx, dword [ebp - 0x468]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a920b
jmp 0x5a9339
mov eax, 0xfffffff2
jmp 0x5a9bf0
cmp dword [ebp - 0x18], 0
jne 0x59cf74
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5a937b
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
mov edx, ebx
add ebx, 0xffffffff
cmp edx, dword [ebp - 0x2c]
je 0x5a9bd4
jmp 0x5a938c
dec ebx
xor ecx, ecx
mov cl, byte [ebx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5a938b
jmp 0x5a9343
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x5a93b4.15
jmp dword [ecx*4 + 0x5a93bb]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a945d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x5a949b
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jae 0x5a9490
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, ebx
call fcn.005ac3d8
test eax, eax
jne 0x5a9494
xor edx, edx
jmp 0x5a94d2
mov edx, 1
jmp 0x5a94d2
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x6c]
sub ecx, dword [eax + 0x1c]
cmp ebx, ecx
ja 0x5a94c9
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2c]
cmp cl, byte [ebx]
jne 0x5a94c9
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x5a94cd
mov edx, dword [ebp + 0x18]
mov cl, byte [edx + 0x2d]
cmp cl, byte [ebx + 1]
je 0x5a94cd
xor edx, edx
jmp 0x5a94d2
mov edx, 1
test edx, edx
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a940d
jmp 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x70]
sub esi, dword [ebp - 0x74]
mov edx, dword [eax + 0x6c]
sub edx, ebx
cmp esi, edx
jbe 0x5a954f
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
mov ebx, dword [ecx + 0x6c]
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
add ebx, esi
jmp 0x5a9b8a
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a95b8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xd
jne 0x5a95d9
inc ebx
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jae 0x5a9b8a
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0xa
jne 0x5a9602
inc ebx
jmp 0x5a9602
cmp esi, 0xa
je 0x5a9601
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
jne 0x5a9b8a
cmp esi, 0xb
je 0x5a9601
cmp esi, 0xc
je 0x5a9601
cmp esi, 0x85
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jl 0x5a9568
jmp 0x5a9b8a
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a9678
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 9
je 0x5a9b8a
cmp esi, 0x20
je 0x5a9b8a
cmp esi, 0xa0
je 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a9628
jmp 0x5a9b8a
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a970c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 9
je 0x5a9725
cmp esi, 0x20
je 0x5a9725
cmp esi, 0xa0
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a96bc
jmp 0x5a9b8a
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a9798
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xa
je 0x5a9b8a
cmp esi, 0xb
je 0x5a9b8a
cmp esi, 0xc
je 0x5a9b8a
cmp esi, 0xd
je 0x5a9b8a
cmp esi, 0x85
je 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a9748
jmp 0x5a9b8a
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a9842
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
movzx esi, byte [ebx]
cmp esi, 0xa
je 0x5a9865
cmp esi, 0xb
je 0x5a9865
cmp esi, 0xc
je 0x5a9865
cmp esi, 0xd
je 0x5a9865
cmp esi, 0x85
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x5a97f2
jmp 0x5a9b8a
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov ecx, dword [ebp + 0x18]
cmp ebx, dword [ecx + 0x6c]
jb 0x5a98d8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 1
jle 0x5a9b8a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x34]
test byte [eax + edx], 4
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a9888
jmp 0x5a9b8a
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a995f
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x34]
test byte [eax + edx], 4
je 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a990f
jmp 0x5a9b8a
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a99e6
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x34]
test byte [eax + edx], 1
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a9996
jmp 0x5a9b8a
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a9a6d
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x34]
test byte [eax + edx], 1
je 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a9a1d
jmp 0x5a9b8a
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a9af4
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x34]
test byte [eax + edx], 0x10
jne 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a9aa4
jmp 0x5a9b8a
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x70]
jge 0x5a9b8a
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
jb 0x5a9b65
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x5a9b8a
cmp ebx, dword [ebp - 4]
jbe 0x5a9b8a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x5c], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x7c], 1
jle 0x5a9b8a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
jmp 0x5a9bf0
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dl, byte [ebx]
mov eax, dword [ecx + 0x34]
test byte [eax + edx], 0x10
je 0x5a9b8a
inc ebx
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x70]
jl 0x5a9b24
jmp 0x5a9b8a
mov eax, 0xfffffff2
jmp 0x5a9bf0
cmp dword [ebp - 0x18], 0
jne 0x59cf74
cmp ebx, dword [ebp - 0x2c]
jb 0x5a9bd4
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov eax, ebx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov ecx, dword [ebp + 8]
mov edx, edi
inc ecx
push ecx
mov ecx, dword [ebp - 4]
call fcn.0059cefc
mov dword [ebp - 8], eax
dec ebx
cmp dword [ebp - 8], 0
je 0x5a9bcf
mov eax, dword [ebp - 8]
jmp 0x5a9bf0
cmp ebx, dword [ebp - 0x2c]
jae 0x5a9b99
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
mov dword [edx + 0x9c], ecx
xor eax, eax
jmp 0x5a9bf0
mov eax, 0xfffffffb
jmp 0x5a9bf0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c