Function at 0x59f63e
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
lea ebp, [esp - 0x5c]
sub esp, 0x1a4
mov eax, dword [0x67e540]
push ebx
push esi
mov esi, dword [ebp + 0x70]
push edi
push 0x1d8
mov dword [ebp + 0x58], eax
call dword [0x67a4f4]
mov ebx, eax
and dword [ebx], 0
mov eax, dword [ebp + 0x64]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x74]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp + 0x78]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x7c]
pop ecx
mov dword [ebx + 0x18], eax
jmp 0x5a3607
inc eax
mov dword [esi], eax
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x60], eax
test byte [ebx + 0x18], 2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0x38], eax
je 0x59f6bd
mov ecx, dword [ebx + 0x14]
lea eax, [ebx + 0x18c]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
mov dword [ebx + 0x190], ecx
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
xor edi, edi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x58], edi
cmp dword [esi + 0x34], edi
je 0x59f6e8
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jb 0x59f6e8
cmp eax, dword [esi + 0x48]
jbe 0x59f6e8
xor edx, edx
inc edx
mov dword [esi + 0x38], edx
jmp 0x59f6eb
xor edx, edx
inc edx
mov eax, dword [ebx + 0x84]
push 0x50
pop ecx
cmp eax, ecx
jle 0x59f72d
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebx + 0x7c], eax
jle 0x59f713
mov edi, dword [ebx + 8]
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
xor edi, edi
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x7c]
add eax, eax
mov dword [ebx + 0x80], eax
cmp eax, dword [esi + 0x10]
jl 0x5a15c6
mov dword [ebx + 0x84], ecx
mov eax, dword [ebx + 0x84]
cmp eax, ecx
ja case.0x59f742.13
movzx eax, byte [eax + 0x5a3b6e]
jmp dword [eax*4 + 0x5a3ab6]
add dword [ebx + 8], 3
jmp 0x59f6bd
mov edi, dword [esi + 0x5c]
test edi, edi
je 0x5a3767
cmp dword [edi + 4], 0
jne 0x5a3767
mov eax, dword [edi]
mov dword [esi + 0x5c], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 8]
call fcn.005efe20
mov eax, dword [edi + 0xc]
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 0x60]
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 8]
add esp, 0xc
mov dword [ebx + 8], eax
jmp 0x59f6bd
mov eax, dword [ebx + 8]
movzx eax, byte [eax + 1]
mov dword [ebx + 0x10], eax
add dword [ebx + 8], 2
jmp 0x59f6bd
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xc8], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a18e9
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
cmp edi, 1
mov dword [ebp + 0x4c], ebx
je 0x59f806
test edi, edi
jne 0x5a20b8
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je case.0x59f742.69
mov eax, dword [ebx + 8]
cmp byte [eax], 0x42
je 0x5a3775
test byte [ebx + 0x18], 1
jne 0x5a37ad
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je 0x59f81c
add eax, 3
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x50]
mov dword [ebx + 0xc], eax
jmp 0x59f6bd
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x108], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a1916
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
cmp edi, 1
mov dword [ebp + 0x4c], ebx
je 0x5a3775
test edi, edi
jne 0x5a20b8
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je case.0x59f742.70
test byte [ebx + 0x18], 1
jne 0x5a37ad
add eax, 3
jmp 0x59f790
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp dword [ebp + 0x38], edi
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
je 0x59f8f8
mov edi, ecx
xor ecx, ecx
test edi, edi
jle case.0x59f742.76
dec dword [ebx + 4]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x40]
jb 0x5a3775
jmp 0x59f8e4
dec eax
mov dword [ebx + 4], eax
mov dl, byte [eax]
and dl, 0xc0
cmp dl, 0x80
je 0x59f8e0
inc ecx
cmp ecx, edi
jl 0x59f8cf
jmp case.0x59f742.76
sub dword [ebx + 4], ecx
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x40]
jb 0x5a3775
jmp case.0x59f742.76
mov edi, dword [0x7455cc]
test edi, edi
je 0x59f9c2
mov dword [ebp - 0x148], 1
mov eax, dword [ebx + 8]
movzx eax, byte [eax + 1]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x140], eax
lea eax, [esi + 0x40]
mov ecx, dword [eax]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [esi + 0x44]
sub ecx, dword [eax]
mov dword [ebp - 0x138], ecx
mov ecx, dword [esi + 0x48]
sub ecx, dword [eax]
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebx + 4]
sub ecx, dword [eax]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 2]
mov cl, byte [eax + 3]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebx + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x12c], eax
mov eax, dword [esi + 0x54]
mov dword [ebp - 0x128], eax
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x148]
push eax
call edi
mov edi, eax
test edi, edi
pop ecx
jg 0x5a3775
jl 0x5a20b8
add dword [ebx + 8], 6
jmp 0x59f6bd
mov eax, dword [ebx + 8]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0x34], eax
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xd0], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a1a4f
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
cmp edi, 1
mov dword [ebp + 0x4c], ebx
je 0x59fa32
test edi, edi
jne 0x5a20b8
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je 0x59f9d7
mov eax, dword [ebx + 8]
mov al, byte [eax]
cmp al, 0x4a
je 0x59fa43
cmp al, 0x41
jne 0x5a3775
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je 0x59fa43
mov eax, dword [esi + 0x50]
mov dword [ebx + 0xc], eax
mov ecx, dword [esi + 0x4c]
mov dword [ebx + 4], ecx
mov eax, dword [ebx + 8]
cmp byte [eax], 0x42
je 0x59f8ab
cmp ecx, dword [ebx + 0x34]
je 0x59f8ab
cmp byte [eax + 3], 0x12
jne 0x59fa8e
movzx eax, byte [eax + 4]
mov ecx, dword [ebx + 0x10]
and ecx, 0xfffffff8
or eax, ecx
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 8]
cmp byte [eax], 0x44
push 0x1d8
jne 0x5a1aa5
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xf8], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1a5a
mov ebx, dword [ebp - 0xf8]
jmp 0x5a1c2c
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je case.0x59f742.65
jmp 0x59f6bd
mov eax, dword [ebx + 8]
inc eax
push 0x1d8
mov dword [ebx + 0x28], eax
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x100], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a1b1c
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov eax, dword [ebx + 0x28]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 0x28], eax
cmp byte [eax], 0x41
je 0x59fb31
jmp 0x59f8ab
mov eax, dword [ebx + 8]
inc eax
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x28]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 0x28], eax
cmp byte [eax], 0x41
je 0x59fb52
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xe8], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a1b33
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
inc dword [ebx + 8]
jmp 0x59f6bd
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
sub eax, ecx
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x30]
mov al, byte [eax]
cmp al, 0x45
je 0x5a3968
cmp al, 0x46
je 0x5a3968
cmp al, 0x47
je 0x5a3968
cmp al, 0x48
je 0x5a3968
cmp al, 0x4a
je 0x5a3968
cmp al, 0x4b
je 0x59fcdd
movzx eax, al
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebx + 0x7c], eax
jle 0x59fc22
mov edi, dword [ebx + 0x30]
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x7c]
shl eax, 1
mov dword [ebx + 0x80], eax
mov eax, dword [ebx + 0x7c]
test eax, eax
jle 0x59fcdd
mov dword [esi + 0x54], eax
mov edi, dword [ebx + 0x80]
cmp edi, dword [esi + 0x10]
jl 0x59fc4b
mov dword [esi + 0x1c], edx
jmp 0x59fc92
mov ecx, dword [esi + 0xc]
sub ecx, dword [ebx + 0x7c]
mov eax, dword [esi + 8]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edi*4], ecx
mov eax, dword [ebx + 4]
sub eax, dword [esi + 0x40]
mov ecx, dword [ebx + 0x80]
mov edx, dword [esi + 8]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebx + 0x80]
cmp dword [ebx + 0xc], eax
jg 0x59fc7e
add eax, 2
mov dword [ebx + 0xc], eax
cmp byte [0x67a4fc], 0
je 0x59fc92
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi + 0x50]
jle 0x59fc92
mov dword [esi + 0x50], eax
mov edx, dword [esi + 0x5c]
test edx, edx
je 0x59fcdd
mov eax, dword [edx + 4]
cmp eax, dword [ebx + 0x7c]
jne 0x59fcdd
mov ecx, dword [edx]
mov eax, dword [ebp + 0x70]
mov dword [eax + 0x5c], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x48], ecx
mov ecx, dword [edx + 0x14]
mov edi, dword [eax + 8]
mov esi, dword [edx + 0x10]
shl ecx, 2
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [edx + 8]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x60]
mov dword [ebx + 0x10], eax
mov esi, dword [ebp + 0x70]
jmp 0x59f6bd
mov eax, dword [ebx + 0x60]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 8]
cmp byte [eax], 0x42
je 0x59f8ab
mov ecx, dword [ebx + 4]
cmp ecx, dword [ebx + 0x34]
je 0x59f8ab
cmp byte [eax], 0x44
push 0x1d8
jne 0x5a1b92
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x110], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1b4a
mov ebx, dword [ebp - 0x110]
jmp 0x5a1c2c
cmp dword [esi + 0x20], edi
je 0x59fd4a
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x40]
je 0x5a3775
test byte [ebx + 0x10], 2
je case.0x59f742.1
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x40]
je 0x59fba8
movzx ax, byte [eax - 1]
push eax
call fcn.0059f57b
pop ecx
test al, al
jmp 0x5a0307
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x40]
jmp 0x5a027f
mov eax, dword [esi + 0x58]
add eax, dword [esi + 0x40]
cmp dword [ebx + 4], eax
jmp 0x5a027f
test byte [ebx + 0x10], 2
je 0x59fd9e
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jb 0x59fdd4
cmp dword [esi + 0x24], edi
jmp 0x5a027f
cmp dword [esi + 0x24], edi
jne 0x5a3775
cmp dword [esi + 0x2c], edi
je case.0x59f742.16
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jb 0x5a3775
jmp 0x59fba8
mov eax, dword [esi + 0x44]
lea ecx, [eax - 1]
mov eax, dword [ebx + 4]
cmp eax, ecx
jb 0x5a3775
jne 0x59fba8
movzx ax, byte [eax]
jmp 0x59fd61
cmp dword [ebp + 0x38], edi
mov eax, dword [ebx + 4]
je 0x59ff13
cmp eax, dword [esi + 0x40]
jne 0x59fdf3
mov dword [ebx + 0x5c], edi
jmp 0x59fe89
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
mov dword [ebp + 0x44], eax
jne 0x59fe0f
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x59fe01
mov dword [ebp + 0x44], eax
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x59fe6d
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 8], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x59fe6d
mov eax, dword [ebp + 0x44]
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
mov dword [ebp + 0x3c], eax
jle 0x59fe4b
cmp eax, 0x100
jge 0x59fe82
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
je 0x59fe82
xor eax, eax
inc eax
jmp 0x59fe84
xor eax, eax
mov dword [ebx + 0x5c], eax
xor edi, edi
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jb 0x59fe99
mov dword [ebx + 0x50], edi
jmp 0x59ff47
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x59fef7
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 0x2c], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x59fef7
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x2c]
movzx edx, byte [edx + eax]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
mov dword [ebp + 0x3c], eax
jle 0x59fed5
cmp eax, 0x100
jge 0x59ff0c
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
je 0x59ff0c
xor eax, eax
inc eax
jmp 0x59ff0e
xor eax, eax
mov dword [ebx + 0x50], eax
jmp 0x59ff47
cmp eax, dword [esi + 0x40]
je 0x59ff29
movzx eax, byte [eax - 1]
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
je 0x59ff29
mov eax, edx
jmp 0x59ff2b
xor eax, eax
mov dword [ebx + 0x5c], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x59ff42
movzx eax, byte [eax]
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jne 0x59ff44
xor edx, edx
mov dword [ebx + 0x50], edx
mov eax, dword [ebx + 8]
mov cl, byte [eax]
inc eax
cmp cl, 4
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x50]
jne 0x59ff62
sub eax, dword [ebx + 0x5c]
neg eax
sbb eax, eax
inc eax
jmp 0x59ff6c
xor ecx, ecx
cmp eax, dword [ebx + 0x5c]
setne cl
mov eax, ecx
test eax, eax
jmp 0x5a09b4
test byte [ebx + 0x10], 4
jne 0x59ff94
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x59ff94
movzx ax, byte [eax]
push eax
call fcn.0059f57b
test al, al
pop ecx
jne 0x5a3775
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x44]
cmp ecx, edx
lea eax, [ecx + 1]
mov dword [ebx + 4], eax
jae 0x5a3775
cmp dword [ebp + 0x38], 0
je 0x59fba8
jmp 0x59ffc6
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
jne 0x59fba8
inc eax
mov dword [ebx + 4], eax
cmp eax, dword [esi + 0x44]
jb 0x59ffb4
jmp 0x59fba8
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
cmp eax, ecx
lea edx, [eax + 1]
mov dword [ebx + 4], edx
jae 0x5a3775
jmp 0x59fba8
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a0054
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a0054
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x34]
shl eax, cl
test edx, edx
jle 0x5a0054
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x34], 6
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0039
cmp eax, 0x100
jge 0x59fba8
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 4
jmp 0x5a027f
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a00d6
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a00d6
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x3c], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x3c]
shl eax, cl
test edx, edx
jle 0x5a00d6
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x3c], 6
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a00bb
cmp eax, 0x100
jge 0x5a3775
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 4
jmp 0x5a0307
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a0158
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a0158
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x44], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x44]
shl eax, cl
test edx, edx
jle 0x5a0158
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x44], 6
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a013d
cmp eax, 0x100
jge 0x5a016b
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x5a027f
push eax
call fcn.0059f59f
pop ecx
cmp al, 1
jmp 0x5a0307
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a01e4
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a01e4
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x4c], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x4c]
shl eax, cl
test edx, edx
jle 0x5a01e4
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x4c], 6
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a01c9
cmp eax, 0x100
jge 0x5a01f7
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x5a0307
push eax
call fcn.0059f59f
jmp 0x59fd67
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a026d
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a026d
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x54], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x54]
shl eax, cl
test edx, edx
jle 0x5a026d
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x54], 6
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0252
cmp eax, 0x100
jge 0x59fba8
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jne 0x5a3775
jmp 0x59fba8
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a02f5
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a02f5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x5c], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x5c]
shl eax, cl
test edx, edx
jle 0x5a02f5
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x5c], 6
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a02da
cmp eax, 0x100
jge 0x5a3775
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
je 0x5a3775
jmp 0x59fba8
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
shl ecx, 1
mov dword [ebx + 0x80], ecx
add dword [ebx + 8], 3
cmp byte [0x67a4fc], 0
je 0x5a0345
mov eax, dword [ebx + 0x80]
mov ecx, dword [esi + 8]
cmp dword [ecx + eax*4], edi
jge 0x5a0345
mov dword [ebx + 0x70], edi
jmp 0x5a036d
mov eax, dword [ebx + 0x80]
cmp eax, dword [ebx + 0xc]
jge 0x5a0363
mov ecx, dword [esi + 8]
lea eax, [ecx + eax*4]
mov edx, dword [eax]
cmp edx, edi
jl 0x5a0363
mov eax, dword [eax + 4]
sub eax, edx
jmp 0x5a036a
mov eax, dword [esi + 0x44]
sub eax, dword [ebx + 4]
inc eax
mov dword [ebx + 0x70], eax
mov ecx, dword [ebx + 8]
mov al, byte [ecx]
cmp al, 0x33
jb 0x5a046e
cmp al, 0x38
jbe 0x5a03c0
cmp al, 0x3a
ja 0x5a046e
xor ecx, ecx
cmp al, 0x3a
sete cl
mov dword [ebx + 0x58], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x78], ecx
mov eax, dword [ebx + 8]
movzx edx, byte [eax + 4]
xor ecx, ecx
mov ch, byte [eax + 3]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x74], eax
jne 0x5a03ba
mov dword [ebx + 0x74], 0x7fffffff
add dword [ebx + 8], 5
jmp 0x5a03f1
movzx eax, al
sub eax, 0x33
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x58], ecx
movsx ecx, byte [eax + 0x62b484]
mov dword [ebx + 0x78], ecx
movsx eax, byte [eax + 0x62b48c]
test eax, eax
mov dword [ebx + 0x74], eax
jne 0x5a03f1
mov dword [ebx + 0x74], 0x7fffffff
cmp dword [ebx + 0x70], 0
je 0x59f6bd
xor eax, eax
inc eax
cmp dword [ebx + 0x78], eax
mov dword [ebp + 0x48], eax
jl 0x5a043c
mov eax, dword [ebx + 4]
push dword [ebx + 0x10]
mov edi, dword [ebx + 0x70]
push eax
mov eax, dword [ebx + 0x80]
mov ecx, esi
mov edx, edi
call fcn.0059f5c9
test eax, eax
pop ecx
pop ecx
je 0x5a3775
mov eax, dword [ebx + 4]
add edi, eax
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
mov dword [ebx + 4], edi
cmp eax, dword [ebx + 0x78]
jle 0x5a0406
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
cmp dword [ebx + 0x58], 0
je 0x5a1cba
push 0x1d8
mov dword [ebx + 0x6c], eax
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a1ca3
mov eax, dword [ebx + 4]
push dword [ebx + 0x10]
mov edi, dword [ebx + 0x70]
push eax
mov eax, dword [ebx + 0x80]
mov ecx, esi
mov edx, edi
call fcn.0059f5c9
test eax, eax
pop ecx
pop ecx
je 0x5a3775
mov eax, dword [ebx + 4]
add edi, eax
mov dword [ebx + 4], edi
jmp 0x59f6bd
mov eax, dword [ebx + 8]
inc eax
mov dword [ebx + 0x24], eax
add dword [ebx + 8], 0x21
mov ecx, dword [ebx + 8]
mov al, byte [ecx]
cmp al, 0x33
jb 0x5a0527
cmp al, 0x38
jbe 0x5a04f4
cmp al, 0x3a
ja 0x5a0527
xor ecx, ecx
cmp al, 0x3a
sete cl
mov dword [ebx + 0x58], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x78], ecx
mov eax, dword [ebx + 8]
movzx edx, byte [eax + 4]
xor ecx, ecx
mov ch, byte [eax + 3]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x74], eax
jne 0x5a04ee
mov dword [ebx + 0x74], 0x7fffffff
add dword [ebx + 8], 5
jmp 0x5a052d
movzx eax, al
sub eax, 0x33
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x58], ecx
movsx ecx, byte [eax + 0x62b484]
mov dword [ebx + 0x78], ecx
movsx eax, byte [eax + 0x62b48c]
test eax, eax
mov dword [ebx + 0x74], eax
jne 0x5a052d
mov dword [ebx + 0x74], 0x7fffffff
jmp 0x5a052d
mov dword [ebx + 0x74], edx
mov dword [ebx + 0x78], edx
cmp dword [ebp + 0x38], 0
je 0x5a05f9
xor eax, eax
inc eax
cmp dword [ebx + 0x78], eax
mov dword [ebp + 0x48], eax
jl 0x5a0643
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx eax, byte [edi]
mov ecx, eax
inc edi
and cx, 0xc0
cmp cl, 0xc0
mov dword [ebx + 4], edi
jne 0x5a05ab
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x20], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x20]
shl eax, cl
test edx, edx
jle 0x5a05ab
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x20], 6
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0590
cmp eax, 0xff
jle 0x5a05c1
cmp dword [ebx + 0x84], 0x3b
je 0x5a3775
jmp 0x5a05e8
xor edx, edx
mov ecx, eax
and ecx, 7
inc edx
shl edx, cl
push 8
pop ecx
mov dword [ebp + 0x40], edx
cdq
idiv ecx
mov ecx, dword [ebx + 0x24]
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x40]
test al, cl
je 0x5a3885
mov esi, dword [ebp + 0x70]
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a0546
jmp 0x5a0643
xor edi, edi
inc edi
cmp dword [ebx + 0x78], edi
jl 0x5a0643
mov ecx, dword [ebx + 4]
cmp ecx, dword [esi + 0x44]
jae 0x5a3775
movzx esi, byte [ecx]
inc ecx
mov dword [ebx + 4], ecx
xor eax, eax
inc eax
mov ecx, esi
and ecx, 7
shl eax, cl
push 8
pop ecx
mov dword [ebp + 0x40], eax
mov eax, esi
cdq
idiv ecx
mov ecx, dword [ebx + 0x24]
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x40]
test al, cl
je 0x5a3885
mov esi, dword [ebp + 0x70]
inc edi
cmp edi, dword [ebx + 0x78]
jle 0x5a0601
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
xor eax, eax
cmp dword [ebx + 0x58], eax
je 0x5a1edd
cmp dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x78]
push 0x1d8
mov dword [ebx + 0x6c], eax
je 0x5a1e3c
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a1e21
mov eax, dword [ebx + 8]
add eax, 3
mov dword [ebx + 0x24], eax
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, eax
mov dword [ebx + 8], ecx
mov al, byte [ecx]
cmp al, 0x33
jb 0x5a0716
cmp al, 0x38
jbe 0x5a06e3
cmp al, 0x3a
ja 0x5a0716
xor ecx, ecx
cmp al, 0x3a
sete cl
mov dword [ebx + 0x58], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x78], ecx
mov eax, dword [ebx + 8]
movzx edx, byte [eax + 4]
xor ecx, ecx
mov ch, byte [eax + 3]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x74], eax
jne 0x5a06dd
mov dword [ebx + 0x74], 0x7fffffff
add dword [ebx + 8], 5
jmp 0x5a071c
movzx eax, al
sub eax, 0x33
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x58], ecx
movsx ecx, byte [eax + 0x62b484]
mov dword [ebx + 0x78], ecx
movsx eax, byte [eax + 0x62b48c]
test eax, eax
mov dword [ebx + 0x74], eax
jne 0x5a071c
mov dword [ebx + 0x74], 0x7fffffff
jmp 0x5a071c
mov dword [ebx + 0x74], edx
mov dword [ebx + 0x78], edx
xor eax, eax
inc eax
cmp dword [ebx + 0x78], eax
mov dword [ebp + 0x48], eax
jl 0x5a07b2
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a3775
movzx edx, byte [eax]
lea edi, [eax + 1]
mov eax, edx
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a0790
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp + 0x18], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp + 0x18]
shl edx, cl
test eax, eax
jle 0x5a0790
mov dword [ebp + 0x44], eax
sub dword [ebp + 0x18], 6
mov ecx, dword [ebp + 0x18]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0775
push dword [ebx + 0x24]
push edx
call fcn.005cfb8a
test eax, eax
pop ecx
pop ecx
je 0x5a3775
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a072b
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
cmp dword [ebx + 0x58], 0
je 0x5a21af
push 0x1d8
mov dword [ebx + 0x6c], eax
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a2194
cmp dword [ebp + 0x38], edi
je 0x5a0894
mov dword [ebx + 0x70], edx
inc dword [ebx + 8]
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [ebx + 0x68], eax
jne 0x5a0853
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
and edx, eax
lea ecx, [edi + edi*2]
shl ecx, 1
shl edx, cl
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebx + 0x68], edx
mov dword [ebp - 0x40], eax
jl 0x5a084e
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x40]
movzx eax, byte [edx + eax]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or dword [ebx + 0x68], eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jle 0x5a0831
add dword [ebx + 0x70], edi
xor edi, edi
mov ecx, dword [esi + 0x44]
sub ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x70]
cmp eax, ecx
jg 0x5a3775
cmp eax, edi
jle 0x5a088c
dec eax
mov dword [ebx + 0x70], eax
mov edi, dword [ebx + 4]
mov cl, byte [edi]
mov eax, dword [ebx + 8]
mov al, byte [eax]
inc edi
mov dword [ebx + 4], edi
inc dword [ebx + 8]
cmp al, cl
jne 0x5a3775
mov eax, dword [ebx + 0x70]
test eax, eax
jg 0x5a0868
dec dword [ebx + 0x70]
jmp 0x59f6bd
mov edi, dword [ebx + 4]
mov eax, dword [esi + 0x44]
sub eax, edi
cmp eax, edx
jl 0x5a3775
mov eax, dword [ebx + 8]
mov cl, byte [edi]
mov al, byte [eax + 1]
inc edi
cmp al, cl
jmp 0x5a09e5
cmp dword [ebp + 0x38], edi
je 0x5a09bf
mov dword [ebx + 0x70], edx
inc dword [ebx + 8]
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [ebx + 0x68], eax
jne 0x5a0921
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
and edx, eax
lea ecx, [edi + edi*2]
shl ecx, 1
shl edx, cl
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebx + 0x68], edx
mov dword [ebp + 0x10], eax
jl 0x5a091e
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + eax]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or dword [ebx + 0x68], eax
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], edi
jle 0x5a0901
add dword [ebx + 0x70], edi
mov edi, dword [ebx + 4]
mov eax, dword [esi + 0x44]
sub eax, edi
cmp dword [ebx + 0x70], eax
jg 0x5a3775
movzx edx, byte [edi]
inc edi
cmp dword [ebx + 0x68], 0x80
jge 0x5a0958
mov ecx, dword [ebx + 8]
movzx ecx, byte [ecx]
mov eax, dword [esi + 0x14]
mov cl, byte [ecx + eax]
mov al, byte [edx + eax]
mov dword [ebx + 4], edi
inc dword [ebx + 8]
cmp cl, al
jmp 0x5a09b4
mov eax, edx
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a09ab
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x28]
shl edx, cl
test eax, eax
jle 0x5a09ab
mov dword [ebp + 0x44], eax
sub dword [ebp - 0x28], 6
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0990
mov eax, dword [ebx + 0x70]
add dword [ebx + 8], eax
cmp dword [ebx + 0x68], edx
je 0x59f6bd
jmp 0x5a3775
mov edi, dword [ebx + 4]
mov eax, dword [esi + 0x44]
sub eax, edi
cmp eax, edx
jl 0x5a3775
mov ecx, dword [ebx + 8]
movzx ecx, byte [ecx + 1]
movzx edx, byte [edi]
mov eax, dword [esi + 0x14]
mov cl, byte [ecx + eax]
mov al, byte [edx + eax]
inc edi
cmp cl, al
mov dword [ebx + 4], edi
jne 0x5a3775
jmp 0x59f7a2
mov eax, dword [ebx + 8]
movzx edx, byte [eax + 2]
xor ecx, ecx
mov ch, byte [eax + 1]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x78], eax
add dword [ebx + 8], 3
jmp 0x5a0a64
mov dword [ebx + 0x78], edi
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x74], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [eax], 0x1f
sete cl
mov dword [ebx + 0x58], ecx
jmp 0x5a0a09
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
sub eax, 0x18
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x58], ecx
movsx ecx, byte [eax + 0x62b484]
mov dword [ebx + 0x78], ecx
movsx eax, byte [eax + 0x62b48c]
test eax, eax
mov dword [ebx + 0x74], eax
jne 0x5a0a64
mov dword [ebx + 0x74], 0x7fffffff
cmp dword [ebp + 0x38], 0
je 0x5a0b4c
xor edi, edi
inc edi
mov dword [ebx + 0x70], edi
mov eax, dword [ebx + 8]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [ebx + 0x68], eax
jne 0x5a0adb
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
and edx, eax
lea ecx, [edi + edi*2]
shl ecx, 1
shl edx, cl
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebx + 0x68], edx
mov dword [ebp + 8], eax
jl 0x5a0ad5
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or dword [ebx + 0x68], eax
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jle 0x5a0ab8
add dword [ebx + 0x70], edi
xor edi, edi
inc edi
mov eax, dword [ebx + 0x70]
mov edx, dword [ebx + 0x78]
mov ecx, dword [esi + 0x44]
imul edx, eax
sub ecx, dword [ebx + 4]
cmp edx, ecx
jg 0x5a3775
add dword [ebx + 8], eax
cmp dword [ebx + 0x70], edi
jle 0x5a0b6a
and dword [ebp + 0x34], 0
cmp dword [ebx + 0x78], edi
mov dword [ebp + 0x48], edi
jl 0x5a0b2e
mov eax, dword [ebx + 0x70]
mov esi, dword [ebx + 4]
mov edi, dword [ebx + 0x20]
mov ecx, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x5a3885
mov ecx, dword [ebx + 4]
add eax, ecx
inc dword [ebp + 0x48]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a0b06
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59fcd5
cmp dword [ebx + 0x58], 0
je 0x5a238c
mov dword [ebx + 0x6c], eax
jmp 0x5a235d
mov eax, dword [esi + 0x44]
sub eax, dword [ebx + 4]
cmp dword [ebx + 0x78], eax
jg 0x5a3775
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
mov dword [ebx + 0x68], eax
inc dword [ebx + 8]
xor edi, edi
inc edi
test byte [ebx + 0x10], 1
je 0x5a0bd6
mov eax, dword [ebx + 0x68]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
mov dword [ebx + 0x68], eax
cmp dword [ebx + 0x78], edi
jl 0x5a0ba4
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edx, dword [esi + 0x14]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebx + 0x68]
inc eax
cmp edx, ecx
mov dword [ebx + 4], eax
jne 0x5a3775
inc edi
cmp edi, dword [ebx + 0x78]
jle 0x5a0b82
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
cmp dword [ebx + 0x58], 0
je 0x5a24a1
push 0x1d8
mov dword [ebx + 0x6c], eax
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a2484
cmp dword [ebx + 0x78], edi
jl 0x5a0bf6
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edx, dword [ebx + 0x68]
inc eax
cmp edx, ecx
mov dword [ebx + 4], eax
jne 0x5a3775
inc edi
cmp edi, dword [ebx + 0x78]
jle 0x5a0bdb
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
cmp dword [ebx + 0x58], 0
je 0x5a2599
push 0x1d8
mov dword [ebx + 0x6c], eax
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a257c
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a3775
inc dword [ebx + 8]
mov edi, dword [ebx + 4]
movzx eax, byte [edi]
inc edi
cmp dword [ebp + 0x38], 0
mov dword [ebx + 4], edi
je 0x5a0c99
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a0c99
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp - 0x50], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x50]
shl eax, cl
test edx, edx
jle 0x5a0c99
mov dword [ebp + 0x44], edx
sub dword [ebp - 0x50], 6
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov dl, byte [edi]
and edx, 0x3f
shl edx, cl
or eax, edx
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0c7e
test byte [ebx + 0x10], 1
je 0x5a0cbc
cmp eax, 0x100
jge 0x5a0cad
mov ecx, dword [esi + 0x14]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebx + 8]
movzx edx, byte [ecx]
mov edi, dword [esi + 0x14]
movzx edx, byte [edi + edx]
jmp 0x5a0cc2
mov ecx, dword [ebx + 8]
movzx edx, byte [ecx]
inc ecx
cmp edx, eax
mov dword [ebx + 8], ecx
jne 0x59f6bd
jmp 0x5a3775
mov eax, dword [ebx + 8]
movzx edx, byte [eax + 2]
xor ecx, ecx
mov ch, byte [eax + 1]
mov eax, ecx
or eax, edx
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x78], eax
add dword [ebx + 8], 3
jmp 0x5a0d44
mov dword [ebx + 0x78], edi
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x74], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [eax], 0x28
sete cl
mov dword [ebx + 0x58], ecx
jmp 0x5a0ce9
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
sub eax, 0x21
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x58], ecx
movsx ecx, byte [eax + 0x62b484]
mov dword [ebx + 0x78], ecx
movsx eax, byte [eax + 0x62b48c]
test eax, eax
mov dword [ebx + 0x74], eax
jne 0x5a0d44
mov dword [ebx + 0x74], 0x7fffffff
mov eax, dword [esi + 0x44]
sub eax, dword [ebx + 4]
cmp dword [ebx + 0x78], eax
jg 0x5a3775
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
mov dword [ebx + 0x68], eax
inc dword [ebx + 8]
test byte [ebx + 0x10], 1
je 0x5a0e77
cmp dword [ebp + 0x38], 0
mov eax, dword [ebx + 0x68]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
mov dword [ebx + 0x68], eax
je 0x5a0e0e
xor eax, eax
inc eax
cmp dword [ebx + 0x78], eax
mov dword [ebp + 0x48], eax
jl 0x5a0e38
mov edi, dword [ebx + 4]
movzx edx, byte [edi]
mov eax, edx
inc edi
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a0de9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp]
shl edx, cl
test eax, eax
jle 0x5a0de9
mov dword [ebp + 0x44], eax
sub dword [ebp], 6
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0dce
cmp edx, 0x100
jge 0x5a0df8
mov eax, dword [esi + 0x14]
movzx edx, byte [eax + edx]
cmp dword [ebx + 0x68], edx
je 0x5a3775
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a0d8f
jmp 0x5a0e38
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x78], ecx
jl 0x5a0e38
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x14]
movzx edx, byte [edx + edi]
mov edi, dword [ebx + 0x68]
inc eax
cmp edi, edx
mov dword [ebx + 4], eax
je 0x5a3775
inc ecx
cmp ecx, dword [ebx + 0x78]
jle 0x5a0e16
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
xor eax, eax
cmp dword [ebx + 0x58], eax
je 0x5a2778
cmp dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x78]
push 0x1d8
mov dword [ebx + 0x6c], eax
je 0x5a26ec
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a26cb
cmp dword [ebp + 0x38], 0
je 0x5a0efc
xor eax, eax
inc eax
cmp dword [ebx + 0x78], eax
mov dword [ebp + 0x48], eax
jl 0x5a0f1f
mov edi, dword [ebx + 4]
movzx edx, byte [edi]
mov eax, edx
inc edi
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a0ee6
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp - 0x30], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x30]
shl edx, cl
test eax, eax
jle 0x5a0ee6
mov dword [ebp + 0x44], eax
sub dword [ebp - 0x30], 6
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a0ecb
cmp dword [ebx + 0x68], edx
je 0x5a3775
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a0e8c
jmp 0x5a0f1f
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x78], ecx
jl 0x5a0f1f
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [ebx + 0x68]
inc eax
cmp edi, edx
mov dword [ebx + 4], eax
je 0x5a3775
inc ecx
cmp ecx, dword [ebx + 0x78]
jle 0x5a0f04
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
xor eax, eax
cmp dword [ebx + 0x58], eax
je 0x5a2a51
cmp dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x78]
push 0x1d8
mov dword [ebx + 0x6c], eax
je 0x5a29d2
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a29b7
mov eax, dword [ebx + 8]
movzx edi, byte [eax + 2]
xor ecx, ecx
mov ch, byte [eax + 1]
mov eax, ecx
or eax, edi
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x58], edx
add dword [ebx + 8], 3
jmp 0x5a0fd2
mov dword [ebx + 0x78], edi
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x74], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [eax], 0x31
sete cl
mov dword [ebx + 0x58], ecx
jmp 0x5a0f77
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
sub eax, 0x2a
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x58], ecx
movsx ecx, byte [eax + 0x62b484]
mov dword [ebx + 0x78], ecx
movsx eax, byte [eax + 0x62b48c]
test eax, eax
mov dword [ebx + 0x74], eax
jne 0x5a0fd2
mov dword [ebx + 0x74], 0x7fffffff
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
mov dword [ebx + 0x64], eax
inc dword [ebx + 8]
mov eax, dword [esi + 0x44]
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0x78]
mov edi, eax
sub edi, edx
cmp ecx, edi
jg 0x5a3775
test ecx, ecx
jle 0x5a1587
cmp dword [ebp + 0x38], 0
je 0x5a13de
mov edi, dword [ebx + 0x64]
add edi, 0xfffffffb
cmp edi, 7
ja case.default.0x5a342e
jmp dword [edi*4 + 0x5a3bbf]
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x48], edx
jl 0x5a1587
mov ecx, dword [ebx + 4]
cmp ecx, eax
jae 0x5a3775
movzx edx, byte [ecx]
mov eax, edx
and ax, 0xc0
cmp al, 0xc0
lea edi, [ecx + 1]
mov dword [ebx + 4], edi
jne 0x5a108d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp + 0x24], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp + 0x24]
shl edx, cl
test eax, eax
jle 0x5a108d
mov dword [ebp + 0x44], eax
sub dword [ebp + 0x24], 6
mov ecx, dword [ebp + 0x24]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a1072
push edx
call fcn.0059f57b
test al, al
pop ecx
je 0x5a10a2
test byte [ebx + 0x10], 4
je 0x5a3775
mov eax, dword [esi + 0x44]
cmp edi, eax
jae 0x5a10c3
mov edi, dword [ebx + 4]
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5a10c3
lea ecx, [edi + 1]
mov dword [ebx + 4], ecx
mov eax, dword [esi + 0x44]
cmp ecx, eax
jb 0x5a10a9
inc dword [ebp + 0x48]
mov ecx, dword [ebp + 0x48]
cmp ecx, dword [ebx + 0x78]
jle 0x5a1029
jmp 0x5a1587
add ecx, edx
mov dword [ebx + 4], ecx
jmp 0x5a1587
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x48], eax
jl 0x5a1587
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a3775
movzx edx, byte [edi]
mov eax, edx
inc edi
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a1152
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp - 0x48], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x48]
shl edx, cl
test eax, eax
jle 0x5a1152
mov dword [ebp + 0x44], eax
sub dword [ebp - 0x48], 6
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a1137
cmp edx, 0x80
jge 0x5a1167
mov eax, dword [esi + 0x18]
test byte [edx + eax], 4
jne 0x5a3775
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a10ef
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a3775
mov cl, byte [eax]
cmp cl, 0x80
jae 0x5a3775
mov edi, dword [esi + 0x18]
movzx ecx, cl
test byte [ecx + edi], 4
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a1186
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x48], edx
jl 0x5a1587
mov ecx, dword [ebx + 4]
cmp ecx, eax
jae 0x5a3775
mov al, byte [ecx]
cmp al, 0x80
lea edi, [ecx + 1]
jae 0x5a11f5
mov edx, dword [esi + 0x18]
movzx eax, al
test byte [eax + edx], 1
mov dword [ebx + 4], edi
jne 0x5a3775
jmp 0x5a125a
movzx edx, al
mov eax, edx
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a124b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x10]
shl edx, cl
test eax, eax
jle 0x5a124b
mov dword [ebp + 0x44], eax
sub dword [ebp - 0x10], 6
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a1230
push edx
call fcn.0059f59f
cmp al, 1
pop ecx
je 0x5a3775
mov eax, dword [esi + 0x44]
cmp edi, eax
jae 0x5a127b
mov edi, dword [ebx + 4]
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5a127b
lea ecx, [edi + 1]
mov dword [ebx + 4], ecx
mov eax, dword [esi + 0x44]
cmp ecx, eax
jb 0x5a1261
inc dword [ebp + 0x48]
mov ecx, dword [ebp + 0x48]
cmp ecx, dword [ebx + 0x78]
jle 0x5a11cc
jmp 0x5a1587
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x48], eax
jl 0x5a1587
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a3775
mov cl, byte [eax]
cmp cl, 0x80
jae 0x5a12c2
mov edx, dword [esi + 0x18]
movzx ecx, cl
test byte [ecx + edx], 1
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jmp 0x5a1324
movzx edx, cl
lea edi, [eax + 1]
mov eax, edx
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a131b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x38]
shl edx, cl
test eax, eax
jle 0x5a131b
mov dword [ebp + 0x44], eax
sub dword [ebp - 0x38], 6
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a1300
push edx
call fcn.0059f59f
pop ecx
test al, al
je 0x5a3775
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a129d
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov ecx, dword [ebx + 4]
cmp ecx, eax
jae 0x5a3775
mov al, byte [ecx]
cmp al, 0x80
jae 0x5a1370
mov edi, dword [esi + 0x18]
movzx eax, al
test byte [eax + edi], 0x10
lea ecx, [ecx + 1]
mov dword [ebx + 4], ecx
jne 0x5a3775
mov eax, dword [esi + 0x44]
cmp dword [ebx + 4], eax
jae 0x5a1390
mov edi, dword [ebx + 4]
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x5a1390
inc edi
mov dword [ebx + 4], edi
mov eax, dword [esi + 0x44]
cmp edi, eax
jb 0x5a1378
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a1349
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a3775
mov cl, byte [eax]
cmp cl, 0x80
jae 0x5a3775
mov edi, dword [esi + 0x18]
movzx ecx, cl
test byte [ecx + edi], 0x10
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a13a6
jmp 0x5a1587
mov eax, dword [ebx + 0x64]
add eax, 0xfffffffb
cmp eax, 7
ja case.default.0x5a342e
jmp dword [eax*4 + 0x5a3bdf]
test byte [ebx + 0x10], 4
jne case.0x5a13ed.12
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x48], eax
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov eax, edx
and ax, 0xc0
cmp al, 0xc0
mov dword [ebx + 4], edi
jne 0x5a1468
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x63f258]
lea ecx, [eax + eax*2]
shl ecx, 1
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax*4 + 0x63f240]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x18]
shl edx, cl
test eax, eax
jle 0x5a1468
mov dword [ebp + 0x44], eax
sub dword [ebp - 0x18], 6
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov al, byte [edi]
and eax, 0x3f
shl eax, cl
or edx, eax
inc edi
dec dword [ebp + 0x44]
mov dword [ebx + 4], edi
jne 0x5a144d
push edx
call fcn.0059f57b
test al, al
pop ecx
jne 0x5a3775
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x78]
jle 0x5a140c
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [ecx + edi], 4
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jne 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a1492
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [ecx + edi], 4
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a14c1
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [ecx + edi], 1
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jne 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a14f0
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [ecx + edi], 1
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a1518
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [ecx + edi], 0x10
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jne 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a1540
jmp 0x5a1587
xor edx, edx
inc edx
cmp ecx, edx
jl 0x5a1587
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [ecx + edi], 0x10
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x5a3775
inc edx
cmp edx, dword [ebx + 0x78]
jle 0x5a1568
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
je 0x59f6bd
xor eax, eax
cmp dword [ebx + 0x58], eax
je 0x5a2e65
cmp dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x78]
push 0x1d8
mov dword [ebx + 0x6c], eax
je 0x5a2d58
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a2d37
mov eax, dword [esi + 0xc]
sub eax, dword [ebx + 0x7c]
cmp byte [0x67a4fc], 0
mov ecx, dword [esi + 8]
mov eax, dword [ecx + eax*4]
mov dword [ebx + 0x94], eax
mov eax, dword [esi + 0x54]
mov dword [ebx + 0x88], eax
je 0x5a1639
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x80]
cmp eax, ecx
jle 0x5a15fb
sub eax, ecx
jmp 0x5a15fe
push 2
pop eax
mov edx, dword [ebp + 0x70]
mov dword [ebx + 0x188], eax
mov edx, dword [edx + 8]
mov ecx, eax
mov eax, dword [ebx + 0x80]
lea esi, [edx + eax*4]
lea edi, [ebx + 0x110]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x80]
inc eax
inc eax
jmp 0x5a1632
mov ecx, dword [ebp + 0x70]
mov ecx, dword [ecx + 8]
or dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [ebx + 0xc]
jl 0x5a1627
jmp 0x5a1662
mov edx, dword [esi + 8]
lea eax, [ebx + 0x80]
mov ecx, dword [eax]
mov ecx, dword [edx + ecx*4]
mov dword [ebx + 0x114], ecx
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x188], edi
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 0xc]
sub ecx, dword [eax + 0x40]
sub edx, dword [ebx + 0x7c]
mov eax, dword [eax + 8]
mov dword [eax + edx*4], ecx
jmp 0x5a16b2
mov edi, dword [ebp + 0x70]
mov ebx, dword [edi + 0x64]
mov esi, dword [ebx + 0x194]
test esi, esi
mov dword [ebp + 0x4c], ebx
jne 0x5a3640
mov eax, dword [ebx + 0x88]
mov dword [edi + 0x54], eax
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
jne 0x5a3668
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xa4], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1679
mov ebx, dword [ebp - 0xa4]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
add ecx, 3
jmp 0x5a1bc5
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a174b
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
mov eax, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [esi + 8], eax
cmp byte [eax], 0x41
jne 0x5a3a04
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push ebx
push esi
mov dword [ebp - 0xb8], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1708
mov ebx, dword [ebp - 0xb8]
jmp 0x5a16de
mov edi, dword [ebx + 8]
cmp byte [edi + 3], 0x4c
jne 0x5a1808
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
add eax, eax
cmp eax, 0x1fffe
mov dword [ebx + 0x80], eax
jne 0x5a1796
xor edx, edx
cmp dword [esi + 0x5c], edx
setne dl
jmp 0x5a17a6
cmp eax, dword [ebx + 0xc]
jge 0x5a17a4
mov ecx, dword [esi + 8]
cmp dword [ecx + eax*4], 0
jge 0x5a17a6
xor edx, edx
push 0x1d8
mov dword [ebx + 0x54], edx
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xf0], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a3728
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0xf0]
mov dword [ebx + 4], ecx
cmp dword [eax + 0x54], 0
je 0x5a17ed
push 6
pop ecx
jmp 0x5a17fb
mov esi, dword [eax + 8]
xor ecx, ecx
mov ch, byte [esi + 1]
mov cl, byte [esi + 2]
add ecx, 3
mov edx, dword [eax + 8]
add edx, ecx
mov dword [ebx + 8], edx
jmp 0x5a1bc8
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x114], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1860
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0x114]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
push 3
pop ecx
add edx, ecx
mov dword [ebx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x10], edx
and dword [ebx + 0x14], 0
mov dword [ebx + 0x18], ecx
jmp 0x5a3602
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
cmp ebx, 1
mov dword [ebp + 0x4c], esi
jne 0x5a189c
mov eax, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
lea eax, [ecx + eax + 3]
jmp 0x5a1892
mov eax, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [esi + 8], eax
cmp byte [eax], 0x41
je 0x5a1885
jmp 0x5a18b4
test ebx, ebx
jne 0x5a36f7
mov eax, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, eax
mov dword [esi + 8], ecx
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0xbc], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a3757
mov ebx, dword [ebp - 0xbc]
jmp 0x5a16de
mov ebx, dword [ebp - 0xc8]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
add ecx, 3
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
and dword [ebx + 0x14], 0
jmp 0x5a1bda
mov ebx, dword [ebp - 0x108]
jmp 0x5a18ef
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x3c]
add eax, ecx
mov dword [ebx + 0x1c], eax
movzx eax, byte [eax]
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebx + 0x3c], eax
jle 0x5a194d
mov eax, dword [ebx + 0x1c]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebx + 0x3c], ecx
mov ecx, dword [esi + 0x5c]
lea eax, [ebx + 0x38]
mov dword [eax], ecx
mov dword [esi + 0x5c], eax
add dword [ebx + 8], 3
mov eax, dword [ebx + 8]
mov dword [ebx + 0x40], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x1e
mov dword [ebx + 0x4c], eax
jg 0x5a1978
lea eax, [ebx + 0x98]
mov dword [ebx + 0x48], eax
jmp 0x5a198e
shl eax, 2
push eax
call dword [0x67a4ec]
test eax, eax
pop ecx
mov dword [ebx + 0x48], eax
je 0x5a37d6
mov ecx, dword [ebx + 0x4c]
mov eax, dword [ebp + 0x70]
mov esi, dword [eax + 8]
mov edi, dword [ebx + 0x48]
shl ecx, 2
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x48]
mov dword [ebx + 0x44], ecx
mov ecx, dword [ebx + 4]
mov dword [eax + 0x48], ecx
jmp 0x5a1a12
mov edx, dword [ebp + 0x70]
mov ebx, dword [edx + 0x64]
mov esi, dword [ebx + 0x194]
cmp esi, 1
mov dword [ebp + 0x4c], ebx
je 0x5a37ff
test esi, esi
jne 0x5a3842
lea eax, [ebx + 0x38]
mov dword [edx + 0x5c], eax
mov ecx, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x48]
mov edi, dword [edx + 8]
shl ecx, 2
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x1c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 0x1c], eax
cmp byte [eax], 0x41
jne 0x5a386a
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xb4], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a19b9
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0xb4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 0x1c]
jmp 0x5a16ea
mov ebx, dword [ebp - 0xd0]
jmp 0x5a16de
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push ebx
push esi
mov dword [ebp - 0xd8], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a38a5
mov ebx, dword [ebp - 0xd8]
jmp 0x5a1bb9
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x118], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1ad1
mov ebx, dword [ebp - 0x118]
jmp 0x5a1bb9
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push ebx
push esi
mov dword [ebp - 0xe0], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a38a5
mov ebx, dword [ebp - 0xe0]
jmp 0x5a1c2c
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0x100]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 0x28]
jmp 0x5a1bc5
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0xe8]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 0x28]
jmp 0x5a16ea
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push ebx
push esi
mov dword [ebp - 0xc0], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a38f7
mov ebx, dword [ebp - 0xc0]
jmp 0x5a1bb9
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xc4], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1be6
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], 2
jmp 0x5a3602
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push ebx
push esi
mov dword [ebp - 0xcc], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a3934
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
add ecx, 3
jmp 0x5a35e9
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a3a04
push dword [esi + 0x10]
mov ebx, dword [esi + 0x70]
mov edi, dword [esi + 4]
mov ecx, dword [ebp + 0x70]
mov eax, dword [esi + 0x80]
push edi
mov edx, ebx
call fcn.0059f5c9
test eax, eax
pop ecx
pop ecx
je 0x5a3a01
add ebx, edi
mov dword [esi + 4], ebx
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x64], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1c40
mov ebx, dword [ebp - 0x64]
jmp 0x5a35dd
mov eax, dword [ebx + 4]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp + 0x48], eax
jmp 0x5a1cf5
mov eax, dword [ebx + 4]
push dword [ebx + 0x10]
mov edi, dword [ebx + 0x70]
push eax
mov eax, dword [ebx + 0x80]
mov ecx, esi
mov edx, edi
call fcn.0059f5c9
test eax, eax
pop ecx
pop ecx
je 0x5a1cfa
mov eax, dword [ebx + 4]
add edi, eax
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
mov dword [ebx + 4], edi
cmp eax, dword [ebx + 0x74]
jl 0x5a1cc8
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xd4], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a1d4b
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov eax, dword [ebx + 0x70]
sub dword [ebx + 4], eax
jmp 0x5a1cfa
mov ebx, dword [ebp - 0xd4]
jmp 0x5a35dd
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a3a04
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x44]
jae 0x5a3a04
movzx ebx, byte [eax]
mov ecx, ebx
inc eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [esi + 4], eax
jne 0x5a1ddb
mov ecx, ebx
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
mov ecx, dword [edx*4 + 0x63f240]
and ecx, ebx
lea edi, [edx + edx*2]
shl edi, 1
mov ebx, ecx
mov ecx, edi
shl ebx, cl
test edx, edx
jle 0x5a1dd8
mov dword [ebp + 0x44], edx
xor edx, edx
mov dl, byte [eax]
sub edi, 6
mov ecx, edi
and edx, 0x3f
shl edx, cl
or ebx, edx
inc eax
dec dword [ebp + 0x44]
mov dword [esi + 4], eax
jne 0x5a1dbf
mov edi, dword [ebp + 0x70]
cmp ebx, 0xff
jle 0x5a1dec
cmp dword [esi + 0x84], 0x3b
jmp 0x5a1e04
mov eax, ebx
push 8
cdq
pop ecx
idiv ecx
mov edx, dword [esi + 0x24]
mov ecx, ebx
xor ebx, ebx
and ecx, 7
inc ebx
shl ebx, cl
test byte [eax + edx], bl
je 0x5a3a04
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x80], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1d56
mov ebx, dword [ebp - 0x80]
jmp 0x5a35dd
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a1ebc
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x44]
jae 0x5a2297
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
mov eax, ecx
push 8
cdq
pop edi
idiv edi
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x40], ebx
xor ebx, ebx
inc ebx
and ecx, 7
shl ebx, cl
test byte [eax + edx], bl
mov ebx, dword [ebp + 0x40]
je 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0xa8], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1e4d
mov ebx, dword [ebp - 0xa8]
jmp 0x5a35dd
cmp dword [ebp + 0x38], eax
mov ecx, dword [ebx + 4]
mov dword [ebx + 0x2c], ecx
je 0x5a2021
mov edi, dword [ebx + 0x78]
jmp 0x5a1fad
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
mov dword [ebp + 0x2c], 1
jae 0x5a1ff6
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a1f6c
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 0x58], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a1f65
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x58]
movzx edx, byte [edx + eax]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], edi
mov dword [ebp + 0x3c], eax
jle 0x5a1f43
inc edi
mov dword [ebp + 0x2c], edi
mov edi, dword [ebp + 0x48]
cmp eax, 0xff
jle 0x5a1f7e
cmp dword [ebx + 0x84], 0x3b
je 0x5a1ff6
jmp 0x5a1fa1
xor edx, edx
mov ecx, eax
and ecx, 7
inc edx
shl edx, cl
push 8
pop ecx
mov dword [ebp + 0x40], edx
cdq
idiv ecx
mov ecx, dword [ebx + 0x24]
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x40]
test al, cl
je 0x5a1ff6
mov esi, dword [ebp + 0x70]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x2c]
add ecx, eax
mov dword [ebx + 4], ecx
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a1ef4
jmp 0x5a1ff6
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x2c]
cmp ecx, edx
lea eax, [ecx - 1]
mov dword [ebx + 4], eax
je 0x5a3775
jmp 0x5a1fec
dec eax
mov dword [ebx + 4], eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x5a1fe8
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x60], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a1fbb
mov ebx, dword [ebp - 0x60]
jmp 0x5a35dd
mov eax, dword [ebx + 0x78]
cmp eax, dword [ebx + 0x74]
mov dword [ebp + 0x48], eax
jge 0x5a2070
jmp 0x5a2031
mov esi, dword [ebp + 0x70]
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a2070
movzx esi, byte [edi]
xor eax, eax
inc eax
mov ecx, esi
and ecx, 7
shl eax, cl
push 8
pop ecx
mov dword [ebp + 0x40], eax
mov eax, esi
cdq
idiv ecx
mov ecx, dword [ebx + 0x24]
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x40]
test al, cl
je 0x5a206d
inc edi
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
mov dword [ebx + 4], edi
cmp eax, dword [ebx + 0x74]
jl 0x5a202e
mov esi, dword [ebp + 0x70]
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xdc], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a20da
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
dec dword [ebx + 4]
test edi, edi
mov dword [ebp + 0x4c], ebx
je 0x5a2070
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3750
mov dword [ebx + 0x194], edi
jmp 0x5a3a92
mov ebx, dword [ebp - 0xdc]
jmp 0x5a35dd
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a3a04
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x44]
jae 0x5a3a04
movzx ebx, byte [eax]
mov ecx, ebx
inc eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [esi + 4], eax
jne 0x5a216a
mov ecx, ebx
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
mov ecx, dword [edx*4 + 0x63f240]
and ecx, ebx
lea edi, [edx + edx*2]
shl edi, 1
mov ebx, ecx
mov ecx, edi
shl ebx, cl
test edx, edx
jle 0x5a2167
mov dword [ebp + 0x2c], edx
xor edx, edx
mov dl, byte [eax]
sub edi, 6
mov ecx, edi
and edx, 0x3f
shl edx, cl
or ebx, edx
inc eax
dec dword [ebp + 0x2c]
mov dword [esi + 4], eax
jne 0x5a214e
mov edi, dword [ebp + 0x70]
push dword [esi + 0x24]
push ebx
call fcn.005cfb8a
test eax, eax
pop ecx
pop ecx
je 0x5a3a04
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x6c], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a20e5
mov ebx, dword [ebp - 0x6c]
jmp 0x5a35dd
mov eax, dword [ebx + 4]
mov dword [ebx + 0x2c], eax
mov edi, dword [ebx + 0x78]
jmp 0x5a224e
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
mov dword [ebp - 0x94], 1
jae 0x5a225a
movzx eax, byte [eax]
mov dword [ebp + 0x3c], eax
and ax, 0xc0
cmp al, 0xc0
jne 0x5a2233
mov eax, dword [ebp + 0x3c]
and eax, 0x3f
movzx edi, byte [eax + 0x63f258]
mov eax, dword [edi*4 + 0x63f240]
and eax, dword [ebp + 0x3c]
lea ecx, [edi + edi*2]
shl ecx, 1
shl eax, cl
mov dword [ebp + 0x3c], eax
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebp + 0x20], eax
jl 0x5a2229
mov edx, dword [ebp + 0x20]
mov eax, dword [ebx + 4]
movzx eax, byte [edx + eax]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or dword [ebp + 0x3c], eax
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], edi
jle 0x5a220c
inc edi
mov dword [ebp - 0x94], edi
mov edi, dword [ebp + 0x48]
push dword [ebx + 0x24]
push dword [ebp + 0x3c]
call fcn.005cfb8a
test eax, eax
pop ecx
pop ecx
je 0x5a225a
mov eax, dword [ebp - 0x94]
add dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a21bd
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a22df
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x2c]
cmp ecx, edx
lea eax, [ecx - 1]
mov dword [esi + 4], eax
jne 0x5a22c1
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x4c], esi
call dword [0x67a4f8]
test esi, esi
pop ecx
je 0x5a36f0
and dword [esi + 0x194], 0
mov dword [ebx + 0x64], esi
jmp 0x5a3713
dec eax
mov dword [esi + 4], eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x5a22bd
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x74], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2270
mov ebx, dword [ebp - 0x74]
jmp 0x5a35dd
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov eax, dword [ebx + 0x6c]
cmp eax, dword [ebx + 0x74]
jge 0x5a3775
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a3775
mov ecx, dword [ebx + 0x70]
mov edi, dword [ebx + 0x20]
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x5a2338
mov ecx, dword [ebx + 0x70]
jmp 0x5a2355
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x5a3885
lea edi, [ebp + 0x50]
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x5a3885
mov ecx, dword [ebp + 0x34]
add ecx, eax
mov dword [ebx + 4], ecx
inc dword [ebx + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x7c], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a22f6
mov ebx, dword [ebp - 0x7c]
jmp 0x5a35dd
mov eax, dword [ebx + 4]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp + 0x48], eax
jmp 0x5a23c5
mov ecx, dword [ebp + 0x70]
mov eax, dword [ebx + 0x70]
mov ecx, dword [ecx + 0x44]
mov esi, dword [ebx + 4]
sub ecx, eax
cmp esi, ecx
ja 0x5a23ca
mov edi, dword [ebx + 0x20]
mov ecx, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x5a23ca
mov ecx, dword [ebx + 4]
add eax, ecx
inc dword [ebp + 0x48]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x74]
jl 0x5a239a
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3885
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xe4], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a241b
mov edi, dword [ebp + 0x70]
mov ebx, dword [edi + 0x64]
mov esi, dword [ebx + 0x194]
test esi, esi
mov dword [ebp + 0x4c], ebx
jne 0x5a3640
mov eax, dword [ebx + 0x70]
sub dword [ebx + 4], eax
jmp 0x5a23ca
mov ebx, dword [ebp - 0xe4]
jmp 0x5a35dd
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x44]
jae 0x5a2297
movzx ecx, byte [eax]
mov edx, dword [ebx + 0x14]
movzx ecx, byte [edx + ecx]
mov edx, dword [esi + 0x68]
inc eax
cmp edx, ecx
mov dword [esi + 4], eax
jne 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push edi
push esi
mov dword [ebp - 0x9c], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2426
mov ebx, dword [ebp - 0x9c]
jmp 0x5a35dd
mov eax, dword [ebx + 4]
mov dword [ebx + 0x2c], eax
mov ecx, dword [ebx + 0x78]
jmp 0x5a24c8
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a24cd
movzx edx, byte [eax]
mov edi, dword [esi + 0x14]
movzx edx, byte [edx + edi]
cmp dword [ebx + 0x68], edx
jne 0x5a24cd
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a24ac
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xec], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a251a
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
dec dword [ebx + 4]
test edi, edi
mov dword [ebp + 0x4c], ebx
je 0x5a24cd
jmp 0x5a20b8
mov ebx, dword [ebp - 0xec]
jmp 0x5a35dd
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x44]
jae 0x5a2297
movzx ecx, byte [eax]
mov edx, dword [esi + 0x68]
inc eax
cmp edx, ecx
mov dword [esi + 4], eax
jne 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push edi
push esi
mov dword [ebp - 0x84], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2525
mov ebx, dword [ebp - 0x84]
jmp 0x5a35dd
mov eax, dword [ebx + 4]
mov dword [ebx + 0x2c], eax
mov ecx, dword [ebx + 0x78]
jmp 0x5a25b9
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a25be
movzx edx, byte [eax]
cmp dword [ebx + 0x68], edx
jne 0x5a25be
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a25a4
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xf4], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a260b
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
dec dword [ebx + 4]
test edi, edi
mov dword [ebp + 0x4c], ebx
je 0x5a25be
jmp 0x5a20b8
mov ebx, dword [ebp - 0xf4]
jmp 0x5a35dd
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
mov eax, dword [esi + 4]
movzx ebx, byte [eax]
mov ecx, ebx
inc eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [esi + 4], eax
jne 0x5a2686
mov ecx, ebx
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
mov ecx, dword [edx*4 + 0x63f240]
and ecx, ebx
lea edi, [edx + edx*2]
shl edi, 1
mov ebx, ecx
mov ecx, edi
shl ebx, cl
test edx, edx
jle 0x5a2683
mov dword [ebp + 0x34], edx
xor edx, edx
mov dl, byte [eax]
sub edi, 6
mov ecx, edi
and edx, 0x3f
shl edx, cl
or ebx, edx
inc eax
dec dword [ebp + 0x34]
mov dword [esi + 4], eax
jne 0x5a266a
mov edi, dword [ebp + 0x70]
cmp ebx, 0x100
jge 0x5a2695
mov ecx, dword [edi + 0x14]
movzx ebx, byte [ecx + ebx]
mov ecx, dword [esi + 0x6c]
cmp ecx, dword [esi + 0x74]
jge 0x5a3a04
cmp eax, dword [edi + 0x44]
jae 0x5a3a04
cmp dword [esi + 0x68], ebx
je 0x5a3a04
inc ecx
push 0x1d8
mov dword [esi + 0x6c], ecx
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0xac], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2616
mov ebx, dword [ebp - 0xac]
jmp 0x5a35dd
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a275b
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x44]
jae 0x5a2297
movzx ecx, byte [eax]
mov edx, dword [ebx + 0x14]
movzx ecx, byte [edx + ecx]
mov edx, dword [esi + 0x68]
inc eax
cmp edx, ecx
mov dword [esi + 4], eax
je 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push edi
push esi
mov dword [ebp - 0x8c], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a26fd
mov ebx, dword [ebp - 0x8c]
jmp 0x5a35dd
cmp dword [ebp + 0x38], eax
mov ecx, dword [ebx + 4]
mov dword [ebx + 0x2c], ecx
je 0x5a2892
mov edi, dword [ebx + 0x78]
jmp 0x5a281e
mov eax, dword [ebx + 4]
xor ecx, ecx
inc ecx
cmp eax, dword [esi + 0x44]
jae 0x5a2867
movzx eax, byte [eax]
mov edx, eax
and dx, 0xc0
cmp dl, 0xc0
jne 0x5a2802
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp + 0x1c], 1
mov eax, edx
mov dword [ebp + 0x30], eax
jl 0x5a27fc
mov eax, dword [ebx + 4]
mov edx, dword [ebp + 0x1c]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x30]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edi
mov dword [ebp + 0x30], eax
jle 0x5a27da
lea ecx, [edi + 1]
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a2810
mov edx, dword [esi + 0x14]
movzx eax, byte [edx + eax]
cmp dword [ebx + 0x68], eax
je 0x5a2867
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a278f
jmp 0x5a2867
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x2c]
cmp ecx, edx
lea eax, [ecx - 1]
mov dword [ebx + 4], eax
je 0x5a3775
jmp 0x5a285d
dec eax
mov dword [ebx + 4], eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x5a2859
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x68], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a282c
mov ebx, dword [ebp - 0x68]
jmp 0x5a35dd
mov ecx, dword [ebx + 0x78]
jmp 0x5a28b3
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a28b8
movzx edx, byte [eax]
mov edi, dword [esi + 0x14]
movzx edx, byte [edx + edi]
cmp dword [ebx + 0x68], edx
je 0x5a28b8
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a2897
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xfc], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a2906
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
dec dword [ebx + 4]
jmp 0x5a28b8
mov ebx, dword [ebp - 0xfc]
jmp 0x5a35dd
mov edi, dword [ebp + 0x70]
mov esi, dword [edi + 0x64]
mov ebx, dword [esi + 0x194]
test ebx, ebx
mov dword [ebp + 0x4c], esi
jne 0x5a36f7
mov eax, dword [esi + 4]
movzx ebx, byte [eax]
mov ecx, ebx
inc eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [esi + 4], eax
jne 0x5a2981
mov ecx, ebx
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
mov ecx, dword [edx*4 + 0x63f240]
and ecx, ebx
lea edi, [edx + edx*2]
shl edi, 1
mov ebx, ecx
mov ecx, edi
shl ebx, cl
test edx, edx
jle 0x5a297e
mov dword [ebp + 0x30], edx
xor edx, edx
mov dl, byte [eax]
sub edi, 6
mov ecx, edi
and edx, 0x3f
shl edx, cl
or ebx, edx
inc eax
dec dword [ebp + 0x30]
mov dword [esi + 4], eax
jne 0x5a2965
mov edi, dword [ebp + 0x70]
mov ecx, dword [esi + 0x6c]
cmp ecx, dword [esi + 0x74]
jge 0x5a3a04
cmp eax, dword [edi + 0x44]
jae 0x5a3a04
cmp dword [esi + 0x68], ebx
je 0x5a3a04
inc ecx
push 0x1d8
mov dword [esi + 0x6c], ecx
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x70], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2911
mov ebx, dword [ebp - 0x70]
jmp 0x5a35dd
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a2a3a
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x44]
jae 0x5a2297
movzx ecx, byte [eax]
mov edx, dword [esi + 0x68]
inc eax
cmp edx, ecx
mov dword [esi + 4], eax
je 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push edi
push esi
mov dword [ebp - 0x78], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a29e3
mov ebx, dword [ebp - 0x78]
jmp 0x5a35dd
cmp dword [ebp + 0x38], eax
mov ecx, dword [ebx + 4]
mov dword [ebx + 0x2c], ecx
je 0x5a2b63
mov edi, dword [ebx + 0x78]
jmp 0x5a2ae9
mov eax, dword [ebx + 4]
xor ecx, ecx
inc ecx
cmp eax, dword [esi + 0x44]
jae 0x5a2b32
movzx eax, byte [eax]
mov edx, eax
and dx, 0xc0
cmp dl, 0xc0
jne 0x5a2adb
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp + 0x14], 1
mov eax, edx
mov dword [ebp + 0x28], eax
jl 0x5a2ad5
mov eax, dword [ebx + 4]
mov edx, dword [ebp + 0x14]
movzx edx, byte [edx + eax]
mov eax, dword [ebp + 0x28]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], edi
mov dword [ebp + 0x28], eax
jle 0x5a2ab3
lea ecx, [edi + 1]
mov edi, dword [ebp + 0x48]
cmp dword [ebx + 0x68], eax
je 0x5a2b32
mov eax, dword [ebx + 4]
add ecx, eax
mov dword [ebx + 4], ecx
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a2a68
jmp 0x5a2b32
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x2c]
cmp ecx, edx
lea eax, [ecx - 1]
mov dword [ebx + 4], eax
je 0x5a3775
jmp 0x5a2b28
dec eax
mov dword [ebx + 4], eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x5a2b24
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x88], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2af7
mov ebx, dword [ebp - 0x88]
jmp 0x5a35dd
mov ecx, dword [ebx + 0x78]
jmp 0x5a2b7d
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a2b82
movzx edx, byte [eax]
cmp dword [ebx + 0x68], edx
je 0x5a2b82
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a2b68
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x104], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a2bd0
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
dec dword [ebx + 4]
jmp 0x5a2b82
mov ebx, dword [ebp - 0x104]
jmp 0x5a35dd
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x44]
jae 0x5a2297
movzx edi, byte [eax]
mov ecx, edi
inc eax
and cx, 0xc0
cmp cl, 0xc0
mov dword [esi + 4], eax
jne 0x5a2c63
mov ecx, edi
and ecx, 0x3f
movzx edx, byte [ecx + 0x63f258]
lea ecx, [edx + edx*2]
shl ecx, 1
mov dword [ebp + 0xc], ecx
mov ecx, dword [edx*4 + 0x63f240]
and ecx, edi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
shl edi, cl
test edx, edx
jle 0x5a2c63
mov dword [ebp + 0x28], edx
sub dword [ebp + 0xc], 6
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax]
and edx, 0x3f
shl edx, cl
or edi, edx
inc eax
dec dword [ebp + 0x28]
mov dword [esi + 4], eax
jne 0x5a2c48
mov eax, dword [esi + 0x64]
add eax, 0xfffffffb
cmp eax, 7
ja case.default.0x5a2db1
jmp dword [eax*4 + 0x5a3bff]
test byte [esi + 0x10], 4
jne case.0x5a2c72.12
push edi
call fcn.0059f57b
pop ecx
test al, al
jmp 0x5a2cc7
cmp edi, 0x100
jge case.0x5a2c72.12
mov eax, dword [ebx + 0x18]
test byte [edi + eax], 4
jmp 0x5a2cc7
cmp edi, 0x100
jge 0x5a2297
mov eax, dword [ebx + 0x18]
test byte [edi + eax], 4
jmp 0x5a2d1a
cmp edi, 0x100
jge 0x5a2ccf
mov eax, dword [ebx + 0x18]
test byte [edi + eax], 1
jne 0x5a2297
jmp case.0x5a2c72.12
push edi
call fcn.0059f59f
pop ecx
cmp al, 1
jmp 0x5a2d1a
cmp edi, 0x100
jge 0x5a2ceb
mov eax, dword [ebx + 0x18]
test byte [edi + eax], 1
jmp 0x5a2d1a
push edi
call fcn.0059f59f
pop ecx
test al, al
jmp 0x5a2d1a
cmp edi, 0x100
jge case.0x5a2c72.12
mov eax, dword [ebx + 0x18]
test byte [edi + eax], 0x10
jmp 0x5a2cc7
cmp edi, 0x100
jge 0x5a2297
mov eax, dword [ebx + 0x18]
test byte [edi + eax], 0x10
je 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x90], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2bdb
mov ebx, dword [ebp - 0x90]
jmp 0x5a35dd
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
jmp 0x5a2e44
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebx + 0x64]
mov edi, dword [esi + 0x194]
test edi, edi
mov dword [ebp + 0x4c], esi
jne 0x5a3a68
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
jge 0x5a2297
mov ecx, dword [esi + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x5a2297
movzx eax, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x64]
add ecx, 0xfffffffb
cmp ecx, 7
ja case.default.0x5a2db1
jmp dword [ecx*4 + 0x5a3c1f]
test byte [esi + 0x10], 4
jne case.0x5a2db1.12
push eax
call fcn.0059f57b
pop ecx
test al, al
jmp 0x5a2de9
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
jmp 0x5a2de9
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
jmp 0x5a2e27
cmp eax, 0x100
jge 0x5a2df1
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 1
jne 0x5a2297
jmp case.0x5a2db1.12
push eax
call fcn.0059f59f
pop ecx
cmp al, 1
jmp 0x5a2e27
cmp eax, 0x100
jge 0x5a2e0c
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 1
jmp 0x5a2e27
push eax
call fcn.0059f59f
pop ecx
test al, al
jmp 0x5a2e27
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
jmp 0x5a2de9
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
je 0x5a2297
inc dword [esi + 0x6c]
push 0x1d8
call dword [0x67a4f4]
add esi, 0x198
push 0
push esi
mov dword [ebp - 0x98], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a2d6c
mov ebx, dword [ebp - 0x98]
jmp 0x5a35dd
mov ecx, dword [ebx + 4]
cmp dword [ebp + 0x38], eax
mov dword [ebx + 0x2c], ecx
mov eax, dword [ebx + 0x64]
je 0x5a3422
add eax, 0xfffffffb
cmp eax, 7
ja case.default.0x5a342e
jmp dword [eax*4 + 0x5a3c3f]
mov eax, dword [ebx + 0x74]
cmp eax, 0x7fffffff
jge 0x5a2f29
test byte [ebx + 0x10], 4
jne 0x5a2ef8
mov ecx, dword [ebx + 0x78]
cmp ecx, eax
mov dword [ebp + 0x48], ecx
jge 0x5a33f1
mov edi, dword [esi + 0x44]
cmp dword [ebx + 4], edi
jae 0x5a33f1
mov eax, dword [ebx + 4]
movzx ax, byte [eax]
push eax
call fcn.0059f57b
test al, al
pop ecx
jne 0x5a33f1
mov eax, dword [ebx + 4]
jmp 0x5a2edd
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
jne 0x5a2ee8
inc eax
mov dword [ebx + 4], eax
mov edi, dword [esi + 0x44]
cmp eax, edi
jb 0x5a2ed3
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebx + 0x74]
jl 0x5a2eaf
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
cmp edi, eax
jge 0x5a33f1
inc dword [ebx + 4]
mov eax, dword [ebx + 4]
jmp 0x5a2f19
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
jne 0x5a2f1e
inc eax
mov dword [ebx + 4], eax
cmp eax, dword [esi + 0x44]
jb 0x5a2f0b
inc edi
cmp edi, dword [ebx + 0x74]
jl 0x5a2f03
jmp 0x5a33f1
test byte [ebx + 0x10], 4
jne 0x5a2f73
mov ecx, dword [ebx + 0x78]
cmp ecx, eax
mov dword [ebp + 0x48], ecx
jge 0x5a33f1
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a33f1
movzx ax, byte [edi]
push eax
call fcn.0059f57b
test al, al
pop ecx
jne 0x5a33f1
inc edi
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
mov dword [ebx + 4], edi
cmp eax, dword [ebx + 0x74]
jl 0x5a2f3d
jmp 0x5a33f1
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 4]
mov esi, dword [esi + 0x44]
sub eax, dword [ebx + 0x78]
sub esi, ecx
cmp eax, esi
jle 0x5a2f84
mov eax, esi
add ecx, eax
mov dword [ebx + 4], ecx
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
jmp 0x5a3026
mov eax, dword [ebx + 4]
xor ecx, ecx
inc ecx
cmp eax, dword [esi + 0x44]
jae 0x5a33f1
movzx eax, byte [eax]
mov edx, eax
and dx, 0xc0
cmp dl, 0xc0
jne 0x5a3009
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp + 4], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a3003
mov eax, dword [ebx + 4]
mov edx, dword [ebp + 4]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp + 4]
cmp dword [ebp + 4], edi
mov dword [ebp + 0x3c], eax
jle 0x5a2fe1
lea ecx, [edi + 1]
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a301d
mov edx, dword [esi + 0x18]
test byte [eax + edx], 4
jne 0x5a33f1
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a2f96
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
jmp 0x5a30d3
mov eax, dword [ebx + 4]
xor ecx, ecx
inc ecx
cmp eax, dword [esi + 0x44]
jae 0x5a33f1
movzx eax, byte [eax]
mov edx, eax
and dx, 0xc0
cmp dl, 0xc0
jne 0x5a30b2
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 4], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a30ac
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
mov dword [ebp + 0x3c], eax
jle 0x5a308a
lea ecx, [edi + 1]
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a33f1
mov edx, dword [esi + 0x18]
test byte [eax + edx], 4
je 0x5a33f1
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a303f
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
jmp 0x5a319e
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
mov dword [ebp - 0xa0], 1
jae 0x5a33f1
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a316a
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 0xc], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a3160
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
mov dword [ebp + 0x3c], eax
jle 0x5a313e
inc edi
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a3180
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jne 0x5a33f1
jmp 0x5a318f
push eax
call fcn.0059f59f
cmp al, 1
pop ecx
je 0x5a33f1
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xa0]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a30ec
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
jmp 0x5a325a
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
mov dword [ebp + 0x40], 1
jae 0x5a33f1
movzx eax, byte [eax]
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a322f
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 0x14], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a3228
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x14]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
mov dword [ebp + 0x3c], eax
jle 0x5a3206
inc edi
mov dword [ebp + 0x40], edi
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a323f
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x5a3248
push eax
call fcn.0059f59f
pop ecx
test al, al
je 0x5a33f1
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x40]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a31b7
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
jmp 0x5a3303
mov eax, dword [ebx + 4]
xor ecx, ecx
inc ecx
cmp eax, dword [esi + 0x44]
jae 0x5a33f1
movzx eax, byte [eax]
mov edx, eax
and dx, 0xc0
cmp dl, 0xc0
jne 0x5a32e6
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 0x1c], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a32e0
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
mov dword [ebp + 0x3c], eax
jle 0x5a32be
lea ecx, [edi + 1]
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a32fa
mov edx, dword [esi + 0x18]
test byte [eax + edx], 0x10
jne 0x5a33f1
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a3273
jmp 0x5a33f1
mov edi, dword [ebx + 0x78]
jmp 0x5a33a8
mov eax, dword [ebx + 4]
xor ecx, ecx
inc ecx
cmp eax, dword [esi + 0x44]
jae 0x5a33f1
movzx eax, byte [eax]
mov edx, eax
and dx, 0xc0
cmp dl, 0xc0
jne 0x5a338f
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x63f258]
mov edx, dword [edi*4 + 0x63f240]
lea ecx, [edi + edi*2]
and edx, eax
shl ecx, 1
shl edx, cl
cmp edi, 1
mov dword [ebp - 0x24], 1
mov eax, edx
mov dword [ebp + 0x3c], eax
jl 0x5a3389
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x3c]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
mov dword [ebp + 0x3c], eax
jle 0x5a3367
lea ecx, [edi + 1]
mov edi, dword [ebp + 0x48]
cmp eax, 0x100
jge 0x5a33f1
mov edx, dword [esi + 0x18]
test byte [eax + edx], 0x10
je 0x5a33f1
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 4], eax
inc edi
cmp edi, dword [ebx + 0x74]
mov dword [ebp + 0x48], edi
jl 0x5a331c
jmp 0x5a33f1
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
test edi, edi
mov dword [ebp + 0x4c], ebx
jne 0x5a20b8
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x2c]
cmp ecx, edx
lea eax, [ecx - 1]
mov dword [ebx + 4], eax
je 0x5a3775
jmp 0x5a33e7
dec eax
mov dword [ebx + 4], eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x5a33e3
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0xb0], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
jne 0x5a33b6
mov ebx, dword [ebp - 0xb0]
jmp 0x5a35dd
add eax, 0xfffffffb
cmp eax, 7
ja case.default.0x5a342e
jmp dword [eax*4 + 0x5a3c5f]
test byte [ebx + 0x10], 4
jne case.0x5a342e.12
mov eax, dword [ebx + 0x78]
mov dword [ebp + 0x48], eax
jmp 0x5a346c
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x44]
jae 0x5a358a
movzx ax, byte [edi]
push eax
call fcn.0059f57b
test al, al
pop ecx
jne 0x5a358a
inc edi
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
mov dword [ebx + 4], edi
cmp eax, dword [ebx + 0x74]
jl 0x5a3443
jmp 0x5a358a
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x44]
sub eax, dword [ebx + 0x78]
sub edx, ecx
cmp eax, edx
jle 0x5a348a
mov eax, edx
add ecx, eax
mov dword [ebx + 4], ecx
jmp 0x5a358a
mov ecx, dword [ebx + 0x78]
jmp 0x5a34ba
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a358a
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [edx + edi], 4
jne 0x5a358a
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a3499
jmp 0x5a358a
mov ecx, dword [ebx + 0x78]
jmp 0x5a34ea
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a358a
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [edx + edi], 4
je 0x5a358a
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a34c9
jmp 0x5a358a
mov ecx, dword [ebx + 0x78]
jmp 0x5a3516
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a358a
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [edx + edi], 1
jne 0x5a358a
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a34f9
jmp 0x5a358a
mov ecx, dword [ebx + 0x78]
jmp 0x5a353b
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a358a
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [edx + edi], 1
je 0x5a358a
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a3522
jmp 0x5a358a
mov ecx, dword [ebx + 0x78]
jmp 0x5a3560
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a358a
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [edx + edi], 0x10
jne 0x5a358a
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a3547
jmp 0x5a358a
mov ecx, dword [ebx + 0x78]
jmp 0x5a3585
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jae 0x5a358a
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
test byte [edx + edi], 0x10
je 0x5a358a
inc eax
mov dword [ebx + 4], eax
inc ecx
cmp ecx, dword [ebx + 0x74]
jl 0x5a356c
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x2c]
jb 0x5a3775
push 0x1d8
call dword [0x67a4f4]
add ebx, 0x198
push 0
push ebx
mov dword [ebp - 0x10c], eax
call fcn.0059eeb1
add esp, 0xc
test eax, eax
je 0x5a35d7
mov esi, dword [ebp + 0x70]
mov ebx, dword [esi + 0x64]
mov edi, dword [ebx + 0x194]
dec dword [ebx + 4]
test edi, edi
mov dword [ebp + 0x4c], ebx
je 0x5a358a
jmp 0x5a20b8
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x14], ecx
and dword [ebx + 0x18], 0
mov esi, dword [ebp + 0x70]
mov dword [ebx], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
mov dword [ebp + 0x4c], ebx
jb 0x59f691
inc dword [esi]
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3639
mov dword [ebx + 0x194], 0xfffffff8
jmp 0x5a3a92
push 0xfffffffffffffff8
jmp 0x5a3aa5
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3661
mov dword [ebx + 0x194], esi
mov dword [edi + 0x64], ebx
jmp 0x5a3a95
mov eax, esi
jmp 0x5a3aa6
cmp byte [0x67a4fc], 0
mov edx, dword [edi + 8]
je 0x5a369f
mov ecx, dword [ebx + 0x188]
mov eax, dword [ebx + 0x80]
shl ecx, 2
lea edi, [edx + eax*4]
mov eax, ecx
shr ecx, 2
lea esi, [ebx + 0x110]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x70]
jmp 0x5a36bf
mov esi, dword [ebx + 0x9c]
lea eax, [ebx + 0x80]
mov ecx, dword [eax]
mov dword [edx + ecx*4], esi
mov eax, dword [eax]
mov ecx, dword [edi + 8]
mov edx, dword [ebx + 0xa0]
mov dword [ecx + eax*4 + 4], edx
mov eax, dword [edi + 0xc]
sub eax, dword [ebx + 0x7c]
mov edx, dword [ebx + 0x94]
mov ecx, dword [edi + 8]
mov dword [ecx + eax*4], edx
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a36f0
and dword [ebx + 0x194], 0
jmp 0x5a3659
xor eax, eax
jmp 0x5a3aa6
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x4c], esi
call dword [0x67a4f8]
test esi, esi
pop ecx
je 0x5a3721
mov dword [esi + 0x194], ebx
mov dword [edi + 0x64], esi
push 1
add esi, 0x198
push esi
jmp 0x5a3a9e
mov eax, ebx
jmp 0x5a3aa6
mov ebx, dword [ebp + 0x70]
mov eax, dword [ebx + 0x64]
mov edi, dword [eax + 0x194]
mov esi, dword [eax]
push eax
mov dword [ebp + 0x4c], esi
call dword [0x67a4f8]
test esi, esi
pop ecx
je 0x5a3750
mov dword [esi + 0x194], edi
jmp 0x5a22b5
mov eax, edi
jmp 0x5a3aa6
mov edi, dword [ebp + 0x70]
mov eax, dword [edi + 0x64]
mov ebx, dword [eax + 0x194]
mov esi, dword [eax]
jmp 0x5a36fb
cmp dword [esi + 0x30], 0
je 0x5a3798
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jne 0x5a3798
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a36f0
and dword [ebx + 0x194], 0
jmp 0x5a3a92
cmp byte [0x67a4fc], 0
mov eax, dword [ebx + 4]
mov dword [esi + 0x4c], eax
jne 0x5a37ad
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x50], eax
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
xor eax, eax
inc eax
test ebx, ebx
pop ecx
je 0x5a3aa6
mov dword [ebx + 0x194], eax
mov dword [esi + 0x64], ebx
push eax
jmp 0x5a3a97
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a37f8
mov dword [ebx + 0x194], 0xfffffffa
jmp 0x5a3a92
push 0xfffffffffffffffa
jmp 0x5a3aa5
mov eax, dword [ebx + 0x38]
mov dword [edx + 0x5c], eax
mov eax, dword [ebx + 0x48]
lea ecx, [ebx + 0x98]
cmp eax, ecx
je 0x5a381a
push eax
call dword [0x67a4f0]
pop ecx
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
xor eax, eax
inc eax
test ebx, ebx
pop ecx
je 0x5a3aa6
mov ecx, dword [ebp + 0x70]
mov dword [ebx + 0x194], eax
mov dword [ecx + 0x64], ebx
jmp 0x5a37d0
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3661
mov dword [ebx + 0x194], esi
mov eax, dword [ebp + 0x70]
mov dword [eax + 0x64], ebx
jmp 0x5a3a95
mov eax, dword [ebx + 0x38]
mov dword [edx + 0x5c], eax
mov eax, dword [ebx + 0x48]
lea ecx, [ebx + 0x98]
cmp eax, ecx
je 0x5a3885
push eax
call dword [0x67a4f0]
pop ecx
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a36f0
and dword [ebx + 0x194], 0
jmp 0x5a385f
mov esi, dword [ebp + 0x70]
add esi, 0x64
mov eax, dword [esi]
mov edi, dword [eax + 0x194]
test edi, edi
je 0x5a38d9
mov ebx, dword [eax]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3750
mov dword [ebx + 0x194], edi
mov dword [esi], ebx
jmp 0x5a3a95
mov ebx, dword [eax]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a36f0
and dword [ebx + 0x194], 0
jmp 0x5a38d2
mov esi, dword [ebp + 0x70]
add esi, 0x64
mov eax, dword [esi]
mov ebx, dword [eax + 0x194]
test ebx, ebx
je 0x5a394a
mov edi, dword [eax]
push eax
mov dword [ebp + 0x4c], edi
call dword [0x67a4f8]
test edi, edi
pop ecx
je 0x5a3721
mov dword [edi + 0x194], ebx
mov dword [esi], edi
push 1
add edi, 0x198
push edi
jmp 0x5a3a9e
mov esi, dword [ebp + 0x70]
add esi, 0x64
mov eax, dword [esi]
mov edi, dword [eax + 0x194]
test edi, edi
jne 0x5a38b7
mov edi, dword [eax]
push eax
mov dword [ebp + 0x4c], edi
call dword [0x67a4f8]
test edi, edi
pop ecx
je 0x5a36f0
and dword [edi + 0x194], 0
jmp 0x5a3924
cmp byte [0x67a4fc], 0
mov eax, dword [ebx + 4]
mov dword [esi + 0x4c], eax
je 0x5a37a7
mov eax, dword [ebx + 0x30]
mov cl, byte [eax]
cmp cl, 0x4a
je 0x5a37ad
cmp cl, 0x46
je 0x5a3997
cmp cl, 0x48
je 0x5a3997
xor dl, dl
jmp 0x5a39e7
mov dl, 1
jmp 0x5a39e7
mov cl, byte [eax]
cmp cl, 0x50
jb 0x5a39d5
test dl, dl
movzx eax, cl
lea eax, [eax + eax - 0xa0]
lea edi, [ebx + 0x80]
mov dword [edi], eax
je 0x5a39c9
mov ecx, dword [esi + 8]
or dword [ecx + eax*4], 0xffffffff
mov eax, dword [edi]
mov ecx, dword [esi + 8]
or dword [ecx + eax*4 + 4], 0xffffffff
movzx eax, byte [0x63f208]
add dword [ebx + 0x30], eax
jmp 0x5a39e4
movzx ecx, cl
movzx ecx, byte [ecx + 0x63f1b8]
add ecx, eax
mov dword [ebx + 0x30], ecx
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebx + 8]
jb 0x5a399b
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
sub eax, ecx
mov dword [ebx + 0x30], eax
jmp 0x5a37ad
mov edi, dword [ebp + 0x70]
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x4c], esi
call dword [0x67a4f8]
test esi, esi
pop ecx
je 0x5a36f0
and dword [esi + 0x194], 0
jmp 0x5a3710
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3a71
mov dword [ebx + 0x194], 0xfffffff2
jmp 0x5a3a92
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x4c], esi
call dword [0x67a4f8]
test esi, esi
pop ecx
je 0x5a3a71
mov dword [esi + 0x194], 0xfffffff2
jmp 0x5a22b5
mov eax, esi
mov esi, dword [esi]
jmp 0x5a3736
push 0xfffffffffffffff2
jmp 0x5a3aa5
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x4c], ebx
call dword [0x67a4f8]
test ebx, ebx
pop ecx
je 0x5a3aa3
mov dword [ebx + 0x194], 0xfffffffb
mov dword [esi + 0x64], ebx
push 1
add ebx, 0x198
push ebx
call fcn.0059eee8
push 0xfffffffffffffffb
pop eax
mov ecx, dword [ebp + 0x58]
call fcn.005f050f
pop edi
pop esi
pop ebx
add ebp, 0x5c
leave
ret