Function at 0x556654
Capabilities:
Check http status code
Resolve function by parsing pe exports
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [ebp + 0x20]
xor edx, edx
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x10], edx
mov ecx, dword [eax + 0x8c]
inc ebx
mov eax, dword [eax + 0x10]
mov esi, ecx
shr ecx, 0x11
and ecx, ebx
mov dword [ebp - 4], eax
push edi
mov edi, dword [ebp + 0x1c]
mov dword [eax + 0x18], edx
mov dword [ebp - 0x24], ecx
mov dword [eax + 0x48], edx
lea ecx, [edi - 0x38]
shr esi, 0x13
and esi, ebx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 4]
or ebx, 0xffffffff
mov dword [eax + 0x44], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], edx
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov eax, ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], edx
mov dword [eax + 0x40], edx
mov dword [eax + 0x50], edx
mov dword [eax + 0x4c], ebx
mov ebx, dword [ebp + 0xc]
mov dword [eax + 0x1c], edx
mov dword [eax], ebx
mov dword [eax + 0x10], edi
test edx, edx
je 0x5566ef
mov ecx, dword [ebp + 0x20]
sub eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x5566ea
movzx eax, dx
mov dword [ecx + 0x44], eax
xor edi, edi
mov dword [ebp - 0x14], edi
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp + 0x20]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
cmp edx, ecx
jae 0x562192
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x24]
jb 0x556725
push 0xffffffffffffffcb
jmp 0x562194
mov edi, eax
jmp 0x556725
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov dword [ebp + 0xc], ebx
mov dl, byte [ebx]
movzx ecx, dl
mov byte [ebp + 0xb], dl
mov byte [eax + 0x31], dl
cmp ecx, 0xa6
ja case.0x5611f0.15
movzx eax, byte [ecx + 0x5622f8]
jmp dword [eax*4 + 0x56219c]
mov eax, dword [ebp - 4]
or ecx, 0xffffffff
cmp dword [eax + 0x44], ecx
jne 0x5567ce
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
cmp eax, ecx
je case.0x5611f0.15
mov ecx, dword [edi + 0x10]
add ecx, eax
mov eax, edx
mov esi, ecx
mov dword [ebp - 0x10], ecx
sub esi, dword [ebp + 0x1c]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x556799
mov eax, dword [esi + 0x4c]
or ecx, 0xffffffff
jmp 0x556770
mov eax, dword [ebp - 4]
lea edi, [edx + edx]
mov ebx, dword [ebp + 0x20]
lea ecx, [edi - 2]
mov dword [eax + 0x48], edx
mov edx, dword [ebp - 4]
mov eax, dword [esi + 0x38]
sub eax, dword [ebx + 0x5c]
mov dword [edx + ecx*4 + 0x54], eax
mov eax, edx
mov eax, dword [eax + 0x38]
sub eax, dword [ebx + 0x5c]
mov dword [edx + ecx*4 + 0x58], eax
mov eax, edx
cmp ecx, dword [eax + 0x50]
jb 0x5567cb
mov dword [eax + 0x50], edi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x5bd488]
add eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x55671f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x70]
jbe 0x5567f4
mov dword [edi + 0x70], eax
mov eax, dword [ebp - 4]
mov esi, 0xfffffc19
mov dword [ebp - 0x18], eax
jmp 0x556888
mov eax, dword [ebp - 4]
or ecx, 0xffffffff
cmp dword [eax + 0x44], ecx
je 0x55685b
mov eax, dword [eax + 0x4c]
cmp eax, ecx
je case.0x5611f0.15
mov esi, dword [edi + 0x10]
add esi, eax
mov ecx, esi
mov dword [ebp - 0x10], esi
sub ecx, dword [ebp + 0x1c]
mov eax, dword [esi + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x55683e
mov eax, dword [ecx + 0x4c]
or ecx, 0xffffffff
jmp 0x556812
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
add dword [ecx], 3
jmp 0x556722
mov ecx, dword [eax + 0x38]
cmp ecx, dword [eax + 0x3c]
jne 0x5568ea
mov eax, dword [edi + 0x88]
test al, 4
jne case.0x55674b.162
mov ebx, dword [ebp - 4]
test al, 8
je 0x5568ed
mov eax, dword [edi + 0x5c]
add eax, dword [edi + 0x44]
cmp dword [ebx + 0x3c], eax
jne 0x5568ed
xor esi, esi
mov eax, dword [ebp - 4]
xor edx, edx
inc edx
mov eax, dword [eax + 0x38]
mov ecx, esi
cmp eax, dword [edi + 0x70]
jbe 0x556898
mov dword [edi + 0x70], eax
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x18], 0
je 0x56217e
sub ebx, dword [ebx + 0x10]
mov eax, dword [edi + 0xa4]
mov dword [ebp - 4], ebx
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
cmp eax, 0xc8
ja 0x55fd74
je 0x55fc1f
cmp eax, 0x14
ja 0x55f62d
je 0x55f5e7
dec eax
cmp eax, 0x12
ja case.0x5611f0.15
jmp dword [eax*4 + 0x5623a0]
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jae 0x562103
mov edi, dword [ebp + 0x20]
mov eax, dword [eax + 0x88]
or eax, dword [edi + 0x8c]
test eax, 0x20000000
je 0x562101
test dl, dl
je case.0x55674b.162
xor eax, eax
jmp 0x562195
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 4]
add edi, 0x38
mov edx, dword [eax + 0x98]
lea esi, [eax + 0x64]
test edx, edx
je 0x5569b4
mov ecx, dword [esi]
cmp dword [edi], ecx
jae 0x55695c
push dword [ebp - 8]
add eax, 0x9c
push eax
push ecx
push edx
push dword [edi]
call fcn.0055492e
add esp, 0x14
test eax, eax
je 0x55695c
xor eax, eax
inc eax
jmp 0x55695e
xor eax, eax
mov ebx, dword [ebp + 0x20]
lea edx, [ebx + 0x9c]
test eax, eax
jne 0x5569e3
movzx eax, word [ebx + 0x4c]
mov ebx, eax
test ax, ax
je 0x5569ed
mov eax, dword [esi]
mov ecx, dword [edi]
dec eax
cmp ecx, eax
jne 0x5569ed
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x98], 0
jne 0x5569b0
mov edi, dword [ebp + 0x20]
push 2
pop eax
cmp dword [edx], eax
jne case.0x55674b.13
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne case.0x55674b.13
xor ecx, ecx
mov eax, edi
inc ecx
mov dword [eax + 0x2c], ecx
cmp bx, cx
ja 0x556a9c
mov edi, eax
jmp case.0x55674b.13
mov ecx, dword [edi]
lea edx, [eax + 0x9c]
mov eax, dword [esi]
sub eax, dword [edx]
mov ebx, dword [ebp + 0x20]
cmp ecx, eax
ja 0x55696b
mov al, byte [ecx]
cmp al, byte [ebx + 0xa0]
jne 0x55696b
xor eax, eax
inc eax
cmp dword [edx], eax
je 0x5569e3
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0xa1]
jne 0x55696b
xor esi, esi
mov edi, dword [ebp + 0x20]
jmp 0x556885
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x556a2a
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x55674b.162
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x556a18
cmp dword [eax + 0x34], 0
je 0x556a23
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp dx, cx
ja 0x556a9c
mov edi, eax
jmp case.0x55674b.162
mov esi, dword [ebp - 8]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x556a57
cmp ecx, dword [edi + 0x64]
jae 0x556a57
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x556a51
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jb 0x556a3a
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
inc dword [eax]
jmp 0x556725
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jb 0x556aa3
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x5569e3
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x556a8d
cmp dword [eax + 0x34], 0
je 0x5569e3
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp dx, cx
jbe 0x5569e3
push 0xfffffffffffffffe
jmp 0x562194
lea eax, [ecx + 1]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
lea eax, [ebx + 1]
mov dword [ecx], eax
mov edi, dword [ebp + 0x20]
jmp 0x556725
mov eax, dword [ebp - 4]
test esi, esi
je 0x556b8d
xor ecx, ecx
lea edi, [ebx + 1]
inc ecx
xor ebx, ebx
mov dword [eax + 0xc], ecx
inc ebx
mov dword [eax], edi
mov edx, ebx
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x556b18
test al, 0x20
jne 0x556aef
mov eax, dword [ebp - 4]
push 2
pop ecx
mov edx, ecx
mov dword [eax + 0xc], ecx
jmp 0x556b1b
test al, 0x10
jne 0x556afa
mov eax, dword [ebp - 4]
push 3
jmp 0x556b12
test al, 8
jne 0x556b05
mov eax, dword [ebp - 4]
push 4
jmp 0x556b12
test al, 4
mov eax, dword [ebp - 4]
jne 0x556b10
push 5
jmp 0x556b12
push 6
pop ecx
mov edx, ecx
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x64]
sub eax, esi
cmp edx, eax
jbe 0x556b62
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x64]
jb 0x5569e3
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x5569e3
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x6c]
ja 0x556b57
cmp dword [eax + 0x34], 0
je 0x5569e3
mov dword [eax + 0x2c], ebx
cmp cx, bx
jmp 0x556a96
mov al, byte [esi]
inc esi
mov ebx, dword [ebp - 4]
mov cl, byte [edi]
inc edi
cmp cl, al
mov eax, ebx
mov dword [ebx + 0x38], esi
mov dword [ebx], edi
jne 0x556b83
sub edx, 1
mov dword [eax + 0xc], edx
jne 0x556b62
jmp 0x55671f
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x556888
mov esi, dword [eax + 0x38]
xor edx, edx
mov eax, dword [edi + 0x64]
inc edx
sub eax, esi
cmp eax, edx
jge 0x556bca
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x556bc3
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x6c]
ja 0x556bb5
cmp dword [eax + 0x34], 0
je 0x556bc1
mov dword [eax + 0x2c], edx
cmp cx, dx
ja 0x556a9c
mov edi, eax
xor esi, esi
jmp case.0x55f648.35
mov cl, byte [esi]
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dl, byte [ebx + 1]
mov dword [esi + 0x38], eax
cmp dl, cl
jne case.0x55674b.162
lea eax, [ebx + 2]
mov dword [esi], eax
jmp 0x556722
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov edi, dword [eax + 0x38]
cmp edi, dword [ecx + 0x64]
jb 0x556c32
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je 0x556c22
mov eax, dword [ebp + 0x20]
cmp edi, dword [eax + 0x6c]
ja 0x556c11
cmp dword [eax + 0x34], 0
je 0x556c22
xor edx, edx
inc edx
mov dword [eax + 0x2c], edx
cmp cx, dx
ja 0x556a9c
jmp 0x556c25
xor edx, edx
inc edx
xor esi, esi
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
jmp 0x55688b
test esi, esi
je 0x556ee7
xor edx, edx
lea esi, [ebx + 1]
inc edx
mov dword [ebp - 0x28], esi
mov dword [eax + 0xc], edx
mov dword [eax], esi
movzx ebx, byte [esi]
mov dword [ebp + 8], edx
cmp ebx, 0xc0
jb 0x556d49
test bl, 0x20
jne 0x556c82
mov eax, dword [ebp + 0xc]
and ebx, 0x1f
shl ebx, 6
push 2
pop edx
movzx eax, byte [eax + 2]
and eax, 0x3f
mov dword [ebp + 8], edx
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], edx
jmp 0x556d46
test bl, 0x10
jne 0x556ca4
mov eax, dword [ebp + 0xc]
and ebx, 0xf
shl ebx, 6
push 3
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ecx, 0x3f
or ebx, ecx
jmp 0x556d31
test bl, 8
jne 0x556ccf
mov ecx, dword [ebp + 0xc]
and ebx, 7
shl ebx, 6
push 4
movzx eax, byte [ecx + 2]
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x556d31
mov esi, dword [ebp + 0xc]
movzx eax, byte [esi + 2]
movzx ecx, byte [esi + 3]
and eax, 0x3f
movzx edx, byte [esi + 4]
and ecx, 0x3f
movzx esi, byte [esi + 5]
and edx, 0x3f
and esi, 0x3f
test bl, 4
jne 0x556d11
and ebx, 3
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, dword [ebp - 0x28]
push 5
jmp 0x556d39
and ebx, 1
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, dword [ebp - 0x28]
push 6
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
pop ecx
mov dword [ebp + 8], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
movzx edx, byte [edi]
cmp ebx, 0x80
jae 0x556d76
mov ecx, dword [ecx + 0x38]
mov al, byte [ecx + ebx]
cmp al, byte [edx + ecx]
jne 0x5569e3
mov ecx, dword [ebp - 4]
lea eax, [esi + 1]
mov dword [ecx], eax
lea eax, [edi + 1]
mov dword [ecx + 0x38], eax
jmp 0x55671f
lea ecx, [edi + 1]
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x556e84
lea eax, [ecx + 1]
test dl, 0x20
jne 0x556dac
movzx eax, byte [ecx]
and edx, 0x1f
mov esi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0x38], eax
jmp 0x556e84
lea edi, [ecx + 2]
test dl, 0x10
jne 0x556dd8
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [eax]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x556e84
lea esi, [ecx + 3]
test dl, 8
jne 0x556e0c
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [eax]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x556e84
movzx esi, byte [ecx + 1]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x30], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x1c], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
test dl, 4
jne 0x556e57
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x28]
jmp 0x556e7e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x28]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
inc ecx
mov edi, dword [ebp + 0x20]
add eax, ecx
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov dword [ecx], eax
cmp edx, ebx
je 0x556725
mov eax, ebx
test eax, eax
jns 0x556ea9
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x556ec5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov eax, dword [eax + 0x5bea24]
add eax, ebx
cmp edx, eax
je 0x556725
jmp case.0x55674b.162
cmp dword [ebp - 0x24], 0
je 0x556f61
movzx edx, byte [ebx + 1]
movzx esi, byte [edi]
cmp edx, 0x80
jae 0x556f1f
mov ecx, dword [ecx + 0x38]
mov al, byte [ecx + edx]
cmp al, byte [ecx + esi]
jne 0x5569e3
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
lea eax, [edi + 1]
mov dword [ecx + 0x38], eax
lea eax, [ebx + 2]
jmp 0x556aaf
cmp esi, edx
je 0x556f0b
mov eax, edx
test eax, eax
jns 0x556f2c
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x556f48
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov eax, dword [eax + 0x5bea24]
add eax, edx
cmp esi, eax
jmp 0x556f05
mov edx, dword [ecx + 0x38]
movzx eax, byte [ebx + 1]
movzx ecx, byte [edi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x556f0e
jmp 0x5569e3
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x30], ebx
cmp ebx, dword [eax + 0x64]
jb 0x556fa3
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x556c22
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x6c]
jmp 0x556c09
mov edi, dword [ebp + 0xc]
lea eax, [edi + 1]
test esi, esi
je 0x557222
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
lea ecx, [eax + 1]
movzx ebx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax], ecx
cmp ebx, 0xc0
jb 0x5570b8
lea edx, [ecx + 1]
test bl, 0x20
jne 0x556fed
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edx
jmp 0x5570b5
lea esi, [ecx + 2]
test bl, 0x10
jne 0x557018
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
jmp 0x5570b5
lea edi, [ecx + 3]
test bl, 8
jne 0x55704b
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edi
jmp 0x5570b5
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x55708a
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp + 0xc]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x5570b0
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x5571b7
lea edi, [ecx + 1]
test dl, 0x20
jne 0x5570ef
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x5571b7
lea esi, [ecx + 2]
test dl, 0x10
jne 0x55710a
movzx eax, byte [ecx]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x55712f
lea esi, [ecx + 3]
test dl, 8
jne 0x55713f
movzx eax, byte [ecx]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x5571b7
movzx esi, byte [edi]
lea eax, [ecx + 4]
movzx edi, byte [ecx + 2]
and esi, 0x3f
mov dword [ebp - 0x28], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
mov dword [ebp - 0x30], eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x30]
test dl, 4
jne 0x55718a
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x28]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x5571b1
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp ebx, edx
je case.0x55674b.162
cmp byte [ebp + 0xb], 0x20
mov esi, dword [ebp - 8]
jne 0x556725
cmp ebx, 0x7f
jbe 0x55720e
mov eax, ebx
test eax, eax
jns 0x5571dd
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x5571f9
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
add ebx, dword [eax + 0x5bea24]
jmp 0x557215
mov eax, dword [edi + 0x3c]
movzx ebx, byte [eax + ebx]
cmp ebx, edx
jne 0x556725
jmp case.0x55674b.162
cmp dword [ebp - 0x24], 0
lea ecx, [ebx + 1]
movzx esi, byte [ebx]
je 0x5572a1
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
movzx edx, byte [eax]
lea eax, [edi + 2]
mov edi, dword [ebp + 0x20]
mov dword [ebx], eax
cmp edx, esi
je case.0x55674b.162
cmp byte [ebp + 0xb], 0x20
jne 0x556722
cmp edx, 0x7f
jbe 0x557290
mov eax, edx
test eax, eax
jns 0x55725f
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x55727b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
add edx, dword [eax + 0x5bea24]
jmp 0x557297
mov eax, dword [edi + 0x3c]
movzx edx, byte [eax + edx]
cmp edx, esi
mov esi, dword [ebp - 8]
jmp 0x557217
movzx edx, byte [eax]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp edx, esi
je 0x5569e3
cmp byte [ebp + 0xb], 0x20
jne 0x5572ca
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, esi
je 0x5569e3
lea eax, [edi + 2]
jmp 0x5567dc
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
mov esi, dword [ebp + 0xc]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
lea ebx, [eax + 0x24]
mov dword [ebx], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x5573b2
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
and dword [eax + 0x20], 0
lea ebx, [eax + 0x24]
movzx ecx, byte [edx + 1]
lea esi, [edx + 3]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebx], ecx
mov eax, dword [ebp - 4]
mov dword [eax], esi
jmp 0x5573af
xor eax, eax
inc eax
jmp 0x5572fa
and dword [ebp - 0xc], 0
jmp 0x5572fd
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
lea ebx, [eax + 0x24]
or eax, 0xffffffff
mov esi, dword [ebp + 0xc]
mov dword [ebx], eax
inc esi
jmp 0x55731c
push 2
pop eax
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x20], ecx
jmp 0x55733e
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
lea ebx, [eax + 0x24]
xor eax, eax
inc eax
jmp 0x557344
movzx ecx, byte [ebx]
lea esi, [ebx + 1]
cmp dl, 0x2e
mov edx, dword [ebp - 4]
mov ebx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
add ebx, 0x24
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x5d74e0]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x5d750c]
mov dword [ebx], eax
mov eax, dword [ecx*4 + 0x5d7538]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x5576bc
xor ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], esi
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x557497
test dl, 0x20
jne 0x5573e8
movzx eax, byte [esi + 1]
and edx, 0x1f
push 2
jmp 0x557488
test dl, 0x10
jne 0x557407
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x557488
test dl, 8
jne 0x55742f
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
push 4
jmp 0x557488
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x55746b
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
push 5
jmp 0x557490
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
pop ecx
mov dword [eax + 0xc], ecx
mov ebx, dword [ebp - 4]
lea eax, [ecx + esi]
mov dword [ebx], eax
xor ebx, ebx
inc ebx
cmp ecx, ebx
jbe 0x5576ab
cmp byte [ebp + 0xb], 0x2e
jb 0x5574ef
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov ecx, dword [eax + 0x5bea24]
add ecx, edx
cmp ecx, edx
je 0x5574ef
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.00554c45
pop ecx
pop ecx
jmp 0x5574f1
xor eax, eax
mov ecx, dword [ebp - 4]
mov edi, ebx
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, ebx
jb 0x557587
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 0x64]
sub eax, dword [ecx + 0xc]
cmp dword [ecx + 0x38], eax
ja 0x55753a
mov eax, ecx
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 0x38]
call fcn.00568aa0
add esp, 0xc
test eax, eax
jne 0x557537
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
jmp 0x557577
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x5575db
mov eax, dword [edx + 0x64]
mov edx, dword [ebp - 4]
sub eax, ecx
cmp dword [edx + 0x38], eax
mov eax, edx
ja 0x5575db
push ecx
add eax, 0x32
push eax
mov eax, edx
push dword [eax + 0x38]
call fcn.00568aa0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 4]
jne 0x5575db
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 4]
add dword [ecx + 0x38], eax
mov eax, ecx
inc edi
mov esi, dword [eax + 0x20]
cmp edi, esi
jbe 0x557507
mov ecx, dword [eax + 0x24]
cmp esi, ecx
je 0x55671f
cmp dword [ebp - 0xc], 0
je 0x55fe20
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edi, dword [ebp + 0x20]
mov dword [ebx + 4], eax
cmp esi, ecx
jae 0x557697
mov eax, dword [edi + 0x64]
sub eax, dword [ebx + 0xc]
cmp dword [ebx + 0x38], eax
ja 0x557616
mov eax, dword [ebp - 4]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 0x38]
call fcn.00568aa0
add esp, 0xc
test eax, eax
jne 0x557616
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
jmp 0x55764b
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jb 0x5569e3
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x5569e3
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x55760b
cmp dword [eax + 0x34], 0
je 0x5569e3
mov dword [eax + 0x2c], ebx
cmp dx, bx
jmp 0x556a96
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x557661
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp dword [edx + 0x38], eax
mov eax, edx
ja 0x557661
push ecx
add eax, 0x32
push eax
mov eax, edx
push dword [eax + 0x38]
call fcn.00568aa0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 4]
jne 0x557661
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 4]
mov ebx, ecx
add dword [ecx + 0x38], eax
mov eax, ecx
inc esi
cmp esi, dword [eax + 0x24]
jb 0x5575b0
jmp 0x557694
mov ecx, dword [eax + 0x38]
mov eax, edi
cmp ecx, dword [eax + 0x64]
jb 0x557692
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x557694
mov eax, edi
cmp ecx, dword [eax + 0x6c]
ja 0x557683
cmp dword [eax + 0x34], 0
je 0x557692
xor ecx, ecx
inc ecx
mov dword [eax + 0x2c], ecx
cmp dx, cx
ja 0x556a9c
mov edi, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x56160f
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x28], edx
add eax, 0x24
jmp 0x5576cf
movzx edx, byte [esi]
mov dword [eax + 0x28], edx
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dword [esi], eax
mov eax, ebx
xor ebx, ebx
inc ebx
cmp byte [ebp + 0xb], 0x2e
jb 0x5577fa
cmp dword [ebp - 0x24], 0
je 0x557714
test ecx, ecx
jne 0x557714
cmp edx, 0x7f
jbe 0x557714
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov eax, dword [eax + 0x5bea24]
add eax, edx
jmp 0x55771e
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
mov dword [esi + 0x2c], eax
mov edx, ebx
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, ebx
jb 0x55775e
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jae 0x556a6c
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x557750
cmp dword [ebx + 0x2c], eax
jne 0x5569e3
lea eax, [ecx + 1]
inc edx
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, esi
jbe 0x55772d
mov edx, dword [eax + 0x24]
cmp esi, edx
je 0x55671f
cmp dword [ebp - 0xc], 0
je 0x55f757
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edi, dword [ebp + 0x20]
mov dword [ebx + 4], eax
jmp 0x5577a3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x5577a9
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x55779c
cmp dword [ebx + 0x2c], eax
jne 0x5577d1
lea eax, [ecx + 1]
inc esi
mov dword [ebx + 0x38], eax
cmp esi, edx
jb 0x557781
jmp 0x5577d1
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x5577ce
cmp ecx, dword [edi + 0x6c]
ja 0x5577bf
cmp dword [edi + 0x34], 0
je 0x5577ce
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1a
jmp 0x56202f
xor ecx, ecx
mov edi, ebx
mov ebx, dword [esi + 0x20]
inc ecx
cmp ebx, ecx
jb 0x557836
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x64]
jae 0x55785e
mov eax, dword [ebp - 4]
movzx edx, byte [esi]
mov ecx, dword [eax + 0x28]
lea eax, [esi + 1]
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], eax
cmp ecx, edx
jne 0x5569e3
inc edi
cmp edi, ebx
jbe 0x557806
lea eax, [esi + 0x24]
mov edx, dword [eax]
mov esi, dword [ebp - 8]
cmp ebx, edx
je 0x556ab1
cmp dword [ebp - 0xc], 0
je 0x561a76
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
jmp 0x5578af
mov edi, eax
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x558163
cmp esi, dword [edi + 0x6c]
ja 0x55787e
cmp dword [edi + 0x34], 0
je 0x558163
xor edx, edx
inc edx
mov dword [edi + 0x2c], edx
cmp cx, dx
ja 0x556a9c
jmp 0x556bc3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x5578b5
mov esi, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [esi + 0x28], eax
jne 0x5578da
lea eax, [ecx + 1]
inc ebx
mov dword [esi + 0x38], eax
cmp ebx, edx
jb 0x557892
jmp 0x5578da
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x5578da
cmp ecx, dword [edi + 0x6c]
ja 0x5578cb
cmp dword [edi + 0x34], 0
je 0x5578da
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1c
jmp 0x56202f
mov ecx, dword [ebp + 0xc]
movzx ebx, byte [ebx + 1]
shl ebx, 8
movzx eax, byte [ecx + 2]
lea edx, [ecx + 3]
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], edx
jmp 0x557a2f
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc], ecx
lea edx, [ebx + 3]
and dword [ebp + 0xc], 0
mov dword [eax], edx
jmp 0x557a2f
mov eax, dword [ebp - 4]
lea edx, [ebx + 3]
xor edi, edi
mov dword [ebp - 0xc], edi
mov dword [ebp + 0xc], edi
mov dword [eax + 0x20], edi
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov dword [eax], edx
jmp 0x557a2f
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
or ecx, 0xffffffff
mov dword [eax + 0x24], ecx
lea edx, [ebx + 1]
jmp 0x55794f
push 2
pop eax
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
inc ecx
or edx, 0xffffffff
mov dword [ebp + 0xc], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
lea edx, [ebx + 1]
mov dword [eax], edx
jmp 0x557a2f
push 2
pop eax
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
inc ecx
jmp 0x557995
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
jmp 0x55794c
movzx ecx, byte [ebx]
cmp dl, 0x48
lea edx, [ebx + 1]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [ebp - 4]
mov ebx, dword [ecx*4 + 0x5d74e0]
mov dword [eax], edx
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x5d750c]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x24], eax
mov eax, dword [ecx*4 + 0x5d7538]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
movzx eax, byte [edx]
mov dword [ecx + 0x28], eax
lea ecx, [edx + 1]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov edx, eax
test esi, esi
je 0x557b66
cmp eax, 0xc0
jb 0x557b66
lea edi, [ecx + 1]
test al, 0x20
jne 0x557a77
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], edi
jmp 0x557b69
lea ebx, [ecx + 2]
test al, 0x10
jne 0x557aa6
mov edx, eax
movzx eax, byte [ecx]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax], ebx
jmp 0x557b66
test al, 8
jne 0x557ae3
mov edx, eax
movzx eax, byte [ecx]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [ecx + 3]
mov dword [ebx], eax
jmp 0x557b66
movzx edx, byte [ecx + 3]
lea ebx, [ecx + 4]
movzx esi, byte [ecx]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x30], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp - 0x28], edx
mov edx, eax
test al, 4
jne 0x557b2f
mov eax, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x28]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x30]
jmp 0x557b5e
xor eax, eax
inc eax
and edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x28]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp byte [ebp + 0xb], 0x48
jb 0x557f85
test esi, esi
jne 0x557b7c
cmp dword [ebp - 0x24], esi
je 0x557bad
cmp edx, 0x7f
jbe 0x557bad
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov esi, dword [eax + 0x5bea24]
add esi, edx
jmp 0x557bb7
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x3c]
movzx esi, byte [eax + edx]
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], esi
mov eax, dword [eax + 0x20]
mov dword [ebp + 8], eax
je 0x557dbe
mov edi, dword [ebp + 8]
xor ebx, ebx
inc ebx
mov dword [ebp + 0xc], ebx
mov eax, ebx
cmp edi, ebx
jb 0x557c45
mov edx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x557c22
lea esi, [ecx + 1]
test dl, 0x20
jne 0x557cb0
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, ebx
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x28], edx
je case.0x55674b.162
cmp dword [ecx + 0x2c], edx
je case.0x55674b.162
mov edx, dword [ebp - 4]
inc eax
mov dword [ebp + 0xc], eax
mov edi, dword [edx + 0x20]
cmp eax, edi
jbe 0x557bdf
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x24]
mov dword [ebp + 0xc], ecx
cmp edi, ecx
je 0x55671f
cmp dword [ebp - 0xc], 0
je 0x56198e
cmp dword [ebp - 8], 0
mov esi, dword [ebx + 0x38]
mov dword [ebx + 4], esi
je 0x557f1c
cmp eax, ecx
jae 0x557f05
mov edx, dword [ebp + 0x20]
xor eax, eax
inc eax
cmp esi, dword [edx + 0x64]
jae 0x557ee0
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x557eba
test dl, 0x20
jne 0x557e05
movzx eax, byte [esi + 1]
and edx, 0x1f
push 2
jmp 0x557eb1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x557ce2
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
jmp 0x557c22
lea ebx, [ecx + 3]
test dl, 8
jne 0x557d16
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x557cd7
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x557d64
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp + 0xc]
jmp 0x557c25
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x557d53
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x55674b.162
cmp ecx, dword [edi + 0x6c]
ja 0x557daa
cmp dword [edi + 0x34], 0
je case.0x55674b.162
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
jmp case.0x55674b.162
xor ecx, ecx
mov edi, eax
inc ecx
mov ebx, ecx
cmp eax, ecx
jb 0x557c48
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jae 0x557e01
movzx eax, byte [ecx]
cmp edx, eax
je 0x5569e3
cmp esi, eax
je 0x5569e3
lea eax, [ecx + 1]
inc ebx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp ebx, edi
jbe 0x557dcd
jmp 0x557c45
mov edi, eax
jmp 0x557d8c
test dl, 0x10
jne 0x557e24
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x557eae
test dl, 8
jne 0x557e4c
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
push 4
jmp 0x557eae
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x557e8e
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
push 5
jmp 0x557eb9
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
push 6
mov ecx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
pop eax
cmp dword [ebx + 0x28], edx
je 0x557f05
cmp dword [ebx + 0x2c], edx
je 0x557f05
mov ebx, dword [ebp - 4]
add esi, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, ecx
jb 0x557c7b
jmp 0x557f05
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x557f05
cmp esi, dword [edx + 0x6c]
ja 0x557ef6
cmp dword [edx + 0x34], 0
je 0x557f05
xor eax, eax
inc eax
mov dword [edx + 0x2c], eax
cmp cx, ax
ja 0x556a9c
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x561635
mov edi, dword [ebp + 0x20]
cmp eax, ecx
jae 0x557f71
cmp esi, dword [edi + 0x64]
jae 0x557f4c
movzx eax, byte [esi]
cmp dword [ebx + 0x28], eax
je 0x557f71
cmp dword [ebx + 0x2c], eax
je 0x557f71
mov eax, dword [ebp - 4]
inc esi
mov ebx, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, ecx
jb 0x557f23
jmp 0x557f71
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x557f71
cmp esi, dword [edi + 0x6c]
ja 0x557f62
cmp dword [edi + 0x34], 0
je 0x557f71
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp cx, ax
ja 0x556a9c
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x55f819
test esi, esi
je 0x558108
mov esi, dword [ebp + 0xc]
xor ebx, ebx
inc ebx
mov dword [ebp + 8], ebx
mov eax, ebx
cmp esi, ebx
jb 0x557ff9
mov edx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], ecx
cmp edx, 0xc0
jb 0x557fdf
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55802f
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x28], edx
je case.0x55674b.162
mov edx, dword [ebp - 4]
inc eax
mov dword [ebp + 8], eax
mov esi, dword [edx + 0x20]
cmp eax, esi
jbe 0x557fa2
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
cmp esi, ecx
mov esi, dword [ebp - 8]
mov dword [ebp + 8], ecx
je 0x556ab1
cmp dword [ebp - 0xc], 0
je 0x56199d
cmp dword [ebp - 8], 0
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
je 0x5582c4
jmp 0x55825f
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55805e
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x20]
jmp 0x557fdf
lea ebx, [ecx + 3]
test dl, 8
jne 0x558092
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x558056
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x5580e0
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp + 8]
jmp 0x557fe2
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x5580cf
mov edi, dword [ebp + 0xc]
xor ecx, ecx
inc ecx
mov esi, edi
mov ebx, ecx
cmp edi, ecx
jb 0x557ffc
jmp 0x55811f
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp edi, dword [eax + 0x64]
jae 0x558148
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
cmp edx, ecx
je 0x5569e3
inc ebx
cmp ebx, esi
jbe 0x55811c
jmp 0x557ff9
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x558160
mov eax, dword [ebp + 0x20]
cmp edi, dword [eax + 0x6c]
mov edi, eax
jmp 0x557872
mov edi, dword [ebp + 0x20]
xor edx, edx
inc edx
jmp 0x556bc3
mov edx, dword [ebp + 0x20]
xor ebx, ebx
inc ebx
mov eax, ebx
cmp esi, dword [edx + 0x64]
jae 0x558281
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x55824c
test dl, 0x20
jne 0x55819e
movzx eax, byte [esi + 1]
and edx, 0x1f
push 2
jmp 0x558243
test dl, 0x10
jne 0x5581bd
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x558240
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 8
jne 0x5581e5
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
push 4
jmp 0x558243
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x558220
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
push 5
jmp 0x55824b
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
push 6
mov ecx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
pop eax
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x28], edx
je 0x55826a
add esi, eax
mov eax, ebx
inc edi
mov dword [ebp + 0xc], edi
mov dword [eax + 0x38], esi
cmp edi, ecx
jb 0x55816b
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x56165b
mov edi, edx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x5582a5
cmp esi, dword [edi + 0x6c]
ja 0x558299
cmp dword [edi + 0x34], 0
je 0x5582a5
mov dword [edi + 0x2c], ebx
cmp cx, bx
ja 0x556a9c
mov ebx, dword [ebp - 4]
jmp 0x55826d
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x64]
jae 0x5582e2
mov ebx, dword [ebp - 4]
movzx eax, byte [esi]
cmp dword [ebx + 0x28], eax
je 0x5582cb
mov eax, ebx
inc esi
inc edi
mov dword [eax + 0x38], esi
cmp edi, ecx
jb 0x5582aa
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x55f884
mov edi, eax
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x558309
cmp esi, dword [edi + 0x6c]
ja 0x5582fa
cmp dword [edi + 0x34], 0
je 0x558309
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp cx, ax
ja 0x556a9c
mov ebx, dword [ebp - 4]
jmp 0x5582ce
mov eax, dword [ebp - 4]
lea edi, [ebx + 1]
lea edx, [ebx + 0x21]
mov dword [eax + 8], edi
mov dword [eax], edx
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x558332
movzx eax, byte [eax + 0x5623f4]
jmp dword [eax*4 + 0x5623ec]
mov ebx, dword [ecx*4 + 0x5d7358]
lea eax, [edx + 1]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, edx
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x5d7384]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x5d73b0]
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebp + 0xc], ebx
inc edx
jmp 0x5583c2
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 4]
push 0xffffffffffffffff
mov dword [eax + 0x20], ebx
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov eax, ecx
pop ecx
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
movzx eax, byte [edx]
mov eax, dword [eax*4 + 0x5d73b0]
mov dword [ebp - 0xc], eax
lea eax, [edx + 5]
mov dword [ecx], eax
jmp 0x558361
mov eax, dword [ebp - 4]
xor edx, edx
inc edx
mov ebx, edx
mov dword [ebp + 0xc], edx
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], edx
test esi, esi
mov eax, ebx
mov esi, edx
je 0x558536
mov dword [ebp - 0x1c], edx
cmp ebx, edx
jb 0x55857b
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx ebx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x5584f6
lea edx, [ecx + 1]
test bl, 0x20
jne 0x55841f
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x5584f0
lea esi, [ecx + 2]
test bl, 0x10
jne 0x55844b
movzx eax, byte [ecx]
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x5584ed
lea edi, [ecx + 3]
test bl, 8
jne 0x55847f
movzx eax, byte [ecx]
and ebx, 7
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x5584ea
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x30], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x5584be
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x30]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x5584e4
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
xor edx, edx
inc edx
cmp ebx, 0xff
jbe 0x55850a
cmp byte [ebp + 0xb], 0x6e
je 0x556bc3
jmp 0x558520
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl edx, cl
test byte [ebx + eax], dl
je case.0x55674b.162
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0x1c], esi
mov eax, dword [eax + 0x20]
cmp esi, eax
ja 0x55857b
xor edx, edx
inc edx
jmp 0x5583dc
cmp ebx, edx
jb 0x55857b
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jae 0x5585f6
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ecx, edx
and ecx, 7
shr edx, 3
mov eax, ebx
shl eax, cl
test byte [edx + edi], al
mov eax, dword [ebp - 4]
je 0x556b83
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x55853d
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov ebx, dword [edi + 0x24]
mov dword [ebp - 0x30], ebx
cmp eax, ebx
je 0x556ab1
cmp dword [ebp - 0xc], 0
je 0x5619aa
mov eax, edi
mov edi, dword [eax + 0x38]
mov dword [eax + 4], edi
mov eax, dword [ebp + 0xc]
test esi, esi
je 0x55875b
mov ebx, dword [ebp - 4]
cmp eax, dword [ebx + 0x24]
jae 0x558740
mov edx, dword [ebp + 0x20]
xor ecx, ecx
lea esi, [ecx + 1]
cmp edi, dword [edx + 0x64]
jae 0x558717
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x5586cd
test bl, 0x20
jne 0x558621
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
push 2
or ebx, eax
pop eax
mov esi, eax
jmp 0x5586ca
mov edi, eax
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x55674b.162
cmp ecx, dword [edi + 0x6c]
ja 0x558616
cmp dword [edi + 0x34], 0
je case.0x55674b.162
mov dword [edi + 0x2c], ebx
cmp dx, bx
jmp 0x557db3
test bl, 0x10
jne 0x558640
movzx eax, byte [edi + 1]
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 2]
push 3
jmp 0x5586c1
test bl, 8
jne 0x558668
movzx ecx, byte [edi + 1]
and ebx, 7
movzx eax, byte [edi + 2]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
push 4
jmp 0x5586c1
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and eax, 0x3f
movzx edx, byte [edi + 3]
and ecx, 0x3f
movzx esi, byte [edi + 4]
and edx, 0x3f
and esi, 0x3f
test bl, 4
jne 0x5586a4
and ebx, 3
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
push 5
jmp 0x5586c9
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
push 6
and eax, 0x3f
shl ebx, 6
or ebx, eax
pop esi
mov eax, dword [ebp + 0xc]
cmp ebx, 0xff
jbe 0x5586e0
cmp byte [ebp + 0xb], 0x6e
jne 0x5586fd
mov ebx, dword [ebp - 4]
jmp 0x558712
xor eax, eax
mov ecx, ebx
and ecx, 7
shr ebx, 3
lea edx, [eax + 1]
mov eax, dword [ebp - 4]
shl edx, cl
mov eax, dword [eax + 8]
test byte [ebx + eax], dl
je 0x5586db
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 4]
add edi, esi
inc eax
mov dword [ebp + 0xc], eax
mov dword [ebx + 0x38], edi
cmp eax, dword [ebp - 0x30]
jb 0x5585b8
mov edi, dword [ebp + 0x20]
jmp 0x558747
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x558745
cmp edi, dword [edx + 0x6c]
mov edi, edx
ja 0x55872f
cmp dword [edi + 0x34], 0
je 0x558747
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp cx, ax
ja 0x556a9c
jmp 0x558747
mov edi, dword [ebp + 0x20]
jmp 0x55874a
mov edi, edx
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x561b1e
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x24]
jae 0x5587c8
mov edx, dword [ebp + 0x20]
cmp edi, dword [edx + 0x64]
jae 0x55879f
movzx esi, byte [edi]
xor eax, eax
mov ecx, esi
shr esi, 3
and ecx, 7
lea edx, [eax + 1]
mov eax, dword [ebp - 4]
shl edx, cl
mov eax, dword [eax + 8]
test byte [esi + eax], dl
je 0x55879a
mov eax, dword [ebp - 4]
inc edi
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, ebx
jb 0x558763
mov edi, dword [ebp + 0x20]
jmp 0x5587cf
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x5587cd
cmp edi, dword [edx + 0x6c]
mov edi, edx
ja 0x5587b7
cmp dword [edi + 0x34], 0
je 0x5587cf
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp cx, ax
ja 0x556a9c
jmp 0x5587cf
mov edi, dword [ebp + 0x20]
jmp 0x5587d2
mov edi, edx
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x55674b.162
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x18
jmp 0x56202f
mov ecx, dword [ebp - 4]
lea eax, [ebx + 3]
mov dword [ecx + 8], eax
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, ecx
add edx, ebx
mov dword [eax], edx
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x55882d
movzx eax, byte [eax + 0x562408]
jmp dword [eax*4 + 0x562400]
mov ebx, dword [ecx*4 + 0x5d7358]
lea eax, [edx + 1]
mov edx, dword [ebp - 4]
mov edi, dword [ecx*4 + 0x5d73b0]
mov dword [ebp - 0xc], edi
mov dword [edx], eax
mov eax, edx
lea esi, [eax + 0x20]
lea edx, [eax + 0x24]
mov dword [esi], ebx
mov eax, dword [ecx*4 + 0x5d7384]
mov dword [ebp - 0x1c], edx
mov dword [edx], eax
jmp 0x5588b1
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 4]
add esi, 0x20
shl ebx, 8
or ebx, eax
push 0xffffffffffffffff
mov dword [esi], ebx
lea edi, [edi + 0x24]
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x1c], edi
mov dword [edi], ecx
mov eax, ecx
pop ecx
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [edi], eax
movzx eax, byte [edx]
mov eax, dword [eax*4 + 0x5d73b0]
mov dword [ebp - 0xc], eax
lea eax, [edx + 5]
mov dword [ecx], eax
xor ecx, ecx
mov dword [ebp + 8], esi
inc ecx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x28], ecx
cmp ebx, ecx
jae 0x5588e0
jmp 0x558a2f
mov eax, dword [ebp - 4]
xor edx, edx
inc edx
mov dword [ebp - 0x28], edx
lea ecx, [eax + 0x24]
lea esi, [eax + 0x20]
mov dword [ecx], edx
mov dword [eax + 0x20], edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], esi
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x558a04
cmp edx, 0xc0
jb 0x558a04
lea esi, [ecx + 1]
test dl, 0x20
jne 0x558930
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x5589fe
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55895c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x5589fb
lea ebx, [ecx + 3]
test dl, 8
jne 0x558990
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x5589fb
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 0xc], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x5589cf
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x5589f5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push edx
call fcn.00563d1b
add esp, 0xc
test eax, eax
je case.0x55674b.162
mov eax, dword [ebp - 0x28]
mov ebx, dword [esi]
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp + 0xc], ebx
cmp eax, ebx
jbe 0x5588e3
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp + 0x20]
mov ecx, dword [ecx]
cmp ebx, ecx
je 0x556722
cmp dword [ebp - 0xc], 0
je 0x561ae5
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + 4], eax
cmp ebx, ecx
jae 0x558baf
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp + 0x20]
inc edx
mov edi, edx
mov esi, dword [eax + 0x38]
cmp esi, dword [ecx + 0x64]
jae 0x558b8b
cmp dword [ebp - 8], 0
movzx edx, byte [esi]
je 0x558b5d
cmp edx, 0xc0
jb 0x558b5d
test dl, 0x20
jne 0x558aab
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov edi, eax
jmp 0x558b5a
test dl, 0x10
jne 0x558aca
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x558b51
test dl, 8
jne 0x558af2
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
push 4
jmp 0x558b51
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x558b31
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
push 5
jmp 0x558b59
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 0xc]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop edi
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
push esi
push dword [eax + 8]
push edx
call fcn.00563d1b
add esp, 0xc
test eax, eax
je 0x558b86
mov eax, dword [ebp - 4]
add dword [eax + 0x38], edi
inc ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0xc], ebx
cmp ebx, dword [eax]
jb 0x558a5d
mov edi, dword [ebp + 0x20]
jmp 0x558bb2
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x558baf
cmp esi, dword [edi + 0x6c]
ja 0x558ba3
cmp dword [edi + 0x34], 0
je 0x558baf
mov dword [edi + 0x2c], edx
cmp cx, dx
ja 0x556a9c
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x65
jmp 0x56202f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x558c10
cmp edx, 0xc0
jb 0x558c10
lea esi, [ecx + 1]
test dl, 0x20
jne 0x558c32
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja 0x558c28
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
jne case.0x55674b.162
lea eax, [ebx + 1]
mov dword [ecx], eax
jmp 0x556725
lea edi, [ecx + 2]
test dl, 0x10
jne 0x558c5e
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x558c0d
lea ebx, [ecx + 3]
test dl, 8
jne 0x558c95
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x558c59
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x558ce6
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x558c13
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x558cd2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x558d4f
cmp edx, 0xc0
jb 0x558d4f
lea esi, [ecx + 1]
test dl, 0x20
jne 0x558d70
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x55674b.162
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
jne 0x558c28
jmp case.0x55674b.162
lea edi, [ecx + 2]
test dl, 0x10
jne 0x558d9c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x558d4c
lea ebx, [ecx + 3]
test dl, 8
jne 0x558dd3
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x558d97
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x558e24
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x558d52
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x558e10
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x558e8d
cmp edx, 0xc0
jb 0x558e8d
lea esi, [ecx + 1]
test dl, 0x20
jne 0x558ea8
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja 0x558c28
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
jmp 0x558c22
lea edi, [ecx + 2]
test dl, 0x10
jne 0x558ed4
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x558e8a
lea ebx, [ecx + 3]
test dl, 8
jne 0x558f0b
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x558ecf
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x558f5c
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x558e90
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x558f48
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jb 0x558fa6
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x558163
cmp edx, dword [edi + 0x6c]
jmp 0x557872
movzx ecx, byte [edx]
inc edx
mov dword [eax + 0x38], edx
test esi, esi
je 0x558fd8
cmp ecx, 0xc0
jb 0x558fd8
lea esi, [edx + 1]
test cl, 0x20
jne 0x558ffe
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x55674b.162
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je case.0x55674b.162
lea eax, [ebx + 1]
mov dword [edx], eax
jmp 0x556725
lea edi, [edx + 2]
test cl, 0x10
jne 0x55902a
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x558fd5
lea ebx, [edx + 3]
test cl, 8
jne 0x559061
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x559025
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x5590b2
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov edx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [edx + 0x38], eax
jmp 0x558fdb
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
jmp 0x55909e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55911b
cmp edx, 0xc0
jb 0x55911b
lea esi, [ecx + 1]
test dl, 0x20
jne 0x559136
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja 0x558c28
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
jmp 0x558c22
lea edi, [ecx + 2]
test dl, 0x10
jne 0x559162
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x559118
lea ebx, [ecx + 3]
test dl, 8
jne 0x559199
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x55915d
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x5591ea
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x55911e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x5591d6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x559253
cmp edx, 0xc0
jb 0x559253
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55926e
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp edx, 0xff
ja case.0x55674b.162
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
jmp 0x558d65
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55929a
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x559250
lea ebx, [ecx + 3]
test dl, 8
jne 0x5592d1
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x559295
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x559322
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x559256
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x55930e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x55944c
cmp edx, 0xc0
jb 0x55944c
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55938b
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x55943e
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x5593ab
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x55943b
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x5593d3
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x55943b
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55941d
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x55944f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov ecx, dword [ebp - 4]
sub edx, 0xa
je 0x559486
sub edx, 1
je 0x559479
sub edx, 1
je 0x559479
sub edx, 1
je 0x559490
sub edx, 0x78
je 0x559479
sub edx, 0x1fa3
je 0x559479
sub edx, 1
jne case.0x55674b.162
push 2
pop eax
cmp word [edi + 0x4e], ax
je case.0x55674b.162
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x556722
cmp esi, dword [edi + 0x64]
jb 0x5594bc
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x559486
cmp esi, dword [edi + 0x6c]
ja 0x5594ab
cmp dword [edi + 0x34], 0
je 0x559486
xor eax, eax
inc eax
cmp cx, ax
mov dword [edi + 0x2c], eax
ja 0x556a9c
jmp 0x559486
cmp byte [esi], 0xa
jne 0x559486
lea eax, [esi + 1]
mov dword [ecx + 0x38], eax
jmp 0x559486
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55950a
cmp edx, 0xc0
jb 0x55950a
lea esi, [ecx + 1]
test dl, 0x20
jne 0x559562
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov eax, 0x2004
cmp edx, eax
ja 0x559667
je case.0x55674b.162
mov eax, 0x180e
cmp edx, eax
ja 0x559641
je case.0x55674b.162
cmp edx, 9
je case.0x55674b.162
cmp edx, 0x20
je case.0x55674b.162
cmp edx, 0xa0
je case.0x55674b.162
cmp edx, 0x1680
je case.0x55674b.162
jmp 0x558c28
lea edi, [ecx + 2]
test dl, 0x10
jne 0x559591
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x559507
lea ebx, [ecx + 3]
test dl, 8
jne 0x5595c8
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x559589
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x559619
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x55950d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x559605
sub edx, 0x2000
je case.0x55674b.162
sub edx, 1
je case.0x55674b.162
sub edx, 1
je case.0x55674b.162
sub edx, 1
jmp 0x559557
mov eax, 0x2009
cmp edx, eax
ja 0x55967e
je case.0x55674b.162
sub edx, 0x2005
jmp 0x559647
sub edx, 0x200a
je case.0x55674b.162
sub edx, 0x25
je case.0x55674b.162
sub edx, 0x30
je case.0x55674b.162
sub edx, 0xfa1
jmp 0x559557
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x558f8f
movzx ecx, byte [edx]
inc edx
mov dword [eax + 0x38], edx
test esi, esi
je 0x5596e8
cmp ecx, 0xc0
jb 0x5596e8
lea esi, [edx + 1]
test cl, 0x20
jne 0x55973a
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, 0x2004
cmp ecx, eax
ja 0x55983c
je 0x558ff4
mov eax, 0x180e
cmp ecx, eax
ja 0x559819
je 0x558ff4
cmp ecx, 9
je 0x558ff4
cmp ecx, 0x20
je 0x558ff4
cmp ecx, 0xa0
je 0x558ff4
cmp ecx, 0x1680
jmp 0x559877
lea edi, [edx + 2]
test cl, 0x10
jne 0x559769
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x5596e5
lea ebx, [edx + 3]
test cl, 8
jne 0x5597a0
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x559761
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x5597f1
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov edx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [edx + 0x38], eax
jmp 0x5596eb
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
jmp 0x5597dd
sub ecx, 0x2000
je 0x558ff4
sub ecx, 1
je 0x558ff4
sub ecx, 1
je 0x558ff4
sub ecx, 1
jmp 0x559877
mov eax, 0x2009
cmp ecx, eax
ja 0x559853
je 0x558ff4
sub ecx, 0x2005
jmp 0x55981f
sub ecx, 0x200a
je 0x558ff4
sub ecx, 0x25
je 0x558ff4
sub ecx, 0x30
je 0x558ff4
sub ecx, 0xfa1
je 0x558ff4
jmp case.0x55674b.162
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x5598c3
cmp edx, 0xc0
jb 0x5598c3
lea esi, [ecx + 1]
test dl, 0x20
jne 0x559907
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
sub edx, 0xa
je case.0x55674b.162
sub edx, 1
je case.0x55674b.162
sub edx, 1
je case.0x55674b.162
sub edx, 1
je case.0x55674b.162
sub edx, 0x78
je case.0x55674b.162
sub edx, 0x1fa3
je case.0x55674b.162
sub edx, 1
jmp 0x558d65
lea edi, [ecx + 2]
test dl, 0x10
jne 0x559933
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x5598c0
lea ebx, [ecx + 3]
test dl, 8
jne 0x55996a
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x55992e
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x5599bb
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x5598c6
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x5599a7
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x559a24
cmp edx, 0xc0
jb 0x559a24
lea esi, [ecx + 1]
test dl, 0x20
jne 0x559a68
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 4]
sub edx, 0xa
je 0x558c28
sub edx, 1
je 0x558c28
sub edx, 1
je 0x558c28
sub edx, 1
je 0x558c28
sub edx, 0x78
je 0x558c28
sub edx, 0x1fa3
je 0x558c28
sub edx, 1
jmp 0x558c22
lea edi, [ecx + 2]
test dl, 0x10
jne 0x559a94
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x20]
jmp 0x559a21
lea ebx, [ecx + 3]
test dl, 8
jne 0x559acb
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x559a8f
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x559b1c
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp - 8]
mov dword [ecx + 0x38], eax
jmp 0x559a27
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x559b08
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x559b82
cmp edx, 0xc0
jb 0x559b82
lea esi, [ecx + 1]
test dl, 0x20
jne 0x559bc1
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov edi, dword [ebp - 4]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
imul esi, eax, 0xc
movzx eax, byte [ebx + 1]
add esi, 0x5bea20
cmp eax, 0xa
ja case.0x5611f0.15
jmp dword [eax*4 + 0x562414]
lea edi, [ecx + 2]
test dl, 0x10
jne 0x559bea
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x559b82
lea ebx, [ecx + 3]
test dl, 8
jne 0x559c24
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x559b82
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x559c6f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
mov dword [edi + 0x38], eax
jmp 0x559b85
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
jmp 0x559c61
cmp byte [ebp + 0xb], 0xf
je 0x5569e3
lea eax, [ebx + 3]
jmp 0x55eb7d
mov al, byte [esi + 1]
cmp al, 9
je 0x559cbf
cmp al, 5
je 0x559cbf
cmp al, 8
je 0x559cbf
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x559cc4
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp byte [ebp + 0xb], 0xf
sete al
cmp ecx, eax
jne 0x559ca1
jmp 0x556c25
movzx ecx, byte [esi + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
cmp eax, dword [ecx*4 + 0x5bd600]
setne dl
xor eax, eax
cmp byte [ebp + 0xb], 0x10
sete al
cmp edx, eax
jmp 0x559c9b
mov al, byte [ebx + 2]
xor ecx, ecx
cmp al, byte [esi + 1]
setne cl
xor eax, eax
cmp byte [ebp + 0xb], 0x10
sete al
cmp ecx, eax
jmp 0x559c9b
mov al, byte [ebx + 2]
xor ecx, ecx
cmp al, byte [esi]
jmp 0x559cff
movzx eax, byte [esi + 1]
xor edx, edx
inc edx
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, edx
je 0x559cc2
cmp eax, 3
je 0x559cc2
xor ecx, ecx
jmp 0x559cc4
mov eax, 0x2003
cmp edx, eax
ja 0x559dc8
je case.0x559bba.0
mov eax, 0x85
cmp edx, eax
ja 0x559d8a
je case.0x559bba.0
sub edx, 9
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 0x13
jmp 0x559e27
sub edx, 0xa0
je case.0x559bba.0
sub edx, 0x15e0
je case.0x559bba.0
sub edx, 0x18e
je case.0x559bba.0
sub edx, 0x7f2
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 1
jmp 0x559e27
mov eax, 0x200a
cmp edx, eax
ja 0x559dfa
je case.0x559bba.0
sub edx, 0x2004
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 1
jmp 0x559db4
sub edx, 0x2028
je case.0x559bba.0
sub edx, 1
je case.0x559bba.0
sub edx, 6
je case.0x559bba.0
sub edx, 0x30
je case.0x559bba.0
sub edx, 0xfa1
je case.0x559bba.0
movzx eax, byte [esi + 1]
xor ecx, ecx
cmp dword [eax*4 + 0x5bd600], 6
sete cl
xor eax, eax
cmp byte [ebp + 0xb], 0xf
jmp 0x559d08
movzx eax, byte [esi + 1]
xor ecx, ecx
inc ecx
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, ecx
je 0x559cbf
cmp eax, 3
je 0x559cbf
cmp edx, 0x5f
jmp 0x559cb6
movzx eax, byte [ebx + 2]
lea eax, [eax*4 + 0x5be638]
jmp 0x559e84
lea eax, [eax + 4]
cmp edx, ecx
je 0x559e93
mov ecx, dword [eax]
cmp edx, ecx
jae 0x559e7d
cmp byte [ebp + 0xb], 0x10
jmp 0x559c9b
cmp byte [ebp + 0xb], 0x10
je 0x559ca1
jmp 0x5569e3
cmp edx, 0x24
je 0x559cbf
cmp edx, 0x40
je 0x559cbf
cmp edx, 0x60
je 0x559cbf
cmp edx, 0xa0
jb 0x559ed1
cmp edx, 0xd7ff
jbe 0x559cbf
cmp edx, 0xe000
jae 0x559cbf
jmp 0x559cb8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x559fe4
cmp edx, 0xc0
jb 0x559fe4
lea esi, [ecx + 1]
test dl, 0x20
jne 0x559f23
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x559fd6
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x559f43
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x559fd3
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x559f6b
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x559fd3
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x559fb5
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x559fe4
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push edx
call fcn.00564403
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jb 0x559489
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x559486
cmp ecx, dword [edi + 0x6c]
ja 0x55a028
cmp dword [edi + 0x34], 0
je 0x559486
xor eax, eax
inc eax
cmp dx, ax
jmp 0x5594b1
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
lea edx, [ebx + 3]
mov ebx, dword [ebp - 4]
mov dword [eax], edx
jmp 0x55a114
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
xor ecx, ecx
cmp byte [ebx], 0x5c
setne cl
mov dword [ebp - 0xc], ecx
jmp 0x55a049
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
or edi, 0xffffffff
lea edx, [ebx + 1]
mov ebx, dword [ebp - 4]
mov dword [eax + 0x24], edi
mov dword [eax], edx
jmp 0x55a117
push 2
pop eax
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x20], ecx
jmp 0x55a08a
push 2
pop eax
mov dword [ebp - 0xc], eax
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
xor ecx, ecx
and dword [eax + 0x20], 0
inc ecx
mov dword [eax + 0x24], ecx
jmp 0x55a04c
push 2
pop eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
and dword [eax + 0x20], 0
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
jmp 0x55a049
movzx ecx, byte [ebx]
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov dword [eax], edx
mov eax, dword [ecx*4 + 0x5d738c]
mov dword [ebx + 0x20], eax
mov eax, dword [ecx*4 + 0x5d73b8]
mov dword [ebx + 0x24], eax
mov eax, dword [ecx*4 + 0x5d73e4]
mov dword [ebp - 0xc], eax
or edi, 0xffffffff
movzx eax, byte [edx]
lea ecx, [edx + 1]
mov dword [ebx + 0x28], eax
mov dword [ebp + 0xc], eax
mov dword [ebx], ecx
cmp eax, 0x10
je 0x55a133
cmp eax, 0xf
je 0x55a133
mov edx, edi
jmp 0x55a14d
movzx edx, byte [ecx]
inc ecx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov dword [eax], ecx
movzx eax, byte [ecx]
mov dword [ebx + 0x2c], eax
lea eax, [ecx + 1]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x28], edx
mov dword [ebp + 8], edi
test edi, edi
je 0x55a1e1
test edx, edx
js 0x55b149
cmp edx, 0xa
ja case.0x5611f0.15
jmp dword [edx*4 + 0x562440]
cmp eax, 0xf
je 0x5569e3
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 0x64]
jae 0x55a226
cmp dword [ebp - 8], 0
lea eax, [edx + 1]
mov ebx, dword [ebp - 4]
movzx ecx, byte [edx]
mov dword [ebx + 0x38], eax
je 0x55a1dc
cmp ecx, 0xc0
jb 0x55a1dc
test cl, 0x20
jne 0x55a1ba
lea eax, [edx + 2]
jmp 0x55a1d9
test cl, 0x10
jne 0x55a1c4
lea eax, [edx + 3]
jmp 0x55a1d9
test cl, 8
jne 0x55a1ce
lea eax, [edx + 4]
jmp 0x55a1d9
lea eax, [edx + 5]
test cl, 4
je 0x55a1d9
lea eax, [edx + 6]
mov dword [ebx + 0x38], eax
inc esi
cmp esi, edi
jbe 0x55a184
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], esi
cmp edx, esi
je 0x556722
cmp dword [ebp - 0xc], 0
je 0x5619ba
mov ebx, dword [eax + 0x38]
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x28]
test eax, eax
js 0x55d173
cmp eax, 0xa
ja case.0x5611f0.15
jmp dword [eax*4 + 0x56246c]
mov edi, eax
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55674b.162
cmp edx, dword [edi + 0x6c]
ja 0x55a246
cmp dword [edi + 0x34], 0
je case.0x55674b.162
xor ebx, ebx
inc ebx
mov dword [edi + 0x2c], ebx
cmp cx, bx
jmp 0x557db3
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55a37e
cmp edx, 0xc0
jb 0x55a37e
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55a2aa
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55a37b
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55a2d6
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55a378
lea ebx, [ecx + 3]
test dl, 8
jne 0x55a30a
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55a375
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55a349
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55a36f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, edx
test eax, eax
jns 0x55a387
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55a3a2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov al, byte [eax + 0x5bea21]
cmp al, 9
je 0x55a3c8
cmp al, 5
je 0x55a3c8
cmp al, 8
je 0x55a3c8
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x55a3cd
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x556c25
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55a25c
jmp 0x55a1e1
mov edi, edx
jmp 0x557d8c
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x55a58c
movzx ecx, byte [edx]
inc edx
mov dword [eax + 0x38], edx
test esi, esi
je 0x55a520
cmp ecx, 0xc0
jb 0x55a520
lea esi, [edx + 1]
test cl, 0x20
jne 0x55a44c
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55a51d
lea edi, [edx + 2]
test cl, 0x10
jne 0x55a478
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55a51a
lea ebx, [edx + 3]
test cl, 8
jne 0x55a4ac
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55a517
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x55a4eb
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x55a511
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, ecx
test eax, eax
jns 0x55a529
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x55a544
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov ecx, dword [eax*4 + 0x5bd600]
mov eax, dword [ebp - 4]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x5569e3
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55a3fe
jmp 0x55a1e1
mov edi, ecx
jmp 0x558f8f
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55a6bd
cmp edx, 0xc0
jb 0x55a6bd
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55a5e9
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55a6ba
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55a615
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55a6b7
lea ebx, [ecx + 3]
test dl, 8
jne 0x55a649
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55a6b4
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55a688
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55a6ae
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, edx
test eax, eax
jns 0x55a6c6
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55a6e1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x5bea21]
mov eax, dword [ebp - 4]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x5569e3
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55a59b
jmp 0x55a1e1
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55a84c
cmp edx, 0xc0
jb 0x55a84c
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55a778
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55a849
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55a7a4
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55a846
lea ebx, [ecx + 3]
test dl, 8
jne 0x55a7d8
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55a843
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55a817
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55a83d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, edx
test eax, eax
jns 0x55a855
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55a870
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x5bea20]
mov eax, dword [ebp - 4]
sub ecx, dword [eax + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x5569e3
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55a72a
jmp 0x55a1e1
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55a9db
cmp edx, 0xc0
jb 0x55a9db
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55a907
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55a9d8
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55a933
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55a9d5
lea ebx, [ecx + 3]
test dl, 8
jne 0x55a967
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55a9d2
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55a9a6
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55a9cc
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, edx
test eax, eax
jns 0x55a9e4
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55a9ff
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor edx, edx
inc edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, edx
je 0x55aa2a
cmp eax, 3
je 0x55aa2a
xor ecx, ecx
jmp 0x55aa2c
mov ecx, edx
xor eax, eax
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x556c25
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55a8b9
jmp 0x55a1e1
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x55a58c
movzx ecx, byte [edx]
inc edx
mov dword [eax + 0x38], edx
test esi, esi
je 0x55ab78
cmp ecx, 0xc0
jb 0x55ab78
lea esi, [edx + 1]
test cl, 0x20
jne 0x55aaa4
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55ab75
lea edi, [edx + 2]
test cl, 0x10
jne 0x55aad0
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55ab72
lea ebx, [edx + 3]
test cl, 8
jne 0x55ab04
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55ab6f
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x55ab43
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 0x30]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x55ab69
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, 0x2003
cmp ecx, eax
ja 0x55ac0d
je 0x55aca9
mov eax, 0x85
cmp ecx, eax
ja 0x55abd1
je 0x55aca9
mov eax, ecx
sub eax, 9
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 0x13
jmp 0x55ac55
mov eax, ecx
sub eax, 0xa0
je 0x55aca9
sub eax, 0x15e0
je 0x55aca9
sub eax, 0x18e
je 0x55aca9
sub eax, 0x7f2
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 1
jmp 0x55ac55
mov eax, 0x200a
cmp ecx, eax
ja 0x55ac38
je 0x55aca9
mov eax, ecx
sub eax, 0x2004
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 1
jmp 0x55abf9
mov eax, ecx
sub eax, 0x2028
je 0x55aca9
sub eax, 1
je 0x55aca9
sub eax, 6
je 0x55aca9
sub eax, 0x30
je 0x55aca9
sub eax, 0xfa1
je 0x55aca9
mov eax, ecx
test eax, eax
jns 0x55ac60
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x55ac7b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
cmp dword [eax*4 + 0x5bd600], 6
sete cl
xor eax, eax
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
jmp 0x55acad
cmp dword [ebp + 0xc], 0xf
je 0x5569e3
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55aa56
jmp 0x55a1e1
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55adee
cmp edx, 0xc0
jb 0x55adee
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55ad1a
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55adeb
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55ad46
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55ade8
lea ebx, [ecx + 3]
test dl, 8
jne 0x55ad7a
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55ade5
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55adb9
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55addf
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
xor ecx, ecx
imul eax, eax, 0xc
inc ecx
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, ecx
je 0x55ae36
cmp eax, 3
je 0x55ae36
cmp edx, 0x5f
je 0x55ae36
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x55ae3b
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x556c25
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55accc
jmp 0x55a1e1
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55af8a
cmp edx, 0xc0
jb 0x55af8a
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55aeb3
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55af84
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55aedf
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55af81
lea ebx, [ecx + 3]
test dl, 8
jne 0x55af13
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55af7e
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55af52
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55af78
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
lea eax, [eax*4 + 0x5be638]
jmp 0x55af9d
lea eax, [eax + 4]
cmp edx, ecx
je 0x55afbe
mov ecx, dword [eax]
cmp edx, ecx
jae 0x55af96
cmp dword [ebp + 0xc], 0xf
jne 0x5569e3
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55ae65
jmp 0x55a1e1
cmp dword [ebp + 0xc], 0xf
je 0x5569e3
jmp 0x55afad
xor eax, eax
inc eax
mov ebx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x55a3ef
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test esi, esi
je 0x55b0f4
cmp edx, 0xc0
jb 0x55b0f4
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55b020
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x55b0f1
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55b04c
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x55b0ee
lea ebx, [ecx + 3]
test dl, 8
jne 0x55b080
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
jmp 0x55b0eb
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp - 0x30], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55b0bf
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55b0e5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 8]
cmp edx, 0x24
je 0x55b122
cmp edx, 0x40
je 0x55b122
cmp edx, 0x60
je 0x55b122
cmp edx, 0xa0
jb 0x55b113
cmp edx, 0xd7ff
jbe 0x55b122
cmp edx, 0xe000
jae 0x55b122
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x55b127
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp dword [ebp + 0xc], 0xf
sete al
cmp ecx, eax
je 0x556c25
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x55afd2
jmp 0x55a1e1
cmp eax, 0x16
jne 0x55b2cb
mov edi, dword [ebp + 0x20]
xor eax, eax
lea ebx, [eax + 1]
mov dword [ebp + 8], ebx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x558f8f
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [eax + 0x38], edx
je 0x55b26f
cmp ecx, 0xc0
jb 0x55b26f
lea esi, [edx + 1]
test cl, 0x20
jne 0x55b19e
movzx eax, byte [edx]
and ecx, 0x1f
jmp 0x55b261
mov edi, esi
lea esi, [edx + 2]
mov dword [ebp + 0xc], edi
test cl, 0x10
jne 0x55b1c1
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
jmp 0x55b25e
mov ebx, esi
lea esi, [edx + 3]
mov dword [ebp - 0x30], ebx
test cl, 8
jne 0x55b1ec
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
jmp 0x55b25b
mov eax, dword [ebp + 0xc]
movzx edi, byte [edx]
movzx esi, byte [esi]
and edi, 0x3f
and esi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x30]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 0xc], eax
lea eax, [edx + 4]
test cl, 4
jne 0x55b23d
mov edx, dword [ebp - 4]
and ecx, 3
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x20]
shl ecx, 6
or ecx, ebx
mov dword [edx + 0x38], eax
mov ebx, dword [ebp + 8]
shl ecx, 6
or ecx, dword [ebp + 0xc]
shl ecx, 6
or ecx, esi
mov esi, eax
jmp 0x55b26f
movzx eax, byte [eax]
and ecx, 1
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, dword [ebp + 0xc]
shl ecx, 6
or ecx, esi
lea esi, [edx + 5]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push ecx
call fcn.00564403
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jb 0x55b2b9
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x55b2b6
cmp ecx, dword [edi + 0x6c]
ja 0x55b2a7
cmp dword [edi + 0x34], 0
je 0x55b2b6
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, dword [eax + 0x20]
jbe 0x55b15d
jmp 0x55a1e7
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5611f0.15
test esi, esi
je 0x55bf20
jmp dword [eax*4 + 0x562498]
jmp dword [eax*4 + 0x5624d8]
xor eax, eax
inc eax
cmp ebx, dword [edi + 0x64]
jae 0x55c39a
cmp dword [ebp - 8], 0
movzx ecx, byte [ebx]
je 0x55c37c
cmp ecx, 0xc0
jb 0x55c37c
test cl, 0x20
jne 0x55c35d
push 2
jmp 0x55c36d
test cl, 0x10
jne 0x55c366
push 3
jmp 0x55c36d
test cl, 8
jne 0x55c370
push 4
pop eax
jmp 0x55c37c
test cl, 4
push 0
pop eax
setne al
add eax, 5
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x28], 0xf
je 0x55d15c
add ebx, eax
mov eax, ecx
inc edx
mov dword [eax + 0x38], ebx
cmp edx, esi
jb 0x55c33b
jmp 0x55d15c
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55d15c
cmp ebx, dword [edi + 0x6c]
ja 0x55c3b8
cmp dword [edi + 0x34], 0
je 0x55d15c
xor edx, edx
inc edx
jmp 0x55d150
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55c4bc
cmp edx, 0xc0
jb 0x55c4bc
test dl, 0x20
jne 0x55c40d
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55c4bc
test dl, 0x10
jne 0x55c42c
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55c4b3
test dl, 8
jne 0x55c454
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55c4b3
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55c493
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55c4bb
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, edx
test eax, eax
jns 0x55c4c5
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55c4e0
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov al, byte [eax + 0x5bea21]
cmp al, 9
je 0x55c503
cmp al, 5
je 0x55c503
cmp al, 8
je 0x55c503
xor ecx, ecx
jmp 0x55c508
xor eax, eax
lea ecx, [eax + 1]
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55c3c8
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55c632
cmp edx, 0xc0
jb 0x55c632
test dl, 0x20
jne 0x55c583
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55c632
test dl, 0x10
jne 0x55c5a2
movzx eax, byte [ebx + 1]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
push 3
jmp 0x55c629
test dl, 8
jne 0x55c5ca
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55c629
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55c609
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55c631
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, edx
test eax, eax
jns 0x55c63b
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55c656
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov ecx, dword [eax*4 + 0x5bd600]
sub ecx, dword [edx + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55c53e
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55c79c
cmp edx, 0xc0
jb 0x55c79c
test dl, 0x20
jne 0x55c6f4
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55c79c
test dl, 0x10
jne 0x55c713
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55c793
movzx eax, byte [ebx + 1]
and eax, 0x3f
test dl, 8
jne 0x55c73b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55c793
movzx ecx, byte [ebx + 2]
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55c773
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55c79b
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, edx
test eax, eax
jns 0x55c7a5
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55c7c0
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x5bea21]
sub ecx, dword [edx + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55c6af
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55c906
cmp edx, 0xc0
jb 0x55c906
test dl, 0x20
jne 0x55c857
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55c906
test dl, 0x10
jne 0x55c876
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55c8fd
test dl, 8
jne 0x55c89e
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55c8fd
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55c8dd
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55c905
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, edx
test eax, eax
jns 0x55c90f
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55c92a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x5bea20]
sub ecx, dword [edx + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55c812
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55ca70
cmp edx, 0xc0
jb 0x55ca70
test dl, 0x20
jne 0x55c9c1
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55ca70
test dl, 0x10
jne 0x55c9e0
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55ca67
test dl, 8
jne 0x55ca08
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55ca67
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55ca47
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55ca6f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, edx
test eax, eax
jns 0x55ca79
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55ca94
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
inc ecx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, ecx
je 0x55cabd
cmp eax, 3
je 0x55cabd
xor ecx, ecx
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55c97c
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55cbe0
cmp edx, 0xc0
jb 0x55cbe0
test dl, 0x20
jne 0x55cb38
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55cbe0
test dl, 0x10
jne 0x55cb57
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55cbd7
movzx eax, byte [ebx + 1]
and eax, 0x3f
test dl, 8
jne 0x55cb7f
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55cbd7
movzx ecx, byte [ebx + 2]
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55cbb7
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55cbdf
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, 0x2003
cmp edx, eax
ja 0x55cc75
je 0x55cd24
mov eax, 0x85
cmp edx, eax
ja 0x55cc39
je 0x55cd24
mov eax, edx
sub eax, 9
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 0x13
jmp 0x55ccc5
mov eax, edx
sub eax, 0xa0
je 0x55cd24
sub eax, 0x15e0
je 0x55cd24
sub eax, 0x18e
je 0x55cd24
sub eax, 0x7f2
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 1
jmp 0x55ccc5
mov eax, 0x200a
cmp edx, eax
ja 0x55cca8
je 0x55cd24
mov eax, edx
sub eax, 0x2004
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 1
jmp 0x55cc61
mov eax, edx
sub eax, 0x2028
je 0x55cd24
sub eax, 1
je 0x55cd24
sub eax, 6
je 0x55cd24
sub eax, 0x30
je 0x55cd24
sub eax, 0xfa1
je 0x55cd24
mov eax, edx
test eax, eax
jns 0x55ccd0
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55cceb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 4]
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
cmp dword [eax*4 + 0x5bd600], 6
sete cl
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, edx
jmp 0x55cd31
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x55d15c
add ebx, esi
mov dword [eax + 0x38], ebx
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55caf3
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55ce2f
cmp edx, 0xc0
jb 0x55ce2f
movzx eax, byte [ebx + 1]
and eax, 0x3f
test dl, 0x20
jne 0x55cd98
and edx, 0x1f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55ce2f
test dl, 0x10
jne 0x55cdad
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
push 3
jmp 0x55ce26
test dl, 8
jne 0x55cdce
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55ce26
movzx ecx, byte [ebx + 2]
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55ce06
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55ce2e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
xor ecx, ecx
imul eax, eax, 0xc
inc ecx
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, ecx
je 0x55ce72
cmp eax, 3
je 0x55ce72
cmp edx, 0x5f
je 0x55ce72
xor ecx, ecx
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55cd53
jmp 0x55d15c
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55cf95
cmp edx, 0xc0
jb 0x55cf95
test dl, 0x20
jne 0x55ceed
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55cf95
test dl, 0x10
jne 0x55cf0c
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55cf8c
movzx eax, byte [ebx + 1]
and eax, 0x3f
test dl, 8
jne 0x55cf34
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55cf8c
movzx ecx, byte [ebx + 2]
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55cf6c
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55cf94
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
lea eax, [eax*4 + 0x5be638]
jmp 0x55cfab
lea eax, [eax + 4]
cmp edx, ecx
je 0x55cfd8
mov ecx, dword [eax]
cmp edx, ecx
jae 0x55cfa4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
jne 0x55d15c
add ebx, esi
mov dword [eax + 0x38], ebx
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55cea8
jmp 0x55d15c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je 0x55d15c
jmp 0x55cfbe
cmp edx, esi
jae 0x55d15c
xor edx, edx
inc edx
mov esi, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d13a
cmp dword [ebp - 8], 0
movzx edx, byte [ebx]
je 0x55d0e3
cmp edx, 0xc0
jb 0x55d0e3
test dl, 0x20
jne 0x55d034
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov esi, eax
jmp 0x55d0e3
test dl, 0x10
jne 0x55d053
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55d0da
test dl, 8
jne 0x55d07b
movzx ecx, byte [ebx + 1]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55d0da
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55d0ba
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55d0e2
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop esi
cmp edx, 0x24
je 0x55d10e
cmp edx, 0x40
je 0x55d10e
cmp edx, 0x60
je 0x55d10e
cmp edx, 0xa0
jb 0x55d102
cmp edx, 0xd7ff
jbe 0x55d10e
cmp edx, 0xe000
jae 0x55d10e
xor ecx, ecx
jmp 0x55d113
xor eax, eax
lea ecx, [eax + 1]
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x55d15c
mov eax, dword [ebp + 8]
add ebx, esi
inc eax
mov dword [edx + 0x38], ebx
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0xc]
jb 0x55cfef
jmp 0x55d15c
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55d15c
cmp ebx, dword [edi + 0x6c]
ja 0x55d150
cmp dword [edi + 0x34], 0
je 0x55d15c
mov dword [edi + 0x2c], edx
cmp cx, dx
ja 0x556a9c
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
mov ebx, dword [ebp - 4]
jmp 0x56193e
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x1c], edi
cmp edi, 0x16
jne 0x55d329
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x55d315
jmp 0x55d195
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x55d2f0
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x55d294
cmp edx, 0xc0
jb 0x55d294
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55d1d3
movzx eax, byte [ecx]
and edx, 0x1f
jmp 0x55d286
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x55d1f3
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x55d283
mov ebx, esi
lea esi, [ecx + 3]
test dl, 8
jne 0x55d21b
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
jmp 0x55d283
movzx edi, byte [edi]
lea eax, [ecx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 0xc], eax
and esi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55d265
mov ecx, dword [ebp - 4]
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov dword [ecx + 0x38], eax
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x55d294
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
push 0
push dword [ebp - 8]
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push edx
call fcn.00564403
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jb 0x55d2db
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x55d2db
cmp ecx, dword [edi + 0x6c]
ja 0x55d2cc
cmp dword [edi + 0x34], 0
je 0x55d2db
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ecx + 0x24]
jb 0x55d192
jmp 0x55d315
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x55d315
cmp ecx, dword [edi + 0x6c]
ja 0x55d306
cmp dword [edi + 0x34], 0
je 0x55d315
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x5618d6
lea eax, [edi - 6]
cmp eax, 0xf
ja case.0x5611f0.15
cmp dword [ebp - 8], 0
je switch.0x0055e0e0
jmp dword [eax*4 + 0x562518]
mov dword [edi + 0x2c], edx
cmp cx, dx
ja 0x556a9c
jmp 0x55d869
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55d869
cmp ebx, dword [edi + 0x6c]
ja 0x55d457
cmp dword [edi + 0x34], 0
je 0x55d869
jmp 0x55d457
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x561918
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x55d869
xor edx, edx
inc edx
mov ecx, edx
cmp ebx, dword [edi + 0x64]
jae 0x55d6a6
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x55dac7
test dl, 0x20
jne 0x55da19
movzx eax, byte [ebx + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
push 2
or edx, eax
pop eax
mov ecx, eax
jmp 0x55dac7
test dl, 0x10
jne 0x55da38
movzx ecx, byte [ebx + 1]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
push 3
jmp 0x55dabe
movzx eax, byte [ebx + 1]
and eax, 0x3f
test dl, 8
jne 0x55da60
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
push 4
jmp 0x55dabe
movzx ecx, byte [ebx + 2]
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55da9b
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 5
jmp 0x55dac6
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
push 6
and eax, 0x3f
shl edx, 6
or edx, eax
pop ecx
cmp edx, 0x100
jae 0x55dadc
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
jne 0x55d869
mov eax, dword [ebp - 4]
add ebx, ecx
mov dword [eax + 0x38], ebx
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, esi
jb 0x55d9de
jmp 0x55d869
jmp dword [eax*4 + 0x562558]
mov edi, dword [ebp + 0x20]
jmp 0x55e388
cmp ebx, dword [edi + 0x64]
jae 0x55e45b
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x55e480
mov eax, dword [ebp - 4]
inc ebx
inc edx
mov dword [eax + 0x38], ebx
cmp edx, esi
jb 0x55e367
jmp 0x55e480
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55e480
cmp ebx, dword [edi + 0x6c]
ja 0x55e471
cmp dword [edi + 0x34], 0
je 0x55e480
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp cx, ax
ja 0x556a9c
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
push 2
pop eax
cmp dword [ebp - 0xc], eax
je 0x556725
jmp 0x55fa8b
mov ecx, dword [ebp - 4]
xor eax, eax
cmp dl, 0x74
sete al
mov dword [ecx + 0x28], eax
movzx esi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl esi, 8
or esi, eax
shl edx, 8
movzx eax, byte [ebx + 2]
or edx, eax
movzx eax, word [edi + 0x52]
imul edx, eax
lea eax, [ebx + 5]
mov ebx, ecx
add edx, dword [edi + 0x54]
mov dword [ebx], eax
test esi, esi
je 0x55e531
movzx ecx, byte [edx]
dec esi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
mov dword [ebx + 0x14], ecx
cmp ecx, dword [ebx + 0x50]
jae 0x55e4f9
or eax, 0xffffffff
cmp dword [ebx + ecx*4 + 0x54], eax
jne 0x55e531
movzx eax, word [edi + 0x52]
add edx, eax
test esi, esi
jg 0x55e4d4
jmp 0x55e531
xor eax, eax
cmp dl, 0x72
mov edx, dword [ebp - 4]
sete al
mov dword [edx + 0x28], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx*2 - 2]
mov dword [edx + 0x14], eax
lea eax, [ebx + 3]
mov ebx, edx
mov dword [ebx], eax
mov edx, dword [ebx]
movzx ecx, byte [edx]
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x55e549
movzx eax, byte [eax + 0x5625a0]
jmp dword [eax*4 + 0x562598]
mov edi, dword [ecx*4 + 0x5d7358]
lea eax, [edx + 1]
mov dword [ebx], eax
or esi, 0xffffffff
mov eax, dword [ecx*4 + 0x5d7384]
mov ecx, dword [ecx*4 + 0x5d73b0]
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], eax
mov dword [ebp - 0xc], ecx
jmp 0x55e5b5
movzx edi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl edi, 8
or edi, eax
mov dword [ebx + 0x20], edi
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24], ecx
movzx eax, byte [edx]
push 0xffffffffffffffff
pop esi
mov eax, dword [eax*4 + 0x5d73b0]
mov dword [ebp - 0xc], eax
mov eax, ecx
cmove eax, esi
mov dword [ebx + 0x24], eax
lea eax, [edx + 5]
mov dword [ebx], eax
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebx + 0x50]
jae 0x55e5d4
mov ecx, dword [ebx + eax*4 + 0x54]
cmp ecx, esi
je 0x55e5d4
mov esi, dword [ebp - 8]
cmp ecx, dword [ebx + eax*4 + 0x58]
je 0x556ab1
jmp 0x55e5f2
mov esi, dword [ebp - 8]
test edi, edi
je 0x556ab1
mov eax, dword [ebp + 0x20]
test dword [eax + 0x8c], 0x200
jne 0x55671b
xor eax, eax
inc eax
mov esi, eax
cmp edi, eax
jb 0x55e62a
mov edi, dword [ebp + 0x20]
lea eax, [ebp - 0x38]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0056271c
add esp, 0x14
test eax, eax
jne 0x55e68c
mov eax, dword [ebx + 0x38]
add eax, dword [ebp - 0x38]
inc esi
mov dword [ebx + 0x38], eax
mov edi, dword [ebx + 0x20]
cmp esi, edi
jbe 0x55e5fb
xor eax, eax
inc eax
mov edx, dword [ebx + 0x24]
mov esi, dword [ebp - 8]
cmp edi, edx
je 0x556ab1
cmp dword [ebp - 0xc], 0
je 0x55f61f
mov esi, eax
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + ecx*4 + 0x58]
sub eax, dword [ebx + ecx*4 + 0x54]
mov dword [ebx + 0xc], eax
cmp edi, edx
jae 0x55e6d4
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x20]
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0056271c
add esp, 0x14
test eax, eax
jne 0x55e6a5
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, dword [ebx + 0xc]
cmovne esi, ecx
add dword [ebx + 0x38], eax
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x55e65c
jmp 0x55e6cc
jle 0x55e694
mov eax, dword [edi + 0x64]
mov dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jb case.0x55674b.162
jmp 0x557d8c
jle 0x55e6cc
mov edx, dword [ebp + 0x20]
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x55e6cc
mov eax, dword [edx + 0x64]
cmp eax, dword [edx + 0x6c]
jbe 0x55e6cc
xor eax, eax
inc eax
mov dword [edx + 0x2c], eax
cmp cx, ax
ja 0x556a9c
test esi, esi
je 0x5619ed
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x55674b.162
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x15
jmp 0x56202f
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0056271c
add esp, 0x14
test eax, eax
jne 0x55e68c
mov eax, dword [ebp - 0x20]
add dword [ebx + 0x38], eax
jmp 0x556722
lea edx, [ebx + 1]
mov ebx, dword [ebp - 4]
mov dword [ebx], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [ebx], eax
cmp byte [edx], 0x78
je 0x55e71c
add eax, 3
mov dword [ebx], eax
jmp 0x556725
cmp dword [edi + 0x30], 0
jne 0x5619f5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x5619f5
mov edx, ebx
mov ebx, eax
jmp 0x55f273
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.00556553
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x55674b.162
js 0x556885
mov eax, dword [ebp - 0x20]
add dword [ebx], eax
jmp 0x556722
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
mov edx, dword [ebp - 4]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xc], ecx
cmp byte [ebx + ecx], 0x78
je 0x55e7a8
lea eax, [ecx - 3]
mov dword [edx + 0xc], eax
lea edi, [ebx + 3]
mov ebx, dword [ebp - 4]
mov dword [ebx], edi
mov al, byte [edi]
cmp al, 0x76
je 0x55e7ba
cmp al, 0x77
jne 0x55e7e5
mov edi, dword [ebp + 0x20]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.00556553
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x55674b.162
js 0x55f25e
mov eax, dword [ebp - 0x20]
add dword [ebx], eax
mov edi, dword [ebx]
sub dword [ebx + 0xc], eax
mov cl, byte [edi]
movzx eax, cl
sub eax, 0x90
je 0x55e976
sub eax, 1
je 0x55e913
sub eax, 1
je 0x55e8dd
sub eax, 1
je 0x55e84e
sub eax, 1
je 0x55e823
sub eax, 1
je 0x5615ef
sub eax, 0xd
jne 0x5619fc
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 4]
mov dword [eax], ebx
cmp byte [eax + 0x31], 0x8f
jne 0x556722
mov edi, 0x2008f
mov byte [eax + 0x30], 0x23
mov dword [ebp - 0x14], edi
jmp 0x56202f
or eax, 0xffffffff
cmp dword [ebx + 0x44], eax
je 0x55e823
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 1]
shl esi, 8
or esi, eax
shl edx, 8
mov eax, dword [ebp + 0x20]
movzx ebx, word [eax + 0x52]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x20]
or edx, eax
imul edx, ebx
add edx, dword [edi + 0x54]
test esi, esi
je 0x55e96e
movzx ecx, byte [edx]
dec esi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 0x44]
je 0x55e8c0
add edx, ebx
test esi, esi
jg 0x55e888
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
jmp 0x55e826
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
jmp 0x5615f2
or eax, 0xffffffff
cmp dword [ebx + 0x44], eax
je 0x55e823
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x20]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x5615f2
cmp ecx, dword [ebx + 0x44]
je 0x5615f2
jmp 0x55e826
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 1]
shl esi, 8
or esi, eax
shl edx, 8
mov eax, dword [ebp + 0x20]
movzx ebx, word [eax + 0x52]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x20]
or edx, eax
imul edx, ebx
add edx, dword [edi + 0x54]
test esi, esi
je 0x55e96e
movzx eax, byte [edx]
dec esi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
mov eax, dword [ebp - 4]
lea ecx, [ecx*2 - 2]
cmp ecx, dword [eax + 0x50]
jae 0x55e968
cmp dword [eax + ecx*4 + 0x54], 0xffffffff
jne 0x5615ea
add edx, ebx
test esi, esi
jg 0x55e941
mov ebx, dword [ebp - 4]
jmp 0x55e826
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp + 0x20]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x50]
jae 0x55e826
or eax, 0xffffffff
cmp dword [ebx + ecx*4 + 0x54], eax
je 0x55e826
jmp 0x5615f2
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
mov ebx, dword [ebp - 4]
shl edx, 8
or edx, eax
test esi, esi
jne 0x55e9fd
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x5c]
cmp edx, eax
jg case.0x55674b.162
sub ecx, edx
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x6c]
jae 0x55e9dc
mov dword [edi + 0x6c], eax
add dword [ebx], 3
jmp 0x556725
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [edi + 0x60]
jbe case.0x55674b.162
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x55e9f1
test edx, edx
jne 0x55e9e4
jmp 0x55e9d1
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, ebx
mov ebx, eax
mov dword [ecx], ebx
cmp byte [eax], 0x78
je case.0x55674b.120
jmp 0x556725
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov al, byte [ebx]
cmp al, 0x86
je 0x55ea96
cmp al, 0x8a
je 0x55ea96
mov ecx, dword [edi + 0x10]
mov edi, dword [ebp - 4]
add ecx, dword [edi + 0x4c]
mov esi, ecx
mov dword [ebp - 0x10], ecx
sub esi, dword [ebp + 0x1c]
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x55ea9e
mov eax, dword [edi + 0x50]
shl eax, 2
push eax
lea eax, [edi + 0x54]
push eax
lea eax, [esi + 0x54]
push eax
call fcn.00568520
mov eax, dword [edi + 0x50]
add esp, 0xc
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x40]
mov dword [esi + 0x40], eax
mov eax, edi
sub eax, esi
mov dword [edi + 0x10], eax
xor edx, edx
inc edx
mov esi, edx
jmp 0x556c27
mov edi, dword [ebp - 4]
xor esi, esi
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebx]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x55eab4.134
movzx eax, byte [eax + 0x5625c4]
jmp dword [eax*4 + 0x5625a8]
mov ecx, dword [ebp + 0x20]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x55eac9
mov dword [ecx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x38], eax
jmp case.0x55eab4.134
mov ecx, dword [ebp + 0x20]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x55eae2
mov dword [ecx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x38], eax
mov eax, edi
sub eax, esi
mov dword [edi + 0x10], eax
mov edx, dword [esi]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
jmp 0x55eb0a
lea eax, [edx + ecx]
mov dword [esi], eax
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp byte [edx + ecx], 0x78
je 0x55eafb
jmp case.0x55eab4.134
push dword [ebp - 8]
push dword [edi + 0x38]
push dword [esi + 0x38]
call fcn.0056474b
add esp, 0xc
test eax, eax
jne case.0x55eab4.134
jmp 0x5569e3
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
cmp dword [edi + 0x44], edx
jne 0x55eb84
mov esi, ecx
sub esi, dword [ebp + 0x1c]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [edi + 0x54]
push eax
call fcn.00568520
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [edi + 0x44], eax
mov eax, dword [esi]
add eax, 3
mov dword [edi], eax
jmp 0x55671f
mov eax, dword [ebp - 4]
lea edi, [edx + edx]
mov ecx, dword [ebp + 0x20]
mov dword [eax + 0x48], edx
mov edx, dword [ebp + 0x20]
mov eax, dword [esi + 0x38]
sub eax, dword [edx + 0x5c]
mov edx, dword [ebp - 4]
mov dword [edx + edi*4 + 0x4c], eax
mov eax, dword [edx + 0x38]
sub eax, dword [ecx + 0x5c]
lea ecx, [edi - 2]
mov dword [edx + ecx*4 + 0x58], eax
cmp ecx, dword [edx + 0x50]
jb case.0x55eab4.134
mov dword [edx + 0x50], edi
mov edi, dword [ebp - 4]
mov edx, dword [edi]
cmp byte [edx], 0x7c
jne 0x55ebdc
push dword [ebp - 0x2c]
lea eax, [edi + 0x38]
push eax
lea eax, [esi + 0x38]
push eax
call fcn.00568520
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x5569e5
mov cl, byte [edi + 0x31]
cmp cl, 0x79
je 0x55ebf8
test esi, esi
je 0x561a3c
mov eax, dword [edi + 0x38]
cmp eax, dword [esi + 0x38]
jne 0x561a3c
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 4]
add dword [ebx], 3
jmp 0x556722
mov ecx, dword [ebp - 4]
xor edx, edx
inc edx
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x5c]
jne 0x556bc3
test byte [edi + 0x88], dl
je 0x558c28
jmp 0x556bc3
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x5c]
jmp 0x558c22
test byte [edi + 0x88], 2
jne case.0x55674b.162
test byte [edi + 0x8c], 0x10
je case.0x55674b.23
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [edi + 0x64]
jb case.0x55674b.162
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55ec76
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp cx, ax
ja 0x556a9c
inc dword [edx]
jmp 0x556725
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jae 0x55ed2c
mov edx, dword [edi + 0x98]
lea esi, [edi + 0x9c]
test edx, edx
je 0x55ecb7
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.0055492e
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x55ece3
jmp 0x55ecd9
sub eax, dword [esi]
cmp ecx, eax
ja 0x55ece3
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x55ece3
xor eax, eax
inc eax
cmp dword [esi], eax
je 0x55ecd9
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
jne 0x55ece3
mov eax, dword [edi + 0x64]
sub eax, dword [esi]
cmp dword [ebx + 0x38], eax
je 0x55ed2c
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x55674b.162
mov ecx, dword [ebx + 0x38]
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x64]
jb case.0x55674b.162
cmp dword [edi + 0x98], 0
jne case.0x55674b.162
push 2
pop eax
cmp dword [esi], eax
jne case.0x55674b.162
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne case.0x55674b.162
jmp 0x557daa
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55ed46
xor eax, eax
inc eax
cmp cx, ax
mov dword [edi + 0x2c], eax
ja 0x556a9c
inc dword [ebx]
jmp 0x556722
mov ebx, dword [ebp - 4]
xor edx, edx
inc edx
test byte [edi + 0x88], dl
je 0x55ed67
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
je 0x556bc3
mov ecx, dword [ebx + 0x38]
mov esi, dword [edi + 0x5c]
cmp ecx, esi
je 0x55ed46
cmp ecx, dword [edi + 0x64]
jne 0x55ed86
test dword [edi + 0x8c], 0x200000
je 0x556bc3
mov edx, dword [edi + 0x98]
test edx, edx
je 0x55edc2
cmp ecx, esi
jbe 0x55edb4
push dword [ebp - 8]
lea eax, [edi + 0x9c]
push eax
push esi
push edx
push ecx
call fcn.00554aa7
add esp, 0x14
test eax, eax
je 0x55edb4
xor edx, edx
inc edx
mov eax, edx
jmp 0x55edb9
xor edx, edx
xor eax, eax
inc edx
test eax, eax
jne 0x55ed46
jmp 0x556bc3
mov edx, dword [edi + 0x9c]
lea eax, [edx + esi]
cmp ecx, eax
jb 0x558163
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x558163
xor eax, eax
inc eax
cmp edx, eax
je 0x55ed46
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
je 0x55ed46
jmp 0x558163
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
mov ecx, dword [ebx + 0x38]
cmp ecx, eax
jae 0x55ee76
mov edx, dword [edi + 0x98]
test edx, edx
je 0x55ee3f
push dword [ebp - 8]
lea esi, [edi + 0x9c]
push esi
push eax
push edx
push ecx
call fcn.0055492e
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne 0x55ed46
jmp 0x55ece3
lea edx, [edi + 0x9c]
sub eax, dword [edx]
cmp ecx, eax
ja 0x55ee6f
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x55ee6f
xor eax, eax
inc eax
cmp dword [edx], eax
je 0x55ed46
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
je 0x55ed46
mov esi, edx
jmp 0x55ece3
test byte [edi + 0x88], 2
jne case.0x55674b.162
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x55ed46
cmp ecx, dword [edi + 0x6c]
ja 0x55eea1
cmp dword [edi + 0x34], 0
je 0x55ed46
xor eax, eax
inc eax
cmp dx, ax
jmp 0x55ed3d
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x5c]
add eax, dword [edi + 0x44]
cmp dword [ecx + 0x38], eax
jmp 0x558c22
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
jmp 0x558c28
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
cmp esi, dword [edi + 0x60]
jne 0x55ef40
mov ecx, dword [ebp + 0x20]
add edi, 0x6c
xor eax, eax
mov dword [ebp + 8], eax
xor edx, edx
inc edx
mov esi, dword [ebp - 4]
mov ebx, dword [esi + 0x38]
cmp ebx, dword [ecx + 0x64]
jb 0x55f0d3
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je 0x55f0cb
cmp ebx, dword [edi]
mov edi, dword [ebp + 0x20]
ja 0x55ef0f
cmp dword [edi + 0x34], 0
je 0x55ef1b
mov dword [edi + 0x2c], edx
cmp cx, dx
ja 0x556a9c
xor ebx, ebx
xor edx, edx
inc ebx
mov eax, dword [esi]
mov cl, byte [eax]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 8]
xor eax, edx
cmp cl, 5
jne 0x55ef33
xor eax, ebx
test eax, eax
je 0x556722
jmp case.0x55674b.162
dec esi
cmp dword [ebp - 8], 0
mov cl, byte [esi]
je 0x55f028
mov ebx, 0xc0
jmp 0x55ef57
dec esi
mov cl, byte [esi]
mov al, cl
and al, bl
cmp al, 0x80
je 0x55ef54
movzx edx, cl
cmp edx, ebx
jb 0x55f02b
test dl, 0x20
jne 0x55ef7e
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
jmp 0x55efc2
test dl, 0x10
jne 0x55ef98
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x55efbc
test dl, 8
jne 0x55efc6
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x55f02b
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x55f000
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55f023
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
mov edi, dword [ebp + 0x20]
jmp 0x55f02b
movzx edx, cl
add edi, 0x6c
cmp esi, dword [edi]
jae 0x55f034
mov dword [edi], esi
mov ecx, dword [ebp + 0x20]
test dword [ecx + 0x8c], 0x20000
je 0x55f0a7
cmp edx, 0x5f
jne 0x55f050
xor eax, eax
inc eax
jmp 0x55eede
mov eax, edx
test eax, eax
jns 0x55f059
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55f074
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor edx, edx
inc edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, edx
je 0x55f09f
cmp eax, 3
jne 0x55eedc
mov dword [ebp + 8], edx
jmp 0x55eee1
cmp edx, 0xff
ja 0x55eedc
mov eax, dword [ecx + 0x40]
test byte [edx + eax], 0x10
je 0x55eedc
xor edx, edx
inc edx
mov dword [ebp + 8], edx
jmp 0x55eee4
mov edi, dword [ebp + 0x20]
jmp 0x55ef1b
cmp dword [ebp - 8], 0
lea ecx, [ebx + 1]
mov edi, dword [ebp + 0x20]
mov edx, ecx
mov dword [ebp + 0xc], edx
je 0x55f1ca
cmp edx, dword [edi + 0x64]
jae 0x55f0fe
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x55f0fb
inc edx
cmp edx, dword [edi + 0x64]
jb 0x55f0ed
mov dword [ebp + 0xc], edx
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x55f1cd
test dl, 0x20
jne 0x55f120
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
jmp 0x55f162
test dl, 0x10
jne 0x55f139
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x55f15c
test dl, 8
jne 0x55f166
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x55f1cd
movzx eax, byte [ecx]
movzx ecx, byte [ebx + 2]
and eax, 0x3f
movzx esi, byte [ebx + 3]
and ecx, 0x3f
movzx edi, byte [ebx + 4]
and esi, 0x3f
and edi, 0x3f
test dl, 4
jne 0x55f19f
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
jmp 0x55f1c2
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ebx + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, eax
mov esi, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
jmp 0x55f1cd
movzx edx, byte [ebx]
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x70]
jbe 0x55f1d8
mov dword [edi + 0x70], eax
test dword [edi + 0x8c], 0x20000
je 0x55f23b
cmp edx, 0x5f
je 0x55f254
mov eax, edx
test eax, eax
jns 0x55f1f2
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x55f20d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ebx, ebx
inc ebx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, ebx
je 0x55f257
cmp eax, 3
je 0x55f257
xor edx, edx
jmp 0x55ef20
cmp edx, 0xff
ja 0x55ef1b
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
je 0x55ef1b
xor ebx, ebx
inc ebx
mov edx, ebx
jmp 0x55ef20
xor edx, edx
inc edx
jmp case.0x55f648.35
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 4]
mov dword [ebx], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [ebx + 4], ecx
mov eax, dword [ebx]
cmp byte [ecx], 0x78
movzx eax, byte [eax]
mov al, byte [eax + 0x5bd488]
je 0x561a59
movzx eax, al
add eax, edx
jmp 0x55f4ce
cmp esi, 0xfffffc1f
jne 0x55f2d2
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x556885
cmp byte [edx], 0x78
je 0x55f2dc
cmp byte [ecx], 0x78
push 1
pop edx
jmp 0x55f2d6
mov esi, ecx
test ecx, ecx
jne case.0x55f648.35
mov edx, dword [ebx]
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, dword [ebp - 4]
mov dword [edx], ebx
cmp byte [ebx], 0x78
je 0x561e3d
jmp case.0x55674b.162
cmp esi, 0xfffffc19
je 0x5614f4
test esi, esi
je 0x55f31c
cmp esi, 0xfffffc1f
jne case.0x55f648.35
mov edx, dword [ebx]
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, dword [ebp - 4]
mov dword [edx], ebx
cmp byte [ebx], 0x78
je 0x561f02
jmp case.0x55674b.162
cmp esi, 0xfffffc19
je 0x556bc3
cmp esi, 0xfffffc1b
je 0x561558
cmp esi, 0xfffffc1c
je 0x561558
cmp esi, 0xfffffc1d
je 0x561558
cmp esi, 0xfffffc1f
je 0x561537
test esi, esi
je 0x561537
mov eax, dword [ebp - 4]
cmp esi, edx
jne 0x55688b
jmp 0x556bc3
cmp esi, 0xfffffc19
je 0x5615a5
cmp esi, 0xfffffc1b
je 0x56159b
cmp esi, 0xfffffc1c
je 0x56159b
cmp esi, 0xfffffc1d
je 0x56159b
cmp esi, 0xfffffc1f
je 0x56157d
test esi, esi
je 0x56157d
cmp esi, edx
je 0x5615c5
jmp case.0x55f648.35
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebx], edx
jmp 0x556722
test esi, esi
je 0x55ebfe
jmp case.0x55f648.35
cmp esi, 0xfffffc1a
jne 0x55f443
mov dword [ebx + 0x24], edx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x561a6c
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x55f42b
jmp 0x55f498
cmp esi, 0xfffffc1f
jne 0x55f472
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x556885
cmp byte [edx], 0x78
je 0x55f47c
cmp byte [ecx], 0x78
push 1
pop edx
jmp 0x55f476
mov esi, ecx
test ecx, ecx
jne case.0x55f648.35
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x561df6
cmp dword [ebx + 0x24], 0
jne 0x55f4cb
cmp dword [ebx + 0x28], 0
jne 0x55f4cb
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx + 4], edx
cmp byte [edx], 0x78
je 0x55f4b4
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x556722
test esi, esi
je 0x55ed46
jmp case.0x55f648.35
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x3e5]
add ecx, edx
cmp eax, 4
ja 0x55f533
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x84], eax
jne 0x55f533
cmp esi, 0xfffffc1f
jne case.0x55674b.162
cmp dword [edi + 0x7c], ecx
jae case.0x55674b.162
cmp byte [edx], 0x78
je 0x55f53e
cmp byte [ecx], 0x78
je 0x55f53e
jmp case.0x55674b.162
push 1
pop edx
test esi, esi
jne case.0x55f648.35
mov dword [ebx + 4], ecx
cmp byte [ecx], 0x78
je 0x561ed5
jmp case.0x55674b.162
cmp esi, 0xfffffc1e
jne case.0x55f648.35
push dword [edi + 0x80]
mov eax, dword [ebx]
push 2
pop ecx
add eax, ecx
push eax
call fcn.00554c94
pop ecx
pop ecx
push 1
pop edx
test eax, eax
jne case.0x55f648.35
mov eax, dword [ebx + 0x38]
dec esi
mov dword [edi + 0x80], eax
jmp 0x556885
test esi, esi
jne case.0x55f648.35
mov esi, 0xfffffc1b
jmp 0x55f5d6
test esi, esi
jne case.0x55f648.35
mov esi, 0xfffffc1c
jmp 0x55f5d6
test esi, esi
jne case.0x55f648.35
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x80], eax
jmp 0x55f5d6
test esi, esi
jne case.0x55f648.35
mov eax, dword [ebx]
mov esi, 0xfffffc1e
push 2
pop ecx
add eax, ecx
mov dword [edi + 0x80], eax
jmp 0x55f5d6
test esi, esi
jne case.0x55f648.35
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x7c], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
mov eax, dword [ebp - 4]
jmp 0x55688b
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
lea eax, [ebp - 0x40]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0056271c
add esp, 0x14
test eax, eax
jne 0x55e68c
mov eax, dword [ebp - 0x40]
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x14
jmp 0x56202f
cmp eax, 0x64
ja 0x55fbee
je 0x55faa5
sub eax, 0x15
cmp eax, 0xf
ja case.0x5611f0.15
jmp dword [eax*4 + 0x5625d8]
test esi, esi
jne case.0x55f648.35
mov eax, dword [ebx + 0xc]
sub dword [ebx + 0x38], eax
jmp 0x55e6d7
test esi, esi
jne case.0x55f648.35
mov eax, dword [ebx + 4]
cmp dword [ebx + 0x38], eax
je case.0x55674b.162
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x24]
dec eax
mov dword [ebx + 0x24], eax
mov esi, dword [ebx + 0x20]
cmp esi, eax
jae 0x55f6a3
lea eax, [ebp - 0x44]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0056271c
mov eax, dword [ebp - 0x44]
add esp, 0x14
add dword [ebx + 0x38], eax
inc esi
cmp esi, dword [ebx + 0x24]
jb 0x55f683
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x16
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x558f8f
movzx ecx, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov esi, ecx
mov edx, dword [ebx + 8]
xor eax, eax
shr esi, 3
and ecx, 7
inc eax
shl eax, cl
test byte [esi + edx], al
je case.0x55674b.162
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x17
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
dec dword [ebx + 0x38]
jmp 0x5587e1
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x55f74e
cmp dword [ebx + 0x2c], eax
jne case.0x55674b.162
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x56202f
dec dword [ebx + 0x38]
test esi, esi
je 0x5577e0
jmp case.0x55f648.35
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x64]
jae 0x557860
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x561a79
jmp case.0x55674b.162
dec dword [ebx + 0x38]
test esi, esi
je 0x5578ec
jmp case.0x55f648.35
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je case.0x55674b.162
cmp dword [ebx + 0x2c], eax
je case.0x55674b.162
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1d
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1e
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x64]
jae 0x557860
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x55674b.162
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x20
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x64]
cmp ecx, eax
jae 0x557d8c
cmp dword [ebx + 0x28], 0xc
jne 0x55f922
mov edx, dword [edi + 0x98]
lea esi, [edi + 0x9c]
test edx, edx
je 0x55f8f8
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.0055492e
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x55f922
jmp 0x558163
sub eax, dword [esi]
cmp ecx, eax
ja 0x55f922
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x55f922
xor edx, edx
inc edx
cmp dword [esi], edx
je 0x556bc3
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
je 0x556bc3
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [ebx + 0x38], edx
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5611f0.15
jmp dword [eax*4 + 0x562618]
sub ecx, 0xa
je case.0x55f93d.13
sub ecx, 1
je 0x55f969
sub ecx, 1
je 0x55f969
sub ecx, 1
je 0x561a87
sub ecx, 0x78
jne case.0x55674b.162
push 2
pop eax
cmp word [edi + 0x4e], ax
jmp 0x55fa54
cmp ecx, 9
je case.0x55674b.162
cmp ecx, 0x20
je case.0x55674b.162
cmp ecx, 0xa0
jmp 0x55fa54
cmp ecx, 9
je case.0x55f93d.13
cmp ecx, 0x20
je case.0x55f93d.13
cmp ecx, 0xa0
jmp 0x55fa42
sub ecx, 0xa
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 0x78
jmp 0x55fa54
sub ecx, 0xa
je case.0x55f93d.13
sub ecx, 1
je case.0x55f93d.13
sub ecx, 1
je case.0x55f93d.13
sub ecx, 1
je case.0x55f93d.13
sub ecx, 0x78
jmp 0x55fa42
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x55fa42
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x55fa54
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
je case.0x55f93d.13
jmp 0x556bc3
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
jne case.0x55f93d.13
jmp 0x556bc3
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x55f93d.13
jmp case.0x55674b.162
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x55f93d.13
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0x11
jne 0x55fa8b
cmp eax, dword [ebx + 4]
jbe 0x55fa8b
cmp byte [eax], 0xa
jne 0x55fa8b
mov ecx, dword [ebx + 0x38]
dec eax
cmp byte [eax], 0xd
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x22
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x55fbd2
cmp edx, 0xc0
jb 0x55fbd2
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55fb05
movzx eax, byte [ecx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x55fbd2
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55fb2e
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x55fbcf
lea ebx, [ecx + 3]
test dl, 8
jne 0x55fb64
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x55fbcf
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55fba3
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55fbc9
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
push dword [ebp - 8]
push dword [ebx + 8]
push edx
call fcn.00563d1b
add esp, 0xc
test eax, eax
jne 0x561ae8
jmp case.0x55674b.162
cmp eax, 0x65
jne case.0x5611f0.15
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x55674b.162
cmp dword [ebp - 8], esi
je 0x558bc1
jmp 0x561afa
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx ebx, byte [ecx]
inc ecx
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], ecx
cmp ebx, 0xc0
jb 0x55fd43
lea edx, [ecx + 1]
test bl, 0x20
jne 0x55fc79
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [edi + 0x38], edx
jmp 0x55fd43
lea esi, [ecx + 2]
test bl, 0x10
jne 0x55fca2
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [edi + 0x38], esi
shl ebx, 6
or ebx, eax
jmp 0x55fd43
lea edi, [ecx + 3]
test bl, 8
jne 0x55fcd8
movzx ecx, byte [ecx]
and ebx, 7
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, eax
jmp 0x55fd43
movzx edx, byte [edx]
lea eax, [ecx + 4]
movzx esi, byte [esi]
and edx, 0x3f
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 8], eax
and edi, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 4
jne 0x55fd17
and ebx, 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp + 8]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
jmp 0x55fd3d
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, edx
shl ebx, 6
or ebx, esi
shl ebx, 6
or ebx, edi
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
cmp ebx, 0xff
jbe 0x55fd5d
cmp byte [edi + 0x31], 0x6e
jne 0x561b07
mov edi, dword [ebp + 0x20]
jmp case.0x55674b.162
mov edx, dword [edi + 8]
mov esi, ebx
xor eax, eax
shr esi, 3
and ebx, 7
inc eax
mov ecx, ebx
shl eax, cl
test byte [esi + edx], al
jmp 0x55fd4f
sub eax, 0xc9
cmp eax, 0x15
ja case.0x5611f0.15
jmp dword [eax*4 + 0x562658]
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
ja 0x561b16
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov eax, dword [edi + 0x64]
sub eax, dword [ebx + 0xc]
cmp dword [ebx + 0x38], eax
ja 0x55fde6
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 0x38]
call fcn.00568aa0
add esp, 0xc
test eax, eax
je 0x561b2c
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x55e694
mov eax, dword [edi + 0x64]
sub eax, ecx
cmp dword [ebx + 0x38], eax
ja 0x55e694
push ecx
lea eax, [ebx + 0x32]
push eax
push dword [ebx + 0x38]
call fcn.00568aa0
add esp, 0xc
test eax, eax
jne 0x55e694
mov eax, dword [ebx + 0x14]
add dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x562032
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
dec ecx
jmp 0x561604
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x55ff60
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55fe93
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x55ff60
lea edi, [ecx + 2]
test dl, 0x10
jne 0x55febc
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x55ff5d
lea ebx, [ecx + 3]
test dl, 8
jne 0x55fef2
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x55ff5d
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x55ff31
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x55ff57
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp dword [ebx + 0x28], edx
je case.0x55674b.162
cmp dword [ebx + 0x2c], edx
je case.0x55674b.162
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcc
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
dec ecx
jmp 0x56162a
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x5600b5
lea esi, [ecx + 1]
test dl, 0x20
jne 0x55ffe8
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x5600b5
lea edi, [ecx + 2]
test dl, 0x10
jne 0x560011
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x5600b2
lea ebx, [ecx + 3]
test dl, 8
jne 0x560047
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x5600b2
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x560086
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x5600ac
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp dword [ebx + 0x28], edx
je case.0x55674b.162
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x56202f
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
dec ecx
jmp 0x561650
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [ebx + 0x38], edx
cmp dword [ebp - 8], esi
je 0x560140
cmp eax, 0xc0
jb 0x560140
test al, 0x20
jne 0x560121
lea eax, [edx + 1]
jmp 0x56013d
test al, 0x10
jne 0x56012a
lea eax, [ecx + 3]
jmp 0x56013d
test al, 8
jne 0x560133
lea eax, [ecx + 4]
jmp 0x56013d
test al, 4
lea eax, [ecx + 5]
je 0x56013d
lea eax, [ecx + 6]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
jne 0x561b37
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x56027c
cmp edx, 0xc0
jb 0x56027c
lea esi, [ecx + 1]
test dl, 0x20
jne 0x5601af
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x56027c
lea edi, [ecx + 2]
test dl, 0x10
jne 0x5601d8
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x560279
lea ebx, [ecx + 3]
test dl, 8
jne 0x56020e
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560279
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x56024d
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x560273
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x560285
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x5602a0
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
mov al, byte [eax + 0x5bea21]
cmp al, 9
je 0x5602c6
cmp al, 5
je 0x5602c6
cmp al, 8
je 0x5602c6
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x5602cb
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561b48
jmp 0x556bc3
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x56040e
cmp edx, 0xc0
jb 0x56040e
lea esi, [ecx + 1]
test dl, 0x20
jne 0x560341
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x56040e
lea edi, [ecx + 2]
test dl, 0x10
jne 0x56036a
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x56040b
lea ebx, [ecx + 3]
test dl, 8
jne 0x5603a0
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x56040b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x5603df
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x560405
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x560417
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x560432
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov ecx, dword [eax*4 + 0x5bd600]
sub ecx, dword [ebx + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561b59
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x560598
cmp edx, 0xc0
jb 0x560598
lea esi, [ecx + 1]
test dl, 0x20
jne 0x5604cb
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x560598
lea edi, [ecx + 2]
test dl, 0x10
jne 0x5604f4
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x560595
lea ebx, [ecx + 3]
test dl, 8
jne 0x56052a
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560595
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x560569
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x56058f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x5605a1
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x5605bc
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x5bea21]
sub ecx, dword [ebx + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561b6a
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x558f8f
movzx ecx, byte [edx]
inc edx
mov dword [ebx + 0x38], edx
cmp dword [ebp - 8], esi
je 0x56071b
cmp ecx, 0xc0
jb 0x56071b
lea esi, [edx + 1]
test cl, 0x20
jne 0x56064e
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x56071b
lea edi, [edx + 2]
test cl, 0x10
jne 0x560677
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x560718
lea ebx, [edx + 3]
test cl, 8
jne 0x5606ad
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560718
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x5606ec
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x560712
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, ecx
test eax, eax
jns 0x560724
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and ecx, 0x8000007f
jns 0x56073f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx ecx, byte [eax + 0x5bea20]
sub ecx, dword [ebx + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561b7b
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x56089e
cmp edx, 0xc0
jb 0x56089e
lea esi, [ecx + 1]
test dl, 0x20
jne 0x5607d1
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x56089e
lea edi, [ecx + 2]
test dl, 0x10
jne 0x5607fa
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x56089b
lea ebx, [ecx + 3]
test dl, 8
jne 0x560830
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x56089b
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x56086f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x560895
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x5608a7
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x5608c2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor edx, edx
inc edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, edx
je 0x5608ed
cmp eax, 3
je 0x5608ed
xor ecx, ecx
jmp 0x5608ef
mov ecx, edx
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561b8c
jmp 0x556bc3
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x560a32
cmp edx, 0xc0
jb 0x560a32
lea esi, [ecx + 1]
test dl, 0x20
jne 0x560965
movzx eax, byte [ecx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x560a32
lea edi, [ecx + 2]
test dl, 0x10
jne 0x56098e
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x560a2f
lea ebx, [ecx + 3]
test dl, 8
jne 0x5609c4
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560a2f
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x560a03
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x560a29
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, 0x2003
cmp edx, eax
ja 0x560ac7
je 0x560b70
mov eax, 0x85
cmp edx, eax
ja 0x560a8b
je 0x560b70
mov eax, edx
sub eax, 9
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 0x13
jmp 0x560b13
mov eax, edx
sub eax, 0xa0
je 0x560b70
sub eax, 0x15e0
je 0x560b70
sub eax, 0x18e
je 0x560b70
sub eax, 0x7f2
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 1
jmp 0x560b13
mov eax, 0x200a
cmp edx, eax
ja 0x560af6
je 0x560b70
mov eax, edx
sub eax, 0x2004
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 1
jmp 0x560ab3
mov eax, edx
sub eax, 0x2028
je 0x560b70
sub eax, 1
je 0x560b70
sub eax, 6
je 0x560b70
sub eax, 0x30
je 0x560b70
sub eax, 0xfa1
je 0x560b70
mov eax, edx
test eax, eax
jns 0x560b1e
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x560b39
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea21]
cmp dword [eax*4 + 0x5bd600], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561b9d
jmp case.0x55674b.162
cmp dword [ebx + 0x28], 0xf
jmp 0x560b65
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x560ca3
cmp edx, 0xc0
jb 0x560ca3
lea esi, [ecx + 1]
test dl, 0x20
jne 0x560bd6
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x560ca3
lea edi, [ecx + 2]
test dl, 0x10
jne 0x560bff
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x560ca0
lea ebx, [ecx + 3]
test dl, 8
jne 0x560c35
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560ca0
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x560c74
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x560c9a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5c17d8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5c5bd8]
xor ecx, ecx
imul eax, eax, 0xc
inc ecx
movzx eax, byte [eax + 0x5bea21]
mov eax, dword [eax*4 + 0x5bd600]
cmp eax, ecx
je 0x560ceb
cmp eax, 3
je 0x560ceb
cmp edx, 0x5f
je 0x560ceb
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x560cf0
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561bae
jmp 0x556bc3
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x558f8f
movzx ecx, byte [edx]
inc edx
mov dword [ebx + 0x38], edx
cmp dword [ebp - 8], esi
je 0x560e33
cmp ecx, 0xc0
jb 0x560e33
lea esi, [edx + 1]
test cl, 0x20
jne 0x560d66
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x560e33
lea edi, [edx + 2]
test cl, 0x10
jne 0x560d8f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], edi
jmp 0x560e30
lea ebx, [edx + 3]
test cl, 8
jne 0x560dc5
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560e30
movzx esi, byte [esi]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x560e04
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
jmp 0x560e2a
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0x2c]
lea eax, [eax*4 + 0x5be638]
jmp 0x560e46
lea eax, [eax + 4]
cmp ecx, edx
je 0x560e5b
mov edx, dword [eax]
cmp ecx, edx
jae 0x560e3f
cmp dword [ebx + 0x28], 0xf
je 0x561bbf
jmp case.0x55674b.162
cmp dword [ebx + 0x28], 0xf
jne 0x561bbf
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x557d8c
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x560f97
cmp edx, 0xc0
jb 0x560f97
lea esi, [ecx + 1]
test dl, 0x20
jne 0x560eca
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x560f97
lea edi, [ecx + 2]
test dl, 0x10
jne 0x560ef3
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x560f94
lea ebx, [ecx + 3]
test dl, 8
jne 0x560f29
movzx ecx, byte [ecx]
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x560f94
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
movzx ebx, byte [ebx]
and edi, 0x3f
mov dword [ebp + 8], eax
and ebx, 0x3f
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 4
jne 0x560f68
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
jmp 0x560f8e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp edx, 0x24
je 0x560fc5
cmp edx, 0x40
je 0x560fc5
cmp edx, 0x60
je 0x560fc5
cmp edx, 0xa0
jb 0x560fb6
cmp edx, 0xd7ff
jbe 0x560fc5
cmp edx, 0xe000
jae 0x560fc5
xor edx, edx
xor ecx, ecx
inc edx
jmp 0x560fca
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x561bd0
jmp 0x556bc3
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x558f8f
movzx ecx, byte [edx]
inc edx
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x561c9f
cmp ecx, 0xc0
jb 0x561c9f
lea esi, [edx + 1]
test cl, 0x20
jne 0x561bde
movzx eax, byte [edx]
and ecx, 0x1f
jmp 0x561c94
test esi, esi
jne case.0x55f648.35
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x55674b.162
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x64]
cmp ecx, eax
jae 0x557d8c
cmp dword [ebx + 0x28], 0xc
jne 0x5610c0
mov edx, dword [edi + 0x98]
lea esi, [edi + 0x9c]
test edx, edx
je 0x561096
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.0055492e
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x5610c0
jmp 0x558163
sub eax, dword [esi]
cmp ecx, eax
ja 0x5610c0
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x5610c0
xor edx, edx
inc edx
cmp dword [esi], edx
je 0x556bc3
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
je 0x556bc3
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [ebx + 0x38], edx
cmp ecx, 0xc0
jb 0x5611e1
lea edi, [edx + 1]
test cl, 0x20
jne 0x5610f8
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [ebx + 0x38], edi
mov edx, edi
jmp 0x5611de
lea esi, [edx + 2]
mov dword [ebp + 8], esi
test cl, 0x10
jne 0x561126
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, esi
movzx eax, byte [edi]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [ebx + 0x38], esi
jmp 0x5611de
lea ebx, [edx + 3]
mov dword [ebp + 0xc], ebx
test cl, 8
jne 0x561161
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ebx
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ebx
mov ebx, eax
jmp 0x5611de
movzx esi, byte [edx]
lea eax, [edx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x34], eax
and edi, 0x3f
mov eax, dword [ebp + 8]
movzx ebx, byte [eax]
mov eax, dword [ebp + 0xc]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x34]
test cl, 4
jne 0x5611b2
and ecx, 3
mov edx, eax
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp - 4]
shl ecx, 6
or ecx, dword [ebp + 8]
mov dword [ebx + 0x38], eax
jmp 0x5611de
movzx eax, byte [eax]
and ecx, 1
shl ecx, 6
and eax, 0x3f
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp - 4]
shl ecx, 6
or ecx, dword [ebp + 8]
shl ecx, 6
or ecx, eax
add edx, 5
mov dword [ebx + 0x38], edx
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5611f0.15
jmp dword [eax*4 + 0x5626b0]
sub ecx, 0xa
je case.0x5611f0.13
sub ecx, 1
je 0x561229
sub ecx, 1
je 0x561229
sub ecx, 1
je 0x561cf1
sub ecx, 0x78
je 0x561229
sub ecx, 0x1fa3
je 0x561229
sub ecx, 1
jne case.0x55674b.162
push 2
pop eax
cmp word [edi + 0x4e], ax
jmp 0x561497
mov edx, 0x2004
cmp ecx, edx
ja 0x561299
je case.0x55674b.162
mov edx, 0x180e
cmp ecx, edx
ja 0x56127c
je case.0x55674b.162
cmp ecx, 9
je case.0x55674b.162
cmp ecx, 0x20
je case.0x55674b.162
cmp ecx, 0xa0
je case.0x55674b.162
cmp ecx, 0x1680
jmp 0x561497
sub ecx, 0x2000
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 1
jmp 0x5613b0
mov edx, 0x2009
cmp ecx, edx
ja 0x5612b0
je case.0x55674b.162
sub ecx, 0x2005
jmp 0x561282
sub ecx, 0x200a
je case.0x55674b.162
sub ecx, 0x25
je case.0x55674b.162
sub ecx, 0x30
je case.0x55674b.162
sub ecx, 0xfa1
jmp 0x561497
mov edx, 0x2004
cmp ecx, edx
ja 0x56133d
je case.0x5611f0.13
mov edx, 0x180e
cmp ecx, edx
ja 0x561320
je case.0x5611f0.13
cmp ecx, 9
je case.0x5611f0.13
cmp ecx, 0x20
je case.0x5611f0.13
cmp ecx, 0xa0
je case.0x5611f0.13
cmp ecx, 0x1680
jmp 0x561479
sub ecx, 0x2000
je case.0x5611f0.13
sub ecx, 1
je case.0x5611f0.13
sub ecx, 1
jmp 0x5613f1
mov edx, 0x2009
cmp ecx, edx
ja 0x561354
je case.0x5611f0.13
sub ecx, 0x2005
jmp 0x561326
sub ecx, 0x200a
je case.0x5611f0.13
sub ecx, 0x25
je case.0x5611f0.13
sub ecx, 0x30
je case.0x5611f0.13
sub ecx, 0xfa1
jmp 0x561479
sub ecx, 0xa
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 1
je case.0x55674b.162
sub ecx, 0x78
je case.0x55674b.162
sub ecx, 0x1fa3
je case.0x55674b.162
sub ecx, 1
jmp 0x561497
sub ecx, 0xa
je case.0x5611f0.13
sub ecx, 1
je case.0x5611f0.13
sub ecx, 1
je case.0x5611f0.13
sub ecx, 1
je case.0x5611f0.13
sub ecx, 0x78
je case.0x5611f0.13
sub ecx, 0x1fa3
je case.0x5611f0.13
sub ecx, 1
jmp 0x561479
cmp ecx, 0x100
jae case.0x5611f0.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x561479
cmp ecx, 0x100
jae case.0x55674b.162
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jmp 0x561497
cmp ecx, 0x100
jae case.0x5611f0.13
mov eax, dword [edi + 0x40]
xor edx, edx
inc edx
test byte [ecx + eax], dl
je case.0x5611f0.13
jmp 0x556bc3
xor edx, edx
inc edx
cmp ecx, 0x100
jae 0x556bc3
mov eax, dword [edi + 0x40]
test byte [ecx + eax], dl
jne case.0x5611f0.13
jmp 0x556bc3
cmp ecx, 0x100
jae case.0x5611f0.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x5611f0.13
jmp case.0x55674b.162
cmp ecx, 0x100
jae case.0x55674b.162
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5611f0.13
jmp case.0x55674b.162
test esi, esi
jne case.0x55f648.35
mov esi, dword [ebx + 0x38]
mov edi, dword [ebp - 8]
dec esi
mov dword [ebx + 0x38], esi
test edi, edi
jne 0x561675
movzx edx, byte [esi]
jmp 0x561750
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
dec ecx
jmp 0x5618f1
test esi, esi
jne case.0x55f648.35
mov ecx, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
dec ecx
mov dword [ebx + 0x38], ecx
test esi, esi
je 0x56193e
jmp 0x561936
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00568520
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x56151c
jmp 0x55f4cb
mov edx, dword [ebx]
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, dword [ebp - 4]
mov dword [edx], ebx
cmp byte [ebx], 0x78
je 0x561f2b
jmp 0x561573
mov ebx, dword [ebx]
mov edx, dword [ebp - 4]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
mov dword [edx], ebx
cmp byte [ebx], 0x78
je 0x56155d
lea eax, [ebx + 3]
mov dword [edx], eax
jmp 0x556722
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [ebx + 4], eax
cmp byte [eax], 0x78
je 0x561a13
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
jmp 0x5615c8
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00568520
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x55e826
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x5615d2
jmp 0x5615f2
mov ebx, dword [ebp - 4]
jmp 0x5615f2
mov edi, dword [ebp + 0x20]
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x5bd488]
jmp 0x55e82b
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x561603
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcb
jmp 0x56202f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x561629
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcd
jmp 0x56202f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56164f
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xcf
jmp 0x56202f
mov ecx, 0xc0
jmp 0x561680
dec esi
mov dword [ebx + 0x38], esi
mov al, byte [esi]
and al, cl
cmp al, 0x80
je 0x56167c
movzx edx, byte [esi]
cmp edx, ecx
jb 0x561750
test dl, 0x20
jne 0x5616a4
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x561748
test dl, 0x10
jne 0x5616c1
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x561748
test dl, 8
jne 0x5616e7
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x561748
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x561727
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
jmp 0x561750
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x561759
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x561774
dec edx
or edx, 0xffffff80
inc edx
mov ebx, dword [ebx + 4]
add eax, edx
mov dword [ebp + 8], ebx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx eax, byte [eax + 0x5bea22]
mov dword [ebp + 0xc], eax
jmp 0x5618ce
dec esi
mov cl, byte [esi]
test edi, edi
jne 0x5617a8
movzx edx, cl
jmp 0x56187c
dec esi
mov cl, byte [esi]
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x5617a5
movzx edx, cl
cmp edx, 0xc0
jb 0x56187c
test dl, 0x20
jne 0x5617d0
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x561874
test dl, 0x10
jne 0x5617ed
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x561874
test dl, 8
jne 0x561813
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x561874
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx edi, byte [esi + 3]
and ecx, 0x3f
movzx ebx, byte [esi + 4]
and edi, 0x3f
and ebx, 0x3f
test dl, 4
jne 0x561853
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
jmp 0x56187c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp - 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x561885
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x5c17d8]
shl eax, 7
and edx, 0x8000007f
jns 0x5618a0
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebp + 0xc]
add eax, edx
movzx eax, word [eax*2 + 0x5c5bd8]
imul eax, eax, 0xc
movzx edx, byte [eax + 0x5bea22]
xor eax, eax
inc eax
shl eax, cl
test dword [edx*4 + 0x5bd554], eax
je 0x5618d6
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], edx
mov dword [eax + 0x38], esi
cmp esi, ebx
ja 0x561796
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ecx + 4]
jbe 0x55671f
mov ebx, dword [ecx]
mov byte [ecx + 0x30], 0xdc
jmp 0x56202f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x5618f0
cmp dword [ebx + 0x28], 0x11
jne 0x561918
cmp ecx, dword [ebx + 4]
jbe 0x561918
cmp byte [ecx], 0xa
jne 0x561918
lea eax, [ecx - 1]
cmp byte [eax], 0xd
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x556722
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdd
jmp 0x56202f
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x561932
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x556725
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xde
jmp 0x56202f
inc dword [edi + 0x90]
mov eax, dword [edi + 0x90]
cmp eax, dword [edi + 0x94]
ja 0x561d4f
mov ebx, dword [ebp - 4]
mov edx, dword [ebx]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x5bd488]
add eax, edx
add ecx, eax
mov dword [ebx], ecx
jmp 0x556725
cmp dword [ebp - 8], 0
jne 0x55ff72
jmp 0x55f800
test esi, esi
jne 0x5600c1
jmp 0x55f86e
test esi, esi
jne 0x561b07
mov ebx, dword [ebp - 4]
jmp 0x55f6f9
mov eax, dword [ebp - 0x28]
test eax, eax
js 0x5619d1
cmp eax, 0xa
ja case.0x5611f0.15
jmp dword [eax*4 + 0x5626f0]
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x28], 0x16
je 0x561ce3
cmp dword [ebp - 8], 0
jne case.0x5611f0.13
jmp case.0x55f93d.13
mov dword [ebx + 0x24], edi
jmp 0x55f6a3
xor ecx, ecx
jmp 0x561e37
cmp cl, 0x7e
je 0x561a0a
cmp cl, 0x80
je 0x561a0a
xor eax, eax
jmp 0x561a0d
xor eax, eax
inc eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 4], edi
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
movzx edx, byte [eax]
movzx eax, byte [ecx]
or edx, 0x30000
mov dword [ebp - 0x14], edx
movzx ebx, byte [eax + 0x5bd488]
mov eax, dword [ebp - 4]
add ebx, ecx
mov byte [eax + 0x30], 5
jmp 0x56202f
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x561a50
lea ebx, [edx + 3]
mov byte [edi + 0x30], 6
jmp 0x562032
mov byte [edi + 0x30], 7
jmp 0x562032
movzx ebx, al
xor ecx, ecx
mov eax, dword [ebp - 4]
add ebx, edx
inc ecx
mov byte [eax + 0x30], cl
jmp 0x56202f
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x561df6
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x1b
jmp 0x56202f
cmp edx, dword [edi + 0x64]
jae case.0x55f93d.13
cmp byte [edx], 0xa
jne case.0x55f93d.13
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
jmp case.0x55f93d.13
movzx eax, word [edi + 0x4c]
mov esi, eax
test ax, ax
je case.0x55f93d.13
cmp edx, dword [edi + 0x64]
jb case.0x55f93d.13
cmp dword [edi + 0x98], 0
jne case.0x55f93d.13
push 2
pop eax
cmp dword [edi + 0x9c], eax
jne case.0x55f93d.13
movzx eax, byte [edi + 0xa0]
cmp ecx, eax
jne case.0x55f93d.13
xor edx, edx
inc edx
mov dword [edi + 0x2c], edx
cmp si, dx
ja 0x556a9c
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x21
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0x64
jmp 0x56202f
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x561af6
jmp 0x558bc1
mov ebx, dword [edi]
mov byte [edi + 0x30], 0xc8
jmp 0x56202f
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x561b12
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xc9
jmp 0x56202f
mov eax, dword [ebx + 0xc]
jmp 0x55fe1a
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd0
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd1
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd2
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd3
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd4
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd5
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd6
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd7
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd8
jmp 0x56202f
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xd9
jmp 0x56202f
mov edi, esi
lea esi, [edx + 2]
test cl, 0x10
jne 0x561bfe
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
jmp 0x561c91
mov ebx, esi
lea esi, [edx + 3]
test cl, 8
jne 0x561c26
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx]
jmp 0x561c8e
movzx edi, byte [edi]
lea eax, [edx + 4]
movzx ebx, byte [ebx]
and edi, 0x3f
movzx esi, byte [esi]
and ebx, 0x3f
mov dword [ebp + 8], eax
and esi, 0x3f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 4
jne 0x561c70
and ecx, 3
shl ecx, 6
or ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 6
or ecx, edi
mov edi, dword [ebp + 0x20]
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp - 4]
shl ecx, 6
or ecx, esi
mov esi, eax
mov dword [ebx + 0x38], eax
jmp 0x561c9f
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
shl ecx, 6
or ecx, esi
lea esi, [edx + 5]
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl ecx, 6
mov dword [ebx + 0x38], esi
or ecx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push ecx
call fcn.00564403
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jb 0x561ce3
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x561ce3
cmp ecx, dword [edi + 0x6c]
ja 0x561cd4
cmp dword [edi + 0x34], 0
je 0x561ce3
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp dx, ax
ja 0x556a9c
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xda
jmp 0x56202f
cmp edx, dword [edi + 0x64]
jae case.0x5611f0.13
cmp byte [edx], 0xa
jne case.0x5611f0.13
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
jmp case.0x5611f0.13
movzx eax, word [edi + 0x4c]
mov esi, eax
test ax, ax
je case.0x5611f0.13
cmp edx, dword [edi + 0x64]
jb case.0x5611f0.13
cmp dword [edi + 0x98], 0
jne case.0x5611f0.13
push 2
pop eax
cmp dword [edi + 0x9c], eax
jne case.0x5611f0.13
movzx eax, byte [edi + 0xa0]
cmp ecx, eax
jne case.0x5611f0.13
xor eax, eax
inc eax
mov dword [edi + 0x2c], eax
cmp si, ax
ja 0x556a9c
mov eax, dword [ebp - 4]
mov ebx, dword [ebx]
mov byte [eax + 0x30], 0xdb
jmp 0x56202f
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x5bd488]
mov byte [edx + 0x30], 0x11
jmp 0x56202b
mov eax, dword [ebp - 4]
inc ebx
mov dword [eax + 4], ebx
mov byte [eax + 0x30], 9
jmp 0x56202f
mov esi, dword [ebp - 4]
lea edx, [ebx + 1]
mov dword [esi + 4], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 4], eax
cmp byte [edx], 0x78
je 0x561d84
lea ebx, [eax + 3]
mov byte [esi + 0x30], 0xa
jmp 0x56202f
mov edx, dword [ebp - 4]
xor eax, eax
inc eax
inc ebx
mov dword [edx + 0x28], eax
mov dword [edx], ebx
mov al, byte [ebx]
cmp al, 0x89
je 0x561dd6
cmp al, 0x8e
jne 0x561dc8
jmp 0x561dd6
mov edx, dword [ebp - 4]
and dword [edx + 0x28], 0
mov ecx, 0x20000
jmp 0x561de9
mov edx, dword [ebp - 4]
and dword [edx + 0x28], 0
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
mov dword [edx + 0x20], ecx
and dword [edx + 0x24], 0
mov dword [edx + 8], ebx
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x14], edi
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x5bd488]
mov eax, dword [ebp - 4]
add ebx, ecx
mov byte [eax + 0x30], 8
jmp 0x56202f
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
jmp 0x561e37
or ecx, 0x20000
mov edx, dword [ebp - 4]
mov dword [edx + 0x20], ecx
mov edi, dword [edx + 0x20]
mov ecx, ebx
push 2
mov dword [ebp - 0x14], edi
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x5bd488]
pop eax
add ebx, ecx
mov byte [edx + 0x30], al
jmp 0x56202f
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl esi, 8
or esi, eax
add esi, dword [edi + 0x58]
cmp esi, dword [edi + 0x58]
jne 0x561e75
xor ecx, ecx
jmp 0x561e82
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov ebx, dword [ebp - 4]
or edx, 0xffffffff
cmp dword [ebx + 0x44], edx
je 0x561ec9
mov eax, dword [ebx + 0x4c]
cmp eax, edx
je 0x561ec9
mov ebx, dword [edi + 0x10]
mov edi, ecx
or edi, 0x40000
add eax, ebx
mov edx, eax
sub edx, dword [ebp + 0x1c]
cmp dword [eax + 0x1c], edi
je 0x561eba
mov eax, dword [edx + 0x4c]
or edx, 0xffffffff
cmp eax, edx
jne 0x561e9f
mov ebx, dword [ebp - 4]
jmp 0x561ec9
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [edx + 0x38]
je 0x562182
or ecx, 0x40000
mov dword [ebx + 4], esi
mov dword [ebx + 0x20], ecx
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x14], edi
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x5bd488]
mov eax, dword [ebp - 4]
add ebx, ecx
mov byte [eax + 0x30], 0xb
jmp 0x56202f
mov edx, dword [ebp - 4]
or ecx, 0x20000
mov dword [edx + 0x20], ecx
mov edi, dword [edx + 0x20]
mov ecx, ebx
mov dword [ebp - 0x14], edi
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x5bd488]
add ebx, ecx
mov byte [edx + 0x30], 3
jmp 0x56202f
mov edx, dword [ebp - 4]
or ecx, 0x20000
mov dword [edx + 0x20], ecx
mov edi, dword [edx + 0x20]
mov ecx, ebx
mov dword [ebp - 0x14], edi
movzx eax, byte [ecx]
movzx ebx, byte [eax + 0x5bd488]
add ebx, ecx
mov byte [edx + 0x30], 4
jmp 0x56202f
mov edx, dword [ebp - 4]
lea eax, [ebx + 2]
mov dword [edi + 0x78], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x5bd488]
mov byte [edx + 0x30], 0xc
jmp 0x56202b
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x5bd488]
add ebx, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd
jmp 0x56202f
mov edx, dword [ebp - 4]
lea eax, [ebx + 2]
mov dword [edi + 0x78], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x5bd488]
mov byte [edx + 0x30], 0x24
jmp 0x56202b
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x5bd488]
add ebx, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xe
jmp 0x56202f
mov edx, dword [ebp - 4]
lea eax, [ebx + 2]
mov dword [edi + 0x78], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x5bd488]
mov byte [edx + 0x30], 0xf
jmp 0x56202b
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x5bd488]
add ebx, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x10
jmp 0x56202f
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x5bd488]
add ebx, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x12
jmp 0x56202f
mov edx, dword [ebp - 4]
lea eax, [ebx + 2]
mov dword [edi + 0x78], eax
mov dword [edx + 0x40], eax
mov ecx, dword [edx]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
movzx eax, byte [eax + 0x5bd488]
mov byte [edx + 0x30], 0x13
add eax, ecx
add ebx, eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp + 0x1c]
add esi, eax
mov dword [ebp - 0x10], esi
cmp esi, dword [edi + 0x14]
jb 0x5620d1
mov ecx, dword [edi + 0xc]
lea esi, [ecx + ecx]
mov eax, esi
shr eax, 0xa
cmp eax, dword [edi + 0x1c]
jbe 0x56206d
mov esi, dword [edi + 0x1c]
xor edx, edx
shl esi, 0xa
mov eax, esi
div dword [ebp + 0x1c]
sub esi, edx
cmp ecx, esi
jae 0x562186
push dword [edi + 8]
push esi
call dword [edi]
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x56218a
mov eax, dword [ebp + 0x20]
push dword [eax + 0xc]
push dword [eax + 0x10]
push edi
call fcn.00568520
mov eax, dword [ebp + 0x20]
add esp, 0xc
mov edx, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov eax, edi
sub eax, ecx
add edx, eax
mov eax, dword [ebp + 0x1c]
add eax, edx
mov dword [ebp - 4], edx
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
je 0x5620bf
push dword [edx + 8]
push ecx
call dword [edx + 4]
mov edx, dword [ebp + 0x20]
pop ecx
pop ecx
lea eax, [edi + esi]
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 4]
mov dword [edx + 0xc], esi
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x2c]
add eax, 0x38
push eax
lea eax, [esi + 0x38]
push eax
call fcn.00568520
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 4], esi
mov eax, dword [eax + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov eax, esi
mov esi, dword [ebp - 8]
jmp 0x5566be
mov eax, edi
mov dword [eax + 0x68], ecx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x48], eax
mov eax, dword [ebx + 0x40]
mov dword [ecx + 0x74], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x562120
mov dword [ecx + 0x70], eax
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x5c]
mov edi, dword [ebp + 0x10]
movzx esi, word [ebp + 0x18]
inc esi
mov dword [edi], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x5c]
mov dword [edi + 4], eax
movzx eax, word [ebp + 0x14]
cmp esi, eax
cmova esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 8]
push eax
call fcn.00568520
mov eax, dword [ebx + 0x50]
add esp, 0xc
dec esi
push 2
pop edx
add eax, edx
cmp esi, eax
jb 0x562179
or eax, 0xffffffff
mov dword [edi + esi*4], eax
dec esi
mov ecx, dword [ebx + 0x50]
add ecx, edx
cmp esi, ecx
jae 0x56216c
xor eax, eax
inc eax
jmp 0x562195
mov eax, esi
jmp 0x562195
push 0xffffffffffffffcc
jmp 0x562194
push 0xffffffffffffffc1
jmp 0x562194
push 0xffffffffffffffd0
jmp 0x562194
push 0xffffffffffffffd4
jmp 0x562194
push 0xffffffffffffffd1
pop eax
pop edi
pop esi
pop ebx
leave
ret