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

Disassembly:
sub esp, 0x150
mov eax, dword [0x593ee8]
xor eax, esp
mov dword [esp + 0x14c], eax
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x164]
xor edx, edx
cmp ecx, edx
push esi
mov esi, dword [esp + 0x158]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
jne 0x536377
cmp dword [esp + 0x170], edx
lea eax, [esp + 0x170]
jne 0x536353
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.005362d0
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.0054743a
add esp, 0x150
ret 0x1c
sub eax, esi
cmp eax, edx
jle 0x54329d
neg eax
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.0054743a
add esp, 0x150
ret 0x1c
mov ecx, dword [eax + 0x4c]
push ebx
mov dword [esp + 0x18], ecx
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
push ebp
push edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edx
jae 0x540198
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x17c]
cmp ecx, dword [eax + 8]
jae 0x5401a5
cmp dword [eax + 0x98], 2
jne 0x5363d0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], ecx
mov dword [eax + 0x98], edx
lea esp, [esp]
mov edx, dword [esp + 0x14]
mov al, byte [edx]
movzx ebx, al
xor ebp, ebp
cmp ebx, 0xa1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], ebx
ja case.0x5363fa.98
movzx ecx, byte [ebx + 0x543404]
jmp dword [ecx*4 + 0x5432b8]
mov edi, dword [esp + 0x10]
add dword [edi + 0x28], 1
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x5403c6
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x570830]
movzx eax, byte [edx + 1]
add eax, edx
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x5363d0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], ecx
jmp 0x536450
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push ebx
push edi
push eax
push ebp
add ecx, 3
push ecx
push esi
call fcn.005362d0
cmp eax, 1
je 0x5364d2
cmp eax, 0xfffffc20
jne 0x5364a7
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x54329a
cmp byte [edx], 0x77
je 0x5364b3
cmp byte [ecx], 0x77
jne 0x54329a
jmp 0x5364b3
test eax, eax
jne 0x54329a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
mov dword [edi + 0xac], ecx
add edx, eax
cmp byte [edx], 0x77
mov dword [esp + 0x14], edx
je 0x536450
jmp 0x5364dd
mov ebp, dword [edi + 0x7c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov al, byte [edx]
cmp al, 0x82
je 0x5364f0
cmp al, 0x77
jne case.0x543130.14
jmp 0x5364f0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je 0x5364f0
cmp byte [edx], 0x78
mov eax, dword [edi + 0x8c]
mov esi, dword [edi + 0x80]
mov dword [esp + 0x14], edx
mov dword [esp + 0x170], eax
je 0x536525
cmp esi, dword [esp + 0x3c]
jne 0x53fc5b
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov dword [esp + 0x34], ebp
jmp 0x537004
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub eax, dword [edi + 0x70]
mov edx, dword [edi + 0x90]
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
lea ebx, [ebx]
cmp dword [esp + 0x40], 0x88
jb 0x536584
mov dword [edi + 0x98], 2
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
add eax, 1
push eax
mov eax, dword [esp + 0x18]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x570830]
push edi
push ebx
push ebp
add ecx, eax
push ecx
push esi
call fcn.005362d0
cmp eax, 0xfffffc1a
jne 0x537108
mov eax, dword [edi + 0x70]
add eax, dword [esp + 0x38]
cmp esi, dword [edi + 0x80]
mov ebx, dword [edi + 0x8c]
mov ebp, dword [edi + 0x7c]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], ebp
je 0x537164
mov esi, dword [edi + 0x80]
jmp 0x536570
xor ecx, ecx
mov ch, byte [edx + 1]
add edx, 3
cmp byte [edx], 0x76
mov dword [esp + 0x14], edx
mov cl, byte [edx - 1]
mov dword [esp + 0x38], ecx
jne 0x536704
mov ecx, dword [0x595260]
cmp ecx, ebp
mov ebp, dword [esp + 0x10]
je 0x5366f1
mov dword [esp + 0x74], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x88], eax
mov eax, esi
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x8c], eax
xor eax, eax
mov ah, byte [edx + 2]
mov al, byte [edx + 3]
mov dword [esp + 0x9c], eax
xor eax, eax
mov ah, byte [edx + 4]
mov al, byte [edx + 5]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x90], eax
mov edx, dword [ebp + 0x90]
and edx, 0xffff
mov dword [esp + 0x94], edx
jne 0x5366be
mov dword [esp + 0x94], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x98], eax
mov edx, dword [ebp + 0xb0]
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0xa8], edx
call ecx
test eax, eax
jg case.0x543130.14
jl 0x54329a
mov edx, dword [esp + 0x14]
movzx eax, byte [0x5708a6]
add edx, eax
sub dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
jmp 0x536708
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx]
mov dword [esp + 0x4c], eax
add eax, 0xffffff73
xor ebx, ebx
cmp eax, 0x10
ja case.0x53672a.146
movzx edx, byte [eax + 0x5434c0]
jmp dword [edx*4 + 0x5434a8]
cmp dword [ebp + 0xa4], 0
je case.0x53672a.145
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov eax, ecx
cmp eax, 0xffff
je 0x53684a
mov edx, dword [ebp + 0xa4]
cmp eax, dword [edx + 4]
je 0x53684a
xor ebx, ebx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
add ecx, eax
test ebx, ebx
mov dword [esp + 0x14], ecx
jne 0x536780
cmp byte [ecx - 3], 0x77
jne 0x5363d0
cmp dword [esp + 0x40], 0x8c
jne 0x53f973
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x17c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push ebp
push eax
push edx
push ecx
push esi
call fcn.005362d0
jmp 0x54329a
cmp dword [ebp + 0xa4], 0
je case.0x53672a.145
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov ch, byte [eax + 3]
mov dl, byte [eax + 2]
mov cl, byte [eax + 4]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov edi, ecx
test edi, edi
mov eax, edx
jle case.0x53672a.145
mov ecx, dword [ebp + 0xa4]
mov ecx, dword [ecx + 4]
jmp 0x536800
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ebx, ebx
sub edi, 1
cmp edx, ecx
sete bl
test ebx, ebx
jne 0x53684f
add eax, dword [ebp + 0x24]
test edi, edi
jg 0x536800
jmp case.0x53672a.145
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, ecx
mov eax, ecx
cmp eax, dword [esp + 0x170]
jge 0x536762
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jl 0x536762
mov ebx, 1
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x570830]
jmp 0x536768
mov edi, dword [esp + 0x14]
xor eax, eax
mov ah, byte [edi + 1]
xor edx, edx
mov dh, byte [edi + 3]
mov al, byte [edi + 2]
mov dl, byte [edi + 4]
imul eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x30]
test edx, edx
jle case.0x53672a.145
xor ebx, ebx
xor ecx, ecx
mov ch, byte [eax]
sub edx, 1
mov cl, byte [eax + 1]
add ecx, ecx
cmp ecx, dword [esp + 0x170]
jge 0x5368a2
mov edi, dword [ebp + 0xc]
cmp dword [edi + ecx*4], 0
jge 0x53684a
add eax, dword [ebp + 0x24]
test edx, edx
jg 0x536884
jmp case.0x53672a.145
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov dword [ebp + 0x98], 1
mov eax, dword [esp + 0x17c]
add eax, 1
push eax
push 0
push ebp
push ecx
push edx
push edi
push esi
call fcn.005362d0
cmp eax, 1
jne 0x536947
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x170]
jle 0x5368f9
mov dword [esp + 0x170], eax
cmp byte [edi], 0x92
mov ebx, 1
jne 0x536905
add edi, ebx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
jne 0x536923
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add edi, ecx
cmp byte [edi], 0x77
je 0x536914
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x570830]
mov ecx, 3
sub ecx, eax
movzx eax, byte [edx + 0x570830]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x536768
test eax, eax
je case.0x53672a.145
cmp eax, 0xfffffc20
jne 0x54329a
jmp case.0x53672a.145
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
mov edi, eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff0000
or eax, edi
lea edx, [edi + edi]
mov dword [ecx + 0x90], eax
cmp edx, dword [ecx + 0x14]
jl 0x5369a3
or eax, 0x10000
add ebx, 3
mov dword [ecx + 0x90], eax
mov dword [esp + 0x14], ebx
jmp 0x5363d0
mov ebp, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
sub ebp, edi
mov edi, dword [eax + ebp*4]
mov dword [eax + edx*4], edi
mov edi, dword [ecx + 0xc]
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [edi + edx*4 + 4], eax
mov eax, dword [esp + 0x170]
cmp edx, eax
jl 0x5369ef
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + eax*4]
lea ecx, [ecx + edx*4]
cmp edi, ecx
jae 0x5369e5
sub ecx, edi
sub ecx, 1
shr ecx, 2
add ecx, 1
or eax, 0xffffffff
rep stosd dword es:[edi], eax
add edx, 2
mov dword [esp + 0x170], edx
add ebx, 3
mov dword [esp + 0x14], ebx
jmp 0x5363d0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x536a22
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x536a26
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, edi
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x170]
add edx, 1
push edx
push 0
push edi
push eax
push ebp
lea ecx, [ebx + 3]
push ecx
push esi
call fcn.005362d0
cmp eax, 1
je 0x536aa4
cmp eax, 0xfffffc19
je 0x536aa4
cmp eax, 0xfffffc20
mov edx, dword [esp + 0x30]
mov dword [edi + 0xac], edx
jne 0x536a8b
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54329a
cmp byte [ebx], 0x77
je 0x536a93
cmp byte [ecx], 0x77
jmp 0x536a8d
test eax, eax
jne 0x54329a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
je 0x536a30
jmp 0x536aab
mov ecx, dword [edi + 0x7c]
mov dword [esp + 0x28], ecx
cmp byte [ebx], 0x78
je case.0x543130.14
cmp dword [esp + 0x38], 0
jne 0x540672
nop
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x77
je 0x536ac0
mov eax, dword [edi + 0x8c]
add ebx, 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x170], eax
jmp 0x5363d0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x536b0f
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x536b13
mov dword [esp + 0x38], ebp
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x28]
mov edi, edi
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x14]
add edx, 1
push edx
push 0
push edi
push ebx
push ebp
add eax, 3
push eax
push esi
call fcn.005362d0
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x30]
mov dword [edi + 0xac], ecx
jg 0x536b70
jne 0x536b94
mov ecx, dword [esp + 0x14]
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
add eax, ecx
cmp dword [edi + 0x7c], eax
jae 0x536bc0
cmp byte [ecx], 0x77
je 0x536b7b
cmp byte [eax], 0x77
jne 0x536bb5
jmp 0x536b7b
mov ecx, eax
sub ecx, 0
jne 0x54018a
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
mov dword [esp + 0x14], eax
je 0x536b20
jmp 0x536bd3
cmp eax, 0xfffffc19
je case.0x543130.14
cmp eax, 0xfffffc1b
jle 0x54329a
cmp eax, 0xfffffc1f
jg 0x54329a
mov ecx, dword [esp + 0x14]
lea esp, [esp]
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx + 2]
add ecx, eax
cmp byte [ecx], 0x77
je 0x536bc0
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x38], 0
jne 0x540672
add dword [esp + 0x14], 3
jmp 0x5363d0
mov edi, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x20], ebp
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
je 0x536c34
cmp eax, ebp
jle 0x536c3f
mov ebp, dword [edi + 0x74]
sub esi, 1
sub eax, 1
cmp esi, ebp
jb case.0x543130.14
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x536c2e
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x536c20
test eax, eax
jg 0x536c01
jmp 0x536c3f
sub esi, eax
cmp esi, dword [edi + 0x74]
jb case.0x543130.14
cmp esi, dword [edi + 0x84]
jae 0x536c4d
mov dword [edi + 0x84], esi
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ebx, dword [0x595260]
cmp ebx, ebp
mov edi, dword [esp + 0x14]
je 0x536d42
mov dword [esp + 0xa8], 2
movzx ecx, byte [edi + 1]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + 0x74]
mov dword [esp + 0xb4], eax
mov edx, dword [ecx + 0x78]
sub edx, dword [ecx + 0x74]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb8], edx
sub eax, dword [ecx + 0x74]
mov edx, esi
mov dword [esp + 0xbc], eax
sub edx, dword [ecx + 0x74]
xor eax, eax
mov dword [esp + 0xc0], edx
mov ah, byte [edi + 2]
xor edx, edx
mov al, byte [edi + 3]
mov dword [esp + 0xd0], eax
mov dh, byte [edi + 4]
mov eax, dword [esp + 0x170]
mov dl, byte [edi + 5]
mov dword [esp + 0xd4], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 0x90]
and eax, 0xffff
mov dword [esp + 0xc8], eax
jne 0x536d10
mov dword [esp + 0xc8], 0xffffffff
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0xcc], edx
mov eax, dword [ecx + 0xb0]
lea ecx, [esp + 0xa8]
push ecx
mov dword [esp + 0xdc], eax
call ebx
test eax, eax
jg case.0x543130.14
jl 0x54329a
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x5363d0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
xor ebx, ebx
mov bh, byte [edx + 1]
xor ecx, ecx
mov bl, byte [edx + 2]
add ebx, dword [ebp + 0x70]
cmp ebx, dword [ebp + 0x70]
je 0x536d6e
mov ch, byte [ebx + 3]
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x536d8c
cmp ecx, dword [eax + 4]
jne 0x536d86
cmp esi, dword [eax + 0x14]
je 0x5405e5
mov eax, dword [eax]
test eax, eax
jne 0x536d78
mov dword [esp + 0x58], ecx
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], esi
mov ecx, dword [ebp + 0xa4]
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov ecx, dword [ebp + 0x10]
add edx, 3
cmp ecx, 0x1e
mov dword [esp + 0x14], edx
mov dword [esp + 0x60], ecx
jg 0x536dd2
lea eax, [esp + 0xdc]
mov dword [esp + 0x5c], eax
jmp 0x536ded
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x593e3c]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x5405ef
mov ecx, dword [esp + 0x60]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.005477c0
add esp, 0xc
cmp byte [ebx], 0x88
sbb eax, eax
add eax, 1
mov dword [esp + 0x38], eax
mov edi, edi
test eax, eax
je 0x536e1e
mov dword [ebp + 0x98], 2
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x170]
add edx, 1
push edx
mov edx, dword [esp + 0x2c]
push eax
movzx eax, byte [ebx]
push ebp
push ecx
movzx ecx, byte [eax + 0x570830]
push edx
add ecx, ebx
push ecx
push esi
call fcn.005362d0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edi, eax
lea eax, [edx*4]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
call fcn.005477c0
mov eax, dword [esp + 0x70]
mov dword [ebp + 0x90], eax
mov ecx, dword [esp + 0x60]
add esp, 0xc
cmp edi, 1
mov dword [ebp + 0xa4], ecx
je 0x536ed1
cmp edi, 0xfffffc19
je 0x536ed1
cmp edi, 0xfffffc1c
jl 0x536ea3
cmp edi, 0xfffffc20
jle 0x540620
test edi, edi
jne 0x5405f9
xor eax, eax
lea edx, [esp + 0x54]
mov dword [ebp + 0xa4], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
jne 0x540616
mov eax, dword [esp + 0x38]
jmp 0x536e10
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x536ee7
push eax
call dword [0x593e40]
mov edx, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov dword [esp + 0x28], edx
jmp 0x5363d0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je case.0x5363fa.119
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
add edi, 1
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
je 0x536f50
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5363d0
lea edi, [edx + 1]
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x77
je 0x536f70
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
add edx, 1
push edx
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x34]
push ecx
push edx
add eax, 3
push eax
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov dword [esp + 0x14], edi
jmp 0x5363d0
lea eax, [edx + 1]
nop
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x77
je 0x536fc0
add eax, 3
mov dword [esp + 0x14], eax
jmp 0x5363d0
movzx eax, byte [edx + 1]
add edx, 1
cmp eax, 0x86
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], 1
je 0x537004
cmp eax, 0x8b
jne 0x53653e
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x38], edx
jge 0x536542
mov ebp, eax
mov eax, dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
sub ebp, dword [edi + 0x70]
mov dword [esp + 0x50], ecx
mov ecx, dword [edi + 0x10]
sub ecx, edx
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0x90]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], eax
lea ecx, [ecx]
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x38]
mov eax, dword [edi + 0xc]
mov ecx, esi
sub ecx, dword [edi + 0x74]
cmp dword [esp + 0x40], 0x88
mov dword [eax + edx*4], ecx
jb 0x537086
mov dword [edi + 0x98], 2
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
add ecx, 1
push ecx
push edx
push edi
push eax
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x570830]
push ebx
add edx, eax
push edx
push esi
call fcn.005362d0
cmp eax, 0xfffffc1a
jne 0x5371a3
mov eax, dword [edi + 0x8c]
mov ecx, dword [edi + 0x90]
mov ebx, dword [edi + 0x7c]
mov dword [esp + 0x170], eax
mov eax, dword [edi + 0x70]
add eax, ebp
cmp esi, dword [edi + 0x80]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x28], ebx
je 0x537250
mov esi, dword [edi + 0x80]
jmp 0x537060
cmp eax, 0xfffffc20
jne 0x537136
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x54329a
cmp byte [edx], 0x77
je 0x537142
cmp byte [ecx], 0x77
jne 0x54329a
jmp 0x537142
test eax, eax
jne 0x54329a
mov edx, dword [esp + 0x14]
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
mov dword [esp + 0x14], edx
jne 0x537185
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
jmp 0x536570
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x537164
mov edx, eax
add edx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], edx
jmp 0x5363d0
cmp dword [esp + 0x30], 0
jne 0x537197
cmp dword [esp + 0x34], 0
je case.0x543130.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5363d0
cmp eax, 0xfffffc20
jne 0x5371d1
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x54329a
cmp byte [edx], 0x77
je 0x5371dd
cmp byte [ecx], 0x77
jne 0x54329a
jmp 0x5371dd
test eax, eax
jne 0x54329a
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [edi + 0x90], eax
mov ch, byte [edx + 1]
mov cl, byte [edx + 2]
add edx, ecx
cmp byte [edx], 0x77
mov dword [esp + 0x14], edx
je 0x537060
cmp dword [esp + 0x30], 0
jne 0x537230
mov ebx, dword [edi + 0xc]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x24]
lea eax, [ecx + ecx]
mov dword [ebx + eax*4], ebp
mov ebx, dword [edi + 0xc]
mov ebp, dword [esp + 0x50]
mov dword [ebx + eax*4 + 4], ebp
mov eax, dword [edi + 0x10]
sub eax, ecx
mov ecx, dword [edi + 0xc]
mov edi, dword [esp + 0x2c]
mov dword [ecx + eax*4], edi
cmp dword [esp + 0x34], 0
jne 0x537242
cmp dword [esp + 0x30], 0
je case.0x543130.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x5363d0
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x537250
mov dword [esp + 0x14], eax
mov edx, eax
jmp 0x537230
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
mov al, byte [ecx]
cmp al, 0x88
mov dword [esp + 0x40], ecx
jae 0x53728d
cmp al, 0x81
je 0x53728d
mov dword [esp + 0x3c], 0
jmp 0x53729e
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x1c], edx
cmp al, 0x7d
jb 0x5372aa
cmp al, 0x80
jbe 0x54063d
cmp al, 0x82
je 0x54063d
cmp al, 0x85
je 0x5372c6
cmp al, 0x8a
je 0x5372c6
cmp al, 0x86
je 0x5372c6
cmp al, 0x8b
jne 0x53736c
mov ebp, dword [esp + 0x10]
xor eax, eax
cmp dword [ebp + 0xa4], 0
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov ecx, eax
mov dword [esp + 0x38], ecx
lea edx, [ecx + ecx]
je 0x5372f3
mov eax, dword [ebp + 0xa4]
cmp dword [eax + 4], ecx
je 0x540665
mov eax, dword [ebp + 0x90]
mov ebx, dword [esp + 0x170]
and eax, 0xffff0000
or eax, ecx
mov dword [ebp + 0x90], eax
cmp edx, dword [ebp + 0x14]
jl 0x53731f
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x537377
cmp edx, ebx
jle 0x537340
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x537340
sub ecx, edi
sub ecx, 1
shr ecx, 2
add ecx, 1
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, dword [esp + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp + 0xc]
mov eax, esi
sub eax, dword [ebp + 0x74]
cmp ebx, edx
mov dword [ecx + edx*4 + 4], eax
jg 0x537377
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
jmp 0x537377
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x54067c
cmp al, 0x78
je 0x537393
cmp esi, dword [esp + 0x3c]
jne 0x53fe85
mov edi, dword [esp + 0x40]
add ecx, 3
cmp byte [edi], 0x81
je 0x540733
mov dword [esp + 0x14], ecx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x5373c4
cmp esi, dword [eax + 0x74]
je case.0x543130.14
jmp 0x5373c4
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x5373eb
cmp esi, dword [eax + 0x74]
je case.0x543130.14
mov edx, dword [eax + 0x74]
cmp esi, edx
je 0x537461
cmp esi, dword [eax + 0x78]
je case.0x543130.14
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x537430
cmp esi, edx
jbe case.0x543130.14
mov edx, dword [esp + 0x20]
push edx
lea edx, [eax + 0x1c]
mov eax, dword [eax + 0x74]
push edx
push eax
push ecx
push esi
call fcn.00544c90
test eax, eax
je case.0x543130.14
add dword [esp + 0x14], 1
jmp 0x5363d0
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x74]
add ecx, edx
cmp esi, ecx
jb case.0x543130.14
mov ecx, esi
sub ecx, edx
mov dl, byte [ecx]
cmp dl, byte [eax + 0x34]
jne case.0x543130.14
cmp dword [eax + 0x1c], 1
je 0x537461
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x35]
jne case.0x543130.14
add dword [esp + 0x14], 1
jmp 0x5363d0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
add ecx, dword [eax + 0x74]
cmp esi, ecx
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
add edx, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x53750f
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x5374d8
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [edi + 0x78]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00544ad0
test eax, eax
je 0x540769
mov edx, dword [esp + 0x14]
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x540769
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x540769
cmp dword [edi + 0x1c], 1
je 0x53753c
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x54076b
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
cmp dword [edi + 0x48], ebp
jne case.0x543130.14
cmp dword [edi + 0x88], ebp
je 0x53753c
cmp esi, dword [edi + 0x84]
jbe 0x53753c
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x543287
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x48], ebp
jne case.0x543130.14
cmp dword [edi + 0x58], ebp
je 0x53756f
jmp 0x537560
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jb case.0x543130.14
jmp 0x537518
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5375d6
mov eax, dword [edi + 0x18]
cmp eax, ebp
lea ebp, [edi + 0x1c]
je 0x53759d
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x78]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00544ad0
test eax, eax
je 0x5407b4
mov edx, dword [esp + 0x14]
jmp 0x5375c8
mov eax, dword [edi + 0x78]
sub eax, dword [ebp]
cmp esi, eax
ja 0x5407b4
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x5407b4
cmp dword [ebp], 1
je 0x5375c8
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x5407b4
mov ecx, dword [edi + 0x78]
sub ecx, dword [ebp]
cmp esi, ecx
jne 0x5407b4
cmp dword [edi + 0x88], 0
jmp 0x53751e
cmp dword [esp + 0x20], ebp
je 0x5378c0
mov ebp, dword [esp + 0x10]
cmp esi, dword [ebp + 0x74]
je 0x537747
mov dl, byte [esi - 1]
lea eax, [esi - 1]
and dl, 0xc0
cmp dl, 0x80
jne 0x537615
mov cl, byte [eax - 1]
sub eax, 1
and cl, 0xc0
cmp cl, 0x80
je 0x537607
cmp eax, dword [ebp + 0x84]
jae 0x537623
mov dword [ebp + 0x84], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x5376d3
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x20
jne 0x53764b
and ecx, 0x1f
shl ecx, 6
or ecx, edx
jmp 0x5376d3
test cl, 0x10
jne 0x53765f
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x5376c7
test cl, 8
jne 0x537676
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x5376c1
test cl, 4
jne 0x537699
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
jmp 0x5376c1
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl edx, 6
and ecx, 0x3f
or edx, ecx
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, edx
cmp dword [ebp + 0x54], 0
je 0x53772f
cmp ecx, 0x5f
jne 0x5376e3
lea edi, [ecx - 0x5e]
jmp 0x537749
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x537705
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
mov eax, dword [ecx*4 + 0x570a08]
cmp eax, 1
je 0x537728
cmp eax, 3
jne 0x537747
mov edi, 1
jmp 0x537749
cmp ecx, 0x100
jae 0x537747
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x537747
mov edi, 1
jmp 0x537749
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x53777a
cmp dword [ebp + 0x88], 0
je 0x537773
cmp esi, dword [ebp + 0x84]
jbe 0x537773
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x543287
xor eax, eax
jmp 0x5379f6
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x53783e
test cl, 0x20
jne 0x5377a2
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x53783e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x5377c9
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x53783e
test cl, 8
jne 0x5377dc
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x53782e
and eax, 0x3f
test cl, 4
jne 0x53780d
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x53783e
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp dword [ebp + 0x54], 0
je 0x53789d
cmp ecx, 0x5f
jne 0x537851
lea eax, [ecx - 0x5e]
jmp 0x5379f6
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x537873
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
mov eax, dword [ecx*4 + 0x570a08]
cmp eax, 1
je 0x5378b6
cmp eax, 3
je 0x5378b6
xor eax, eax
jmp 0x5379f6
cmp ecx, 0x100
jae 0x53797b
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x53797b
mov eax, 1
jmp 0x5379f6
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x74]
jne 0x5378d0
xor edi, edi
jmp 0x537951
cmp esi, dword [ecx + 0x84]
ja 0x5378e1
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
cmp dword [ecx + 0x54], 0
je 0x537940
movzx edi, byte [esi - 1]
cmp edi, 0x5f
jne 0x5378f7
mov edi, 1
jmp 0x537951
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and edi, 0x8000007f
jns 0x537919
dec edi
or edi, 0xffffff80
inc edi
add edx, edi
movzx eax, word [edx*2 + 0x574d48]
movzx edx, byte [eax*8 + 0x5714c9]
mov eax, dword [edx*4 + 0x570a08]
cmp eax, 1
je 0x5378f0
cmp eax, 3
je 0x5378f0
xor edi, edi
jmp 0x537951
movzx edx, byte [esi - 1]
mov eax, dword [ecx + 0x40]
movzx edi, byte [edx + eax]
shr edi, 4
and edi, 1
cmp esi, dword [ecx + 0x78]
jb 0x537982
cmp dword [ecx + 0x88], 0
je 0x53797b
cmp esi, dword [ecx + 0x84]
jbe 0x53797b
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x543287
xor eax, eax
jmp 0x5379f6
cmp dword [ecx + 0x54], 0
je 0x5379e6
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x537995
lea eax, [ecx - 0x5e]
jmp 0x5379f6
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x5379b7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x574d48]
movzx edx, byte [ecx*8 + 0x5714c9]
mov eax, dword [edx*4 + 0x570a08]
cmp eax, 1
je 0x5378b6
cmp eax, 3
je 0x5378b6
xor eax, eax
jmp 0x5379f6
mov eax, dword [ecx + 0x40]
movzx ecx, byte [esi]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
add ecx, 1
cmp dl, 5
mov dword [esp + 0x14], ecx
jne 0x537a13
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x537a1c
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x5363d0
xor eax, eax
jmp 0x54329a
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x537a5f
cmp esi, dword [edi + 0x78]
jae 0x537a86
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [edi + 0x78]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne case.0x543130.14
mov edx, dword [esp + 0x14]
xor ebp, ebp
jmp 0x537a86
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x537a86
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x537a86
cmp dword [edi + 0x1c], 1
je case.0x543130.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x543130.14
cmp dword [edi + 0x88], ebp
je 0x537ac2
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb 0x537ac2
cmp dword [edi + 0x18], ebp
jne 0x537ac2
cmp dword [edi + 0x1c], 2
jne 0x537ac2
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x537ac2
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x543287
jmp 0x537ac2
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x540d47
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53753c
cmp esi, eax
jae 0x53753c
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53753c
add esi, 1
cmp esi, eax
jb 0x537ae2
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x54080a
add esi, 1
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5407ff
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x537c1d
cmp eax, 0xc0
jb 0x537c1d
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x537b61
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x537c1d
test al, 0x10
jne 0x537b81
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x537c1d
test al, 8
jne 0x537bad
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x537c1d
test al, 4
jne 0x537be2
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x537c1d
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0x100
jae 0x53753c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5407ff
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x537d3f
cmp eax, 0xc0
jb 0x537d3f
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x537c83
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x537d3f
test al, 0x10
jne 0x537ca3
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x537d3f
test al, 8
jne 0x537ccf
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x537d3f
test al, 4
jne 0x537d04
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x537d3f
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xff
ja case.0x543130.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
je case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5407ff
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x537e61
cmp eax, 0xc0
jb 0x537e61
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x537da5
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x537e61
test al, 0x10
jne 0x537dc5
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x537e61
test al, 8
jne 0x537df1
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x537e61
test al, 4
jne 0x537e26
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x537e61
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0x100
jae 0x53753c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5407ff
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x537f83
cmp eax, 0xc0
jb 0x537f83
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x537ec7
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x537f83
test al, 0x10
jne 0x537ee7
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x537f83
test al, 8
jne 0x537f13
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x537f83
test al, 4
jne 0x537f48
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x537f83
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xff
ja case.0x543130.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
je case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5407ff
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5380a5
cmp eax, 0xc0
jb 0x5380a5
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x537fe9
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x5380a5
test al, 0x10
jne 0x538009
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x5380a5
test al, 8
jne 0x538035
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x5380a5
test al, 4
jne 0x53806a
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x5380a5
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0x100
jae 0x53753c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x5407ff
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5381c7
cmp eax, 0xc0
jb 0x5381c7
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53810b
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x5381c7
test al, 0x10
jne 0x53812b
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x5381c7
test al, 8
jne 0x538157
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x5381c7
test al, 4
jne 0x53818c
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x5381c7
and eax, 1
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xff
ja case.0x543130.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
je case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
cmp esi, edi
jae 0x5407ff
movzx eax, byte [esi]
mov ebp, 1
add esi, ebp
cmp dword [esp + 0x20], 0
je 0x5382ee
cmp eax, 0xc0
jb 0x5382ee
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x538233
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, ebp
jmp 0x5382ee
test al, 0x10
jne 0x538253
and eax, 0xf
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 2
jmp 0x5382ee
test al, 8
jne 0x53827f
and eax, 7
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 3
jmp 0x5382ee
test al, 4
jne 0x5382b4
and eax, 3
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 4
jmp 0x5382ee
and eax, ebp
shl eax, 6
or eax, ebx
movzx ebx, byte [esi + 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi + 4]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add esi, 5
cmp eax, 0xd
ja 0x538346
je 0x538305
cmp eax, 0xa
je 0x53836d
jbe case.0x543130.14
cmp eax, 0xc
jmp 0x53835d
cmp esi, edi
jb 0x538334
cmp dword [ecx + 0x88], 0
je 0x53836d
cmp esi, dword [ecx + 0x84]
jbe 0x53836d
mov dword [ecx + 0x64], ebp
cmp dword [ecx + 0x88], ebp
jg 0x543287
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x5363d0
cmp byte [esi], 0xa
jne 0x53836d
add esi, ebp
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x5363d0
cmp eax, 0x85
je 0x538363
cmp eax, 0x2027
jbe case.0x543130.14
cmp eax, 0x2029
ja case.0x543130.14
cmp dword [ecx + 0x68], 0
jne case.0x543130.14
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x54080a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x538476
cmp eax, 0xc0
jb 0x538476
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5383ba
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x538476
test al, 0x10
jne 0x5383da
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x538476
test al, 8
jne 0x538406
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x538476
test al, 4
jne 0x53843b
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x538476
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x5384a5
je case.0x543130.14
cmp eax, 0xa0
ja 0x53849e
je case.0x543130.14
cmp eax, 9
je case.0x543130.14
cmp eax, 0x20
jmp 0x5384d4
cmp eax, 0x1680
jmp 0x5384d4
cmp eax, 0x205f
ja 0x5384cf
je case.0x543130.14
cmp eax, 0x2000
jb 0x53753c
cmp eax, 0x200a
jbe case.0x543130.14
cmp eax, 0x202f
jmp 0x5384d4
cmp eax, 0x3000
je case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x54080a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5385e4
cmp eax, 0xc0
jb 0x5385e4
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x538528
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x5385e4
test al, 0x10
jne 0x538548
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x5385e4
test al, 8
jne 0x538574
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x5385e4
test al, 4
jne 0x5385a9
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x5385e4
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x538613
je 0x53753c
cmp eax, 0xa0
ja 0x53860c
je 0x53753c
cmp eax, 9
je 0x53753c
cmp eax, 0x20
jmp 0x538642
cmp eax, 0x1680
jmp 0x538642
cmp eax, 0x205f
ja 0x53863d
je 0x53753c
cmp eax, 0x2000
jb case.0x543130.14
cmp eax, 0x200a
jbe 0x53753c
cmp eax, 0x202f
jmp 0x538642
cmp eax, 0x3000
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x54080a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x538752
cmp eax, 0xc0
jb 0x538752
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x538696
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x538752
test al, 0x10
jne 0x5386b6
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x538752
test al, 8
jne 0x5386e2
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x538752
test al, 4
jne 0x538717
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x538752
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x53876d
je case.0x543130.14
cmp eax, 0xa
jb 0x53753c
cmp eax, 0xd
jmp 0x53877d
cmp eax, 0x2028
jb 0x53753c
cmp eax, 0x2029
jbe case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x54080a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53888d
cmp eax, 0xc0
jb 0x53888d
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5387d1
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53888d
test al, 0x10
jne 0x5387f1
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53888d
test al, 8
jne 0x53881d
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x53888d
test al, 4
jne 0x538852
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x53888d
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x5388a8
je 0x53753c
cmp eax, 0xa
jb case.0x543130.14
cmp eax, 0xd
jmp 0x5388b8
cmp eax, 0x2028
jb case.0x543130.14
cmp eax, 0x2029
ja case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x54080a
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5389d9
cmp ecx, 0xc0
jb 0x5389d9
test cl, 0x20
jne 0x53890f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x5389d9
test cl, 0x10
jne 0x538936
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x5389d9
test cl, 8
jne 0x538969
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5389d9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x5389a5
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5389d9
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x5389fd
dec edx
or edx, 0xffffff80
inc edx
mov edi, dword [esp + 0x14]
add eax, edx
movzx edx, byte [edi + 1]
cmp edx, 0xa
movzx eax, word [eax*2 + 0x574d48]
lea eax, [eax*8 + 0x5714c8]
ja case.default.0x538a1f
jmp dword [edx*4 + 0x5434d4]
cmp ebx, 0xf
jmp 0x538c31
mov al, byte [eax + 1]
cmp al, 9
je 0x538a4e
cmp al, 5
je 0x538a4e
cmp al, 8
je 0x538a4e
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x538c31
xor ecx, ecx
cmp ebx, 0xf
sete cl
mov eax, 1
cmp eax, ecx
jmp 0x538c31
movzx edx, byte [eax + 1]
movzx eax, byte [edi + 2]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x570a08]
setne cl
xor edx, edx
cmp ebx, 0x10
sete dl
cmp ecx, edx
jmp 0x538c31
mov cl, byte [edi + 2]
xor edx, edx
cmp cl, byte [eax + 1]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x538c31
mov cl, byte [edi + 2]
xor edx, edx
cmp cl, byte [eax]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x538c31
movzx ecx, byte [eax + 1]
mov eax, dword [ecx*4 + 0x570a08]
cmp eax, 1
je 0x538c22
cmp eax, 3
je 0x538c22
xor eax, eax
jmp 0x538c27
cmp ecx, 0x180e
ja 0x538b1f
je case.0x538a1f.0
cmp ecx, 0x85
ja 0x538b0b
je case.0x538a1f.0
cmp ecx, 9
jb case.0x538b3f.8203
cmp ecx, 0xd
jbe case.0x538a1f.0
cmp ecx, 0x20
jmp 0x538b58
cmp ecx, 0xa0
je case.0x538a1f.0
cmp ecx, 0x1680
jmp 0x538b58
cmp ecx, 0x202f
ja 0x538b46
je case.0x538a1f.0
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x538b3f.8203
movzx ecx, byte [ecx + 0x543508]
jmp dword [ecx*4 + 0x543500]
cmp ecx, 0x205f
je case.0x538a1f.0
cmp ecx, 0x3000
je case.0x538a1f.0
movzx edx, byte [eax + 1]
xor eax, eax
cmp dword [edx*4 + 0x570a08], 6
sete al
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x538c31
movzx edx, byte [eax + 1]
mov eax, dword [edx*4 + 0x570a08]
cmp eax, 1
je 0x538a4e
cmp eax, 3
je 0x538a4e
cmp ecx, 0x5f
je 0x538a4e
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x538c31
movzx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x571388]
cmp ecx, eax
lea edx, [edx*4 + 0x571388]
jb 0x538bdd
jmp 0x538bd0
add edx, 4
cmp ecx, eax
je 0x538be2
mov eax, dword [edx]
cmp ecx, eax
jae 0x538bd0
cmp ebx, 0x10
jmp 0x538c31
cmp ebx, 0x10
jne case.0x543130.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5363d0
cmp ecx, 0x24
je 0x538c22
cmp ecx, 0x40
je 0x538c22
cmp ecx, 0x60
je 0x538c22
cmp ecx, 0xa0
jb 0x538c16
cmp ecx, 0xd7ff
jbe 0x538c22
cmp ecx, 0xe000
jae 0x538c22
xor eax, eax
jmp 0x538c27
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je case.0x543130.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5363d0
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x5410f9
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x538d54
cmp ecx, 0xc0
jb 0x538d54
test cl, 0x20
jne 0x538c8a
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x538d54
test cl, 0x10
jne 0x538cb1
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x538d54
test cl, 8
jne 0x538ce4
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x538d54
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x538d20
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x538d54
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x538d76
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x574d48]
movzx ebx, byte [eax*8 + 0x5714ca]
jae 0x538ed3
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x538e83
cmp ecx, 0xc0
jb 0x538e83
test cl, 0x20
jne 0x538dcb
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x538e81
test cl, 0x10
jne 0x538df5
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x538e83
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x538e18
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x538e73
and eax, 0x3f
test cl, 4
jne 0x538e4e
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x538e83
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x538ea5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714ca]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x570994], edx
je 0x538ed3
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x538d90
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x538f09
cmp esi, ebp
jb 0x538f09
cmp esi, dword [eax + 0x84]
jbe 0x538f09
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
add dword [esp + 0x14], ecx
jmp 0x5363d0
mov ecx, 1
add dword [esp + 0x14], ecx
jmp 0x5363d0
mov edx, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x40], 0x74
mov ebp, dword [esp + 0x10]
sete al
mov edi, dword [ebp + 0x50]
xor ecx, ecx
mov ch, byte [edx + 3]
add edx, 5
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], eax
xor eax, eax
mov ah, byte [edx - 4]
mov cl, byte [edx - 1]
mov al, byte [edx - 3]
imul eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x30]
neg edi
sbb edi, edi
neg edi
sub edi, 1
xor ebx, ebx
test ecx, ecx
jle 0x538fe8
movzx ebx, byte [eax + 1]
mov bh, byte [eax]
sub ecx, 1
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x538f7e
mov edx, dword [ebp + 0xc]
cmp dword [edx + ebx*4], 0
jge 0x538f8a
add eax, dword [ebp + 0x24]
test ecx, ecx
jg 0x538f61
jmp 0x538fe8
mov eax, edx
mov edi, dword [eax + ebx*4 + 4]
sub edi, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
jmp 0x538fe8
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
xor ecx, ecx
cmp dword [esp + 0x40], 0x72
sete cl
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ecx
mov bl, byte [eax - 1]
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x538fdc
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ebx*4]
test ecx, ecx
lea eax, [edx + ebx*4]
jl 0x538fdc
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x538fe8
mov edi, dword [ebp + 0x50]
neg edi
sbb edi, edi
neg edi
sub edi, 1
mov eax, dword [esp + 0x14]
mov cl, byte [eax]
movzx eax, cl
lea edx, [eax - 0x62]
cmp edx, 7
ja case.default.0x539004
movzx edx, byte [edx + 0x54353c]
jmp dword [edx*4 + 0x543534]
movsx ebp, byte [eax + 0x5707b6]
add dword [esp + 0x14], 1
add eax, 0xffffff9e
mov ecx, eax
movsx eax, byte [eax + 0x570824]
and ecx, 1
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x539075
mov dword [esp + 0x18], 0x7fffffff
jmp 0x539075
xor eax, eax
cmp cl, 0x69
sete al
xor ecx, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov ebp, ecx
xor ecx, ecx
mov ch, byte [eax + 3]
mov cl, byte [eax + 4]
test ecx, ecx
mov dword [esp + 0x18], ecx
jne 0x53906e
mov dword [esp + 0x18], 0x7fffffff
add eax, 5
mov dword [esp + 0x14], eax
test edi, edi
je 0x5363d0
jge 0x539087
test ebp, ebp
je 0x5363d0
cmp ebp, 1
mov dword [esp + 0x30], 1
jl 0x5390c2
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00535f90
test eax, eax
jl 0x540815
add esi, eax
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x30], eax
jle 0x539094
mov eax, dword [esp + 0x18]
cmp ebp, eax
je 0x5363d0
cmp dword [esp + 0x34], 0
je 0x54082a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
mov dword [esp + 0x4c], ebp
call fcn.005362d0
test eax, eax
jne 0x54329a
mov ebp, dword [esp + 0x10]
jmp 0x539120
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x38]
push eax
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00535f90
test eax, eax
jl 0x5408dc
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
add dword [esp + 0x30], 1
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
add esi, eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
push edx
push esi
call fcn.005362d0
test eax, eax
je 0x539120
jmp 0x54329a
mov ecx, dword [esp + 0x38]
push ecx
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00535f90
test eax, eax
jl 0x5408dc
add esi, eax
jmp 0x5363d0
mov edi, dword [esp + 0x14]
mov al, byte [edi + 0x21]
lea edx, [edi + 1]
add edi, 0x21
movzx ecx, al
mov dword [esp + 0x30], edx
lea edx, [ecx - 0x62]
cmp edx, 0xb
mov dword [esp + 0x14], edi
ja case.default.0x5391cb
movzx edx, byte [edx + 0x54354c]
jmp dword [edx*4 + 0x543544]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x5391ec
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x5391f4
mov dword [esp + 0x3c], 1
movsx edx, byte [eax + 0x570818]
movsx eax, byte [eax + 0x570824]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53925c
mov dword [esp + 0x18], 0x7fffffff
jmp 0x53925c
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
sete dl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
xor edx, edx
mov al, byte [edi + 4]
mov dh, byte [edi + 1]
test eax, eax
mov dl, byte [edi + 2]
mov dword [esp + 0x18], eax
jne 0x53924a
mov dword [esp + 0x18], 0x7fffffff
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53925c
mov edx, 1
mov dword [esp + 0x18], edx
cmp dword [esp + 0x20], 0
mov edi, 1
je 0x5393aa
cmp edx, edi
jl 0x5393e9
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x539284
mov ebx, dword [esp + 0x40]
cmp esi, ebp
jae 0x5410f5
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x539373
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5392b7
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x539373
test al, 0x10
jne 0x5392d7
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x539373
test al, 8
jne 0x539303
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x539373
test al, 4
jne 0x539338
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x539373
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0xff
jbe 0x53937f
cmp ebx, 0x6e
jmp 0x539397
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je case.0x543130.14
add edi, 1
cmp edi, edx
jle 0x539280
jmp 0x5393e9
cmp edx, 1
jl 0x5393e9
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x541584
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, bl
je case.0x543130.14
add edi, 1
cmp edi, edx
jle 0x5393b6
mov eax, dword [esp + 0x18]
cmp edx, eax
mov ecx, dword [esp + 0x10]
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x540919
cmp dword [esp + 0x20], 0
mov ebx, esi
mov dword [esp + 0x34], ebx
je 0x5395f5
cmp edx, eax
mov ebp, edx
jge 0x539565
mov edx, dword [ecx + 0x78]
cmp esi, edx
mov edi, 1
jae 0x539543
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x539504
movzx ebx, byte [esi + 1]
and ebx, 0x3f
test al, 0x20
jne 0x539458
and eax, 0x1f
shl eax, 6
mov edi, 2
jmp 0x539502
test al, 0x10
jne 0x539472
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
mov edi, 3
jmp 0x5394fc
test al, 8
jne 0x539498
and eax, 7
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x5394fc
test al, 4
jne 0x5394c7
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
mov edi, 5
jmp 0x5394fc
and eax, 1
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 5]
mov edi, 6
shl ebx, 6
and eax, 0x3f
or eax, ebx
cmp eax, 0xff
jbe 0x539514
cmp dword [esp + 0x40], 0x6e
je 0x539565
jmp 0x539532
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x539565
mov ecx, dword [esp + 0x10]
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x539422
jmp 0x539565
cmp dword [ecx + 0x88], 0
je 0x539565
cmp esi, dword [ecx + 0x84]
jbe 0x539565
mov eax, edi
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
mov edx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push ebp
push eax
push ebx
push edi
push ecx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x34]
je case.0x543130.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5395ce
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x5395c0
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push ebp
push eax
push ebx
push edi
push ecx
push esi
call fcn.005362d0
test eax, eax
je 0x5395a5
jmp 0x54329a
cmp edx, eax
mov edi, edx
jge 0x53965c
mov ebp, dword [ecx + 0x78]
jmp 0x539608
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jae 0x539637
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x53965c
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x18]
jl 0x539604
jmp 0x53965c
cmp dword [ecx + 0x88], 0
je 0x53965c
cmp esi, dword [ecx + 0x84]
jbe 0x53965c
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, ebx
jb case.0x543130.14
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea ebx, [ebx]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, 1
cmp esi, dword [esp + 0x34]
jae 0x539680
xor eax, eax
jmp 0x54329a
mov edi, dword [esp + 0x14]
xor edx, edx
mov dh, byte [edi + 1]
lea ecx, [edi + 3]
mov dword [esp + 0x30], ecx
mov dl, byte [edi + 2]
mov al, byte [edi + edx]
movzx ecx, al
add edi, edx
lea edx, [ecx - 0x62]
cmp edx, 0xb
mov dword [esp + 0x14], edi
ja case.default.0x5396e8
movzx edx, byte [edx + 0x543560]
jmp dword [edx*4 + 0x543558]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x539709
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x539711
mov dword [esp + 0x3c], 1
movsx ebx, byte [eax + 0x570818]
movsx eax, byte [eax + 0x570824]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x539779
mov dword [esp + 0x18], 0x7fffffff
jmp 0x539779
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
sete dl
xor eax, eax
mov ah, byte [edi + 3]
xor ebx, ebx
mov bh, byte [edi + 1]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
mov al, byte [edi + 4]
mov bl, byte [edi + 2]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x539767
mov dword [esp + 0x18], 0x7fffffff
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x539779
mov ebx, 1
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x20]
mov edi, 1
cmp ebx, edi
jl 0x5398b6
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x539897
cmp eax, 0xc0
jb 0x539897
test al, 0x20
jne 0x5397d0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x539897
test al, 0x10
jne 0x5397f6
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x539897
test al, 8
jne 0x539828
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x539897
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x539863
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x539897
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x30]
push ebp
push edx
push eax
call fcn.00545250
test eax, eax
je case.0x543130.14
add edi, 1
cmp edi, ebx
jle 0x539790
cmp ebx, dword [esp + 0x18]
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x540b6c
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x34], esi
jge 0x539a19
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
mov edi, 1
jae 0x5399f9
test ebp, ebp
movzx eax, byte [esi]
je 0x5399d8
cmp eax, 0xc0
jb 0x5399d8
test al, 0x20
jne 0x539923
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edi, 2
jmp 0x5399d6
test al, 0x10
jne 0x53994c
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edi, 3
jmp 0x5399d8
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
test al, 8
jne 0x53996e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x5399c8
and edx, 0x3f
test al, 4
jne 0x5399a3
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov eax, ecx
mov edi, 5
jmp 0x5399d8
and eax, edi
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov edi, 6
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x30]
push ebp
push ecx
push eax
call fcn.00545250
test eax, eax
je 0x539a19
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x18]
jl 0x5398e0
jmp 0x539a19
cmp dword [eax + 0x88], 0
je 0x539a19
cmp esi, dword [eax + 0x84]
jbe 0x539a19
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
lea esp, [esp]
mov eax, esi
sub esi, 1
cmp eax, dword [esp + 0x34]
je case.0x543130.14
cmp dword [esp + 0x20], 0
je 0x539a8e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x539a8e
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x539a80
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
je 0x539a60
jmp 0x54329a
cmp dword [esp + 0x20], ebp
je 0x539b45
mov eax, dword [esp + 0x14]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x539b06
test al, 0x20
jne 0x539ae3
mov ecx, 2
jmp 0x539b06
test al, 0x10
jne 0x539aee
mov ecx, 3
jmp 0x539b06
test al, 8
jne 0x539af9
mov ecx, 4
jmp 0x539b06
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
sub edx, esi
cmp ecx, edx
jg 0x540d04
test ecx, ecx
jle 0x5363d0
mov edi, dword [esp + 0x14]
mov al, byte [edi]
mov dl, byte [esi]
add edi, 1
sub ecx, 1
add esi, 1
cmp al, dl
mov dword [esp + 0x14], edi
jne case.0x543130.14
test ecx, ecx
jg 0x539b23
jmp 0x5363d0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
sub ecx, esi
cmp ecx, 1
jl 0x540d1c
mov al, byte [esi]
add esi, 1
cmp byte [edx + 1], al
jne case.0x543130.14
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x5363d0
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x540d47
cmp dword [esp + 0x20], ebp
je 0x539df3
mov edx, dword [esp + 0x14]
mov eax, 1
movzx ecx, byte [edx + eax]
add edx, eax
cmp ecx, 0xc0
mov dword [esp + 0x14], edx
jb 0x539c8c
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x539bc5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x539c8c
test cl, 0x10
jne 0x539be8
and ecx, 0xf
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 3
jmp 0x539c8c
test cl, 8
jne 0x539c17
and ecx, 7
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 4
jmp 0x539c8c
test cl, 4
jne 0x539c4f
and ecx, 3
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 4]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 5
jmp 0x539c8c
and ecx, 1
shl ecx, 6
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [edx + 5]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 6
cmp ecx, 0x80
jae 0x539cb5
mov eax, dword [edi + 0x38]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x543130.14
add edx, 1
mov dword [esp + 0x14], edx
add esi, 1
jmp 0x5363d0
movzx ebx, byte [esi]
add esi, 1
cmp ebx, 0xc0
jb 0x539da1
movzx edx, byte [esi]
and edx, 0x3f
test bl, 0x20
jne 0x539ce2
and ebx, 0x1f
shl ebx, 6
or ebx, edx
add esi, 1
jmp 0x539da1
test bl, 0x10
jne 0x539d03
and ebx, 0xf
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
jmp 0x539da1
test bl, 8
jne 0x539d30
and ebx, 7
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
jmp 0x539da1
test bl, 4
jne 0x539d66
and ebx, 3
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
jmp 0x539da1
and ebx, 1
shl ebx, 6
or ebx, edx
movzx edx, byte [esi + 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 4]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 5
add dword [esp + 0x14], eax
cmp ecx, ebx
je 0x5363d0
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x539dd1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x574d48]
mov edx, dword [eax*8 + 0x5714cc]
add edx, ecx
cmp ebx, edx
je 0x5363d0
xor eax, eax
jmp 0x54329a
mov eax, dword [edi + 0x38]
movzx ecx, byte [edx + 1]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x543130.14
add esi, 1
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x5363d0
xor eax, eax
mov ah, byte [edx + 1]
add edx, 3
mov dword [esp + 0x14], edx
mov al, byte [edx - 1]
mov edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edi
jmp 0x539efd
mov dword [esp + 0x3c], 1
xor ecx, ecx
cmp al, 0x28
mov ch, byte [edx + 1]
mov dword [esp + 0x2c], ebp
mov cl, byte [edx + 2]
mov dword [esp + 0x18], ecx
je 0x539e5a
cmp al, 0x35
mov dword [esp + 0x34], ebp
jne 0x539e62
mov dword [esp + 0x34], 1
mov edi, dword [esp + 0x2c]
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x539efd
xor edi, edi
add edx, 1
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x539ef5
mov edi, 1
add edx, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x539ef5
mov eax, 1
xor edi, edi
add edx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jmp 0x539efd
cmp ebx, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x570818]
mov ecx, eax
movsx eax, byte [eax + 0x570824]
add edx, 1
and ecx, 1
cmp eax, ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
jne 0x539efd
mov dword [esp + 0x18], 0x7fffffff
cmp dword [esp + 0x20], ebp
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax]
je 0x53a43d
cmp ebx, 0xc0
mov ebp, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x4c], eax
jb 0x539feb
test bl, 0x20
jne 0x539f45
movzx edx, byte [eax + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov ebp, 2
jmp 0x539fe7
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x539f67
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov ebp, 3
jmp 0x539fdd
and edx, 0x3f
test bl, 8
jne 0x539f87
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
mov ebp, 4
jmp 0x539fdd
test bl, 4
jne 0x539fb0
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 4]
mov ebp, 5
jmp 0x539fdd
and ebx, ebp
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 4]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 5]
mov ebp, 6
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov ebx, ecx
mov dword [esp + 0x38], ebp
add eax, ebp
cmp ebp, 1
mov dword [esp + 0x14], eax
jle 0x53a444
cmp dword [esp + 0x40], 0x2e
jb 0x53a050
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
mov ecx, ebx
shl eax, 7
and ecx, 0x8000007f
jns 0x53a025
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x574d48]
mov eax, dword [edx*8 + 0x5714cc]
add eax, ebx
cmp eax, ebx
je 0x53a050
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.00544e80
mov dword [esp + 0x40], eax
jmp 0x53a058
mov dword [esp + 0x40], 0
cmp edi, 1
mov dword [esp + 0x30], 1
jl 0x53a1ee
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x78]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
sub ecx, ebp
mov dword [esp + 0x50], ecx
jmp 0x53a084
mov ecx, dword [esp + 0x50]
cmp esi, ecx
ja 0x53a126
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53a0b4
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53a0b8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53a0a0
test eax, eax
je 0x53a115
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53a107
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a115
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53a107
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a115
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53a107
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a115
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53a115
test edi, edi
mov eax, 1
jg 0x53a117
or eax, 0xffffffff
jmp 0x53a117
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x40]
jne 0x53a126
add esi, ebp
jmp 0x53a1d5
test eax, eax
jle 0x540d52
mov ecx, dword [esp + 0x24]
sub ecx, eax
cmp esi, ecx
ja 0x540d52
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53a164
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53a168
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53a150
test eax, eax
je 0x53a1c5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53a1b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a1c5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53a1b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a1c5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53a1b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a1c5
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x53a1c5
test edi, edi
mov eax, 1
jg 0x53a1c7
or eax, 0xffffffff
jmp 0x53a1c7
xor eax, eax
test eax, eax
jne 0x540d52
mov eax, dword [esp + 0x40]
add esi, eax
mov ecx, dword [esp + 0x30]
add ecx, 1
cmp ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
jle 0x53a080
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp edi, eax
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x540d8b
cmp edi, eax
mov dword [esp + 0x34], esi
mov ebx, edi
jge 0x53a3c6
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
sub eax, ebp
mov dword [esp + 0x50], eax
jmp 0x53a234
mov eax, dword [esp + 0x50]
cmp esi, eax
ja 0x53a2da
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53a264
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53a268
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53a250
test eax, eax
je 0x53a2cd
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53a2b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a2c9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53a2b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a2c9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53a2b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a2c9
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x53a2c9
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53a2cf
or eax, 0xffffffff
jmp 0x53a2cf
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53a2da
add esi, ebp
jmp 0x53a389
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x53a398
mov edx, dword [esp + 0x24]
sub edx, eax
cmp esi, edx
ja 0x53a398
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53a316
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53a31a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53a302
test eax, eax
je 0x53a37f
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53a369
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a37b
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53a369
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a37b
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53a369
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53a37b
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53a37b
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53a381
or eax, 0xffffffff
jmp 0x53a381
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53a398
add esi, dword [esp + 0x40]
add ebx, 1
cmp ebx, dword [esp + 0x18]
jl 0x53a230
jmp 0x53a3c6
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53a3c6
cmp esi, dword [ecx + 0x78]
jb 0x53a3c6
cmp esi, dword [ecx + 0x84]
jbe 0x53a3c6
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
jbe 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea ebx, [ebx]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
jne 0x53a432
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53a424
cmp esi, dword [esp + 0x34]
ja 0x53a3f0
jmp 0x53f973
add eax, 1
mov dword [esp + 0x14], eax
cmp dword [esp + 0x40], 0x2e
jb 0x53a564
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x3c]
movzx ebp, byte [ecx + ebx]
mov ecx, 1
cmp dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ebp
jl 0x53a493
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
cmp ebx, eax
je 0x53a487
cmp ebp, eax
jne case.0x543130.14
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x2c]
jle 0x53a470
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x2c], edx
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x540fb5
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
mov dword [esp + 0x34], esi
jge 0x53a502
mov edx, dword [edi + 0x78]
jmp 0x53a4c0
cmp esi, edx
jae 0x53a4dd
movzx eax, byte [esi]
cmp ebx, eax
je 0x53a4cf
cmp ebp, eax
jne 0x53a502
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x18]
jl 0x53a4c0
jmp 0x53a502
cmp dword [edi + 0x88], 0
je 0x53a502
cmp esi, dword [edi + 0x84]
jbe 0x53a502
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
je 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
jmp 0x53a530
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
sub esi, 1
test eax, eax
jne 0x54329a
cmp esi, dword [esp + 0x34]
jne 0x53a530
jmp 0x53f973
mov edx, dword [esp + 0x10]
mov eax, 1
cmp edi, eax
jl 0x53a591
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x54325a
movzx ebp, byte [esi]
add esi, 1
cmp ebx, ebp
jne case.0x543130.14
add eax, 1
cmp eax, edi
jle 0x53a574
cmp edi, dword [esp + 0x18]
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x541050
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x34], edi
jge 0x53a5fe
mov ecx, dword [edx + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53a5d9
movzx ebp, byte [esi]
cmp ebx, ebp
jne 0x53a5fe
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53a5c0
jmp 0x53a5fe
cmp dword [edx + 0x88], 0
je 0x53a5fe
cmp esi, dword [edx + 0x84]
jbe 0x53a5fe
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, edi
je 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
sub esi, 1
test eax, eax
jne 0x54329a
cmp esi, dword [esp + 0x34]
jne 0x53a620
jmp 0x53f973
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x5410ea
cmp dword [esp + 0x20], ebp
je 0x53a8be
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + 1]
add eax, 1
add eax, 1
cmp ebx, 0xc0
mov dword [esp + 0x14], eax
jb 0x53a764
movzx ecx, byte [eax]
and ecx, 0x3f
test bl, 0x20
jne 0x53a6a4
and ebx, 0x1f
shl ebx, 6
or ebx, ecx
add eax, 1
jmp 0x53a760
test bl, 0x10
jne 0x53a6c5
and ebx, 0xf
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 2
jmp 0x53a760
test bl, 8
jne 0x53a6ef
and ebx, 7
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 3
jmp 0x53a760
test bl, 4
jne 0x53a725
and ebx, 3
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 4
jmp 0x53a760
and ebx, 1
shl ebx, 6
or ebx, ecx
movzx ecx, byte [eax + 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 2]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [eax + 4]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add eax, 5
mov dword [esp + 0x14], eax
movzx ecx, byte [esi]
add esi, 1
cmp ecx, 0xc0
jb 0x53a84d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x53a791
and ecx, 0x1f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53a84d
test cl, 0x10
jne 0x53a7b2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53a84d
test cl, 8
jne 0x53a7dc
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53a84d
test cl, 4
jne 0x53a812
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53a84d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp dword [esp + 0x40], 0x1f
jne 0x53a863
cmp ebx, ecx
jne 0x5363d0
xor eax, eax
jmp 0x54329a
cmp ebx, 0x7f
jbe 0x53a8a0
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
mov eax, ebx
shl edx, 7
and eax, 0x8000007f
jns 0x53a88b
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x574d48]
mov eax, dword [edx*8 + 0x5714cc]
add eax, ebx
jmp 0x53a8a7
mov eax, dword [edx + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, ecx
je case.0x543130.14
cmp eax, ecx
jne 0x5363d0
xor eax, eax
jmp 0x54329a
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi]
add esi, 1
cmp eax, ecx
je case.0x543130.14
cmp ebx, 0x20
jne 0x53a8e8
mov edx, dword [edx + 0x3c]
movzx eax, byte [edx + eax]
cmp eax, ecx
je case.0x543130.14
add dword [esp + 0x14], 2
jmp 0x5363d0
xor eax, eax
mov ah, byte [edx + 1]
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
mov edi, eax
jmp 0x53a9b5
xor ecx, ecx
mov ch, byte [edx + 1]
xor edi, edi
cmp al, 0x42
mov cl, byte [edx + 2]
mov dword [esp + 0x18], ecx
je 0x53a922
cmp al, 0x4f
mov dword [esp + 0x34], ebp
jne 0x53a92a
mov dword [esp + 0x34], 1
add edx, 3
jmp 0x53a9b5
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 1
jmp 0x53a9ad
mov edi, 1
mov dword [esp + 0x3c], edi
add edx, edi
jmp 0x53a9ad
mov eax, 1
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
add edx, eax
jmp 0x53a9b5
xor eax, eax
mov ah, byte [edx + 1]
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
jmp 0x53a9b5
cmp ebx, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x570818]
mov ecx, eax
movsx eax, byte [eax + 0x570824]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53a9b5
mov dword [esp + 0x18], 0x7fffffff
movzx ebx, byte [edx]
mov ebp, dword [esp + 0x20]
add edx, 1
test ebp, ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], edx
je 0x53aab3
cmp ebx, 0xc0
jb 0x53aab3
test bl, 0x20
jne 0x53a9fa
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esp + 0x30], eax
add edx, 1
jmp 0x53aaab
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53aa21
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x53aaa7
test bl, 8
jne 0x53aa44
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x53aaa7
test bl, 4
jne 0x53aa73
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x53aaa7
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esp + 0x30], ecx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
cmp dword [esp + 0x40], 0x48
jb 0x53af04
test ebp, ebp
je 0x53ab00
cmp ebx, 0x7f
jbe 0x53ab00
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x572b48]
mov edx, ebx
shl ecx, 7
and edx, 0x8000007f
jns 0x53aaeb
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x574d48]
mov eax, dword [eax*8 + 0x5714cc]
add eax, ebx
jmp 0x53ab0b
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
movzx eax, byte [edx + ebx]
test ebp, ebp
mov dword [esp + 0x38], eax
je 0x53ac3b
mov ecx, 1
cmp edi, ecx
jl 0x53ac77
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
jmp 0x53ab30
cmp esi, ebp
jae 0x541584
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ac1c
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53ab63
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53ac1c
test al, 0x10
jne 0x53ab83
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x53ac1c
test al, 8
jne 0x53abac
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53ac1c
test al, 4
jne 0x53abe1
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53ac1c
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp ebx, eax
je case.0x543130.14
cmp dword [esp + 0x38], eax
je case.0x543130.14
add ecx, 1
cmp ecx, edi
jle 0x53ab30
jmp 0x53ac77
mov edx, 1
cmp edi, edx
jl 0x53ac77
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53ac50
cmp esi, ebp
jae 0x5410f5
movzx eax, byte [esi]
cmp ebx, eax
je case.0x543130.14
cmp dword [esp + 0x38], eax
je case.0x543130.14
add edx, 1
add esi, 1
cmp edx, edi
jle 0x53ac50
mov edx, dword [esp + 0x18]
cmp edi, edx
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x541125
cmp dword [esp + 0x20], 0
mov dword [esp + 0x34], esi
je 0x53ae5b
cmp edi, edx
jge 0x53adeb
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x53acb6
mov eax, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53adcb
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53adb2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53acee
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53adb2
test al, 0x10
jne 0x53ad10
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53adb2
test al, 8
jne 0x53ad3e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53adb2
test al, 4
jne 0x53ad75
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53adb2
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp ebx, eax
je 0x53adeb
cmp edx, eax
je 0x53adeb
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53acb2
jmp 0x53adeb
cmp dword [eax + 0x88], 0
je 0x53adeb
cmp esi, dword [eax + 0x84]
jbe 0x53adeb
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
jbe 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
nop
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
push ecx
push edx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53ae50
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53ae42
cmp esi, dword [esp + 0x34]
ja 0x53ae10
jmp 0x53f973
cmp edi, edx
mov ecx, edi
jge 0x53aeaa
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
cmp esi, edi
jae 0x53ae85
movzx eax, byte [esi]
cmp ebx, eax
je 0x53aeaa
cmp dword [esp + 0x38], eax
je 0x53aeaa
add ecx, 1
add esi, 1
cmp ecx, edx
jl 0x53ae68
jmp 0x53aeaa
cmp dword [ebp + 0x88], 0
je 0x53aeaa
cmp esi, dword [ebp + 0x84]
jbe 0x53aeaa
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
je 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov edi, edi
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53aed0
jmp 0x53f973
test ebp, ebp
je 0x53b026
mov ecx, 1
cmp edi, ecx
jl 0x53b057
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x78]
cmp esi, ebp
jae 0x541346
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53b00f
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53af53
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53b00f
test al, 0x10
jne 0x53af73
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x53b00f
test al, 8
jne 0x53af9f
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53b00f
test al, 4
jne 0x53afd4
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53b00f
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp dword [esp + 0x30], eax
je case.0x543130.14
add ecx, 1
cmp ecx, edi
jle 0x53af20
jmp 0x53b05b
mov eax, 1
cmp edi, eax
jl 0x53b057
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x541346
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x543130.14
add eax, 1
cmp eax, edi
jle 0x53b036
jmp 0x53b05b
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp edi, ecx
je 0x5363d0
cmp dword [esp + 0x34], 0
jne 0x541372
cmp dword [esp + 0x20], 0
mov edx, esi
mov dword [esp + 0x34], edx
je 0x53b23b
cmp edi, ecx
jge 0x53b1c7
mov ebp, dword [ebx + 0x78]
jmp 0x53b094
mov ebx, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53b1a7
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53b190
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53b0cc
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53b190
test al, 0x10
jne 0x53b0ee
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53b190
test al, 8
jne 0x53b11c
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53b190
test al, 4
jne 0x53b153
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53b190
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp dword [esp + 0x30], eax
je 0x53b1c7
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53b090
jmp 0x53b1c7
cmp dword [ebx + 0x88], 0
je 0x53b1c7
cmp esi, dword [ebx + 0x84]
jbe 0x53b1c7
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, edx
jbe 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea esp, [esp]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
push eax
push ecx
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
jne 0x53b230
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x53b224
cmp esi, dword [esp + 0x34]
ja 0x53b1f0
jmp 0x53f973
cmp edi, ecx
mov eax, edi
jge 0x53b28a
mov ecx, dword [ebx + 0x78]
jmp 0x53b24a
mov ebx, dword [esp + 0x10]
cmp esi, ecx
jae 0x53b265
movzx edi, byte [esi]
cmp dword [esp + 0x30], edi
je 0x53b28a
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53b246
jmp 0x53b28a
cmp dword [ebx + 0x88], 0
je 0x53b28a
cmp esi, dword [ebx + 0x84]
jbe 0x53b28a
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, edx
je 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea esp, [esp]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53b2b0
jmp 0x53f973
xor eax, eax
mov ah, byte [edx + 1]
mov dword [esp + 0x34], 1
add edx, 3
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov ebx, eax
jmp 0x53b3bb
xor ecx, ecx
mov ch, byte [edx + 1]
mov dword [esp + 0x2c], ebp
mov ebx, ebp
mov cl, byte [edx + 2]
mov dword [esp + 0x18], ecx
xor ecx, ecx
cmp al, 0x5c
sete cl
add edx, 3
mov dword [esp + 0x34], ecx
jmp 0x53b3bb
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 1
mov ebx, ebp
jmp 0x53b3b3
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
add edx, eax
mov ebx, eax
jmp 0x53b3b3
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x18], eax
add edx, eax
mov ebx, ebp
jmp 0x53b3bb
xor eax, eax
mov ah, byte [edx + 1]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 3
mov ebx, ebp
mov al, byte [edx - 1]
mov dword [esp + 0x18], eax
jmp 0x53b3bb
lea eax, [ebx - 0x55]
movsx ebx, byte [eax + 0x570818]
mov ecx, eax
movsx eax, byte [eax + 0x570824]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], eax
jne 0x53b3bb
mov dword [esp + 0x18], 0x7fffffff
movzx edi, byte [edx]
add edx, 1
cmp edi, 0x10
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], edx
je 0x53b3dc
cmp edi, 0xf
je 0x53b3dc
mov ebp, dword [esp + 0x44]
or eax, 0xffffffff
jmp 0x53b3ff
movzx eax, byte [edx]
xor ecx, ecx
cmp edi, 0xf
sete cl
add edx, 1
add edx, 1
mov dword [esp + 0x14], edx
mov ebp, ecx
movzx ecx, byte [edx - 1]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ecx
test ebx, ebx
mov dword [esp + 0x4c], eax
jle 0x53d607
test eax, eax
jl 0x53c2e3
cmp eax, 0xa
ja case.default.0x538a1f
jmp dword [eax*4 + 0x54356c]
test ebp, ebp
jne case.0x543130.14
lea ecx, [ebp + 1]
cmp ebx, ecx
jl 0x53d607
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
mov ebp, dword [esp + 0x20]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53b481
cmp eax, 0xc0
jb 0x53b481
test al, 0x20
jne 0x53b463
add esi, 1
jmp 0x53b481
test al, 0x10
jne 0x53b46c
add esi, 2
jmp 0x53b481
test al, 8
jne 0x53b475
add esi, 3
jmp 0x53b481
test al, 4
jne 0x53b47e
add esi, 4
jmp 0x53b481
add esi, 5
add ecx, 1
cmp ecx, ebx
jle 0x53b441
jmp 0x53b617
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53b5ac
cmp ecx, 0xc0
jb 0x53b5ac
test cl, 0x20
jne 0x53b4e2
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53b5ac
test cl, 0x10
jne 0x53b509
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53b5ac
test cl, 8
jne 0x53b53c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53b5ac
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53b578
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x53b5ac
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b5ce
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx eax, byte [eax*8 + 0x5714c9]
cmp eax, 9
je 0x53b5f3
cmp eax, 5
je 0x53b5f3
cmp eax, 8
je 0x53b5f3
xor eax, eax
jmp 0x53b5f8
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53b4a5
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x5363d0
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
jne 0x54162e
test eax, eax
mov dword [esp + 0x34], esi
jl 0x53e589
cmp eax, 0xa
ja case.default.0x538a1f
jmp dword [eax*4 + 0x543598]
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53b76d
cmp ecx, 0xc0
jb 0x53b76d
test cl, 0x20
jne 0x53b6a3
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53b76d
test cl, 0x10
jne 0x53b6ca
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53b76d
test cl, 8
jne 0x53b6fd
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53b76d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53b739
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53b76d
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x53b78f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x574d48]
movzx edx, byte [ecx*8 + 0x5714c9]
mov ecx, dword [esp + 0x48]
xor eax, eax
cmp dword [edx*4 + 0x570a08], ecx
sete al
cmp eax, dword [esp + 0x44]
je case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53b666
jmp 0x53b60f
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53b8ec
cmp ecx, 0xc0
jb 0x53b8ec
test cl, 0x20
jne 0x53b822
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53b8ec
test cl, 0x10
jne 0x53b849
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53b8ec
test cl, 8
jne 0x53b87c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53b8ec
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53b8b8
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x53b8ec
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53b90e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53b7e5
jmp 0x53b60f
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
lea ecx, [ecx]
cmp esi, ebp
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53ba67
cmp ecx, 0xc0
jb 0x53ba67
test cl, 0x20
jne 0x53b99d
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53ba67
test cl, 0x10
jne 0x53b9c4
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53ba67
test cl, 8
jne 0x53b9f7
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53ba67
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53ba33
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53ba67
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x53ba89
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x574d48]
movzx edx, byte [ecx*8 + 0x5714c8]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53b960
jmp 0x53b60f
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53bbdf
cmp ecx, 0xc0
jb 0x53bbdf
test cl, 0x20
jne 0x53bb15
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53bbdf
test cl, 0x10
jne 0x53bb3c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53bbdf
test cl, 8
jne 0x53bb6f
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53bbdf
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53bbab
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53bbdf
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x53bc01
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x574d48]
movzx edx, byte [ecx*8 + 0x5714c9]
mov eax, dword [edx*4 + 0x570a08]
cmp eax, 1
je 0x53bc28
cmp eax, 3
je 0x53bc28
xor eax, eax
jmp 0x53bc2d
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53bad8
jmp 0x53b60f
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ebp, [edi + 5]
cmp esi, ebx
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53bd6a
cmp ecx, 0xc0
jb 0x53bd6a
test cl, 0x20
jne 0x53bca0
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53bd6a
test cl, 0x10
jne 0x53bcc7
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53bd6a
test cl, 8
jne 0x53bcfa
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53bd6a
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53bd36
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53bd6a
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x180e
ja 0x53bdad
je case.0x53bdcd.8192
cmp ecx, 0x85
ja 0x53bd99
je case.0x53bdcd.8192
cmp ecx, 9
jb case.0x53bdcd.8203
cmp ecx, 0xd
jbe case.0x53bdcd.8192
cmp ecx, 0x20
jmp 0x53bde2
cmp ecx, 0xa0
je case.0x53bdcd.8192
cmp ecx, 0x1680
jmp 0x53bde2
cmp ecx, 0x202f
ja 0x53bdd4
je case.0x53bdcd.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53bdcd.8203
movzx eax, byte [eax + 0x5435cc]
jmp dword [eax*4 + 0x5435c4]
cmp ecx, 0x205f
je case.0x53bdcd.8192
cmp ecx, 0x3000
je case.0x53bdcd.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53be06
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
xor edx, edx
cmp dword [ecx*4 + 0x570a08], ebp
sete dl
cmp edx, dword [esp + 0x44]
je case.0x543130.14
jmp 0x53be3b
cmp dword [esp + 0x44], 0
jne case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53bc60
jmp 0x53b60f
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x541584
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53bf6c
cmp ecx, 0xc0
jb 0x53bf6c
test cl, 0x20
jne 0x53bea2
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53bf6c
test cl, 0x10
jne 0x53bec9
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53bf6c
test cl, 8
jne 0x53befc
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53bf6c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53bf38
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53bf6c
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53bf90
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x574d48]
movzx edx, byte [eax*8 + 0x5714c9]
mov eax, dword [edx*4 + 0x570a08]
cmp eax, 1
je 0x53bfbc
cmp eax, 3
je 0x53bfbc
cmp ecx, 0x5f
je 0x53bfbc
xor eax, eax
jmp 0x53bfc1
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53be65
jmp 0x53b60f
mov edi, 1
cmp ebx, edi
jl 0x53d607
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x541584
movzx eax, byte [esi]
add esi, 1
test ebx, ebx
je 0x53c0f7
cmp eax, 0xc0
jb 0x53c0f7
test al, 0x20
jne 0x53c030
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53c0f7
test al, 0x10
jne 0x53c056
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x53c0f7
test al, 8
jne 0x53c088
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x53c0f7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53c0c3
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x53c0f7
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x48]
mov ecx, dword [edx*4 + 0x571388]
cmp eax, ecx
lea edx, [edx*4 + 0x571388]
jb 0x53c11d
lea ecx, [ecx]
add edx, 4
cmp eax, ecx
je 0x53c12a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x53c110
cmp dword [esp + 0x44], 0
je case.0x543130.14
jmp 0x53c135
cmp dword [esp + 0x44], 0
jne case.0x543130.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53bff5
jmp 0x53b60f
mov ecx, 1
cmp ebx, ecx
jl 0x53d607
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
jmp 0x53c160
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53c29e
cmp eax, 0xc0
jb 0x53c29e
test al, 0x20
jne 0x53c1a6
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53c29a
test al, 0x10
jne 0x53c1d4
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53c29a
test al, 8
jne 0x53c20e
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53c29a
test al, 4
jne 0x53c251
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53c29a
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
mov edi, dword [esp + 0x10]
cmp eax, 0x24
je 0x53c2c6
cmp eax, 0x40
je 0x53c2c6
cmp eax, 0x60
je 0x53c2c6
cmp eax, 0xa0
jb 0x53c2bb
cmp eax, 0xd7ff
jbe 0x53c2c6
cmp eax, 0xe000
jae 0x53c2c6
xor eax, eax
jmp 0x53c2cb
mov eax, 1
cmp eax, ebp
je case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53c160
jmp 0x53b617
cmp edi, 0x16
jne 0x53c5e3
cmp ebx, 1
mov dword [esp + 0x30], 1
jl 0x53d607
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov dword [esp + 0x24], edi
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53c415
cmp ecx, 0xc0
jb 0x53c415
test cl, 0x20
jne 0x53c34b
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53c415
test cl, 0x10
jne 0x53c372
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x53c415
test cl, 8
jne 0x53c3a5
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x53c415
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53c3e1
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x53c415
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x53c437
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, edi
movzx ecx, word [eax*2 + 0x574d48]
movzx ebp, byte [ecx*8 + 0x5714ca]
jae 0x53c59a
mov ebx, dword [esp + 0x20]
test ebx, ebx
movzx ecx, byte [esi]
mov edi, 1
je 0x53c548
cmp ecx, 0xc0
jb 0x53c548
test cl, 0x20
jne 0x53c48d
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53c546
test cl, 0x10
jne 0x53c4b7
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53c548
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53c4dd
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53c538
and eax, 0x3f
test cl, 4
jne 0x53c513
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53c548
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53c56a
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714ca]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x570994], edx
je 0x53c59a
add esi, edi
cmp esi, dword [esp + 0x24]
mov ebp, ecx
jb 0x53c455
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53c5c9
cmp esi, dword [esp + 0x24]
jb 0x53c5c9
cmp esi, dword [eax + 0x84]
jbe 0x53c5c9
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jle 0x53c300
jmp 0x53b60f
cmp dword [esp + 0x20], 0
lea eax, [edi - 6]
je 0x53d212
cmp eax, 0xf
ja case.default.0x538a1f
jmp dword [eax*4 + 0x5435f8]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53b60f
mov ebx, dword [esp + 0x10]
mov ecx, ebp
cmp esi, dword [ebx + 0x78]
jae 0x5415b4
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53c647
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne case.0x543130.14
lea ecx, [eax + 1]
jmp 0x53c66b
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53c66b
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53c66b
cmp dword [edi], ecx
je case.0x543130.14
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x543130.14
cmp dword [ebx + 0x88], 0
je 0x53c69d
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53c69d
cmp dword [ebx + 0x18], 0
jne 0x53c69d
cmp dword [edi], 2
jne 0x53c69d
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53c69d
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x543287
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53c6b6
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53c6b6
add esi, ecx
cmp esi, eax
jb 0x53c6a6
add ebp, ecx
cmp ebp, dword [esp + 0x2c]
jle 0x53c616
mov edi, ebx
jmp 0x53b613
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, eax
jae 0x541602
add esi, 1
cmp esi, eax
jae 0x53c701
nop
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53c701
add esi, 1
cmp esi, eax
jb 0x53c6f0
add ecx, 1
cmp ecx, ebx
jle 0x53c6e0
jmp 0x53b617
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x543130.14
add esi, ebx
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53c86f
test al, 0x20
jne 0x53c77b
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53c86f
test al, 0x10
jne 0x53c7a9
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53c86f
test al, 8
jne 0x53c7e3
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53c86f
test al, 4
jne 0x53c826
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53c86f
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0xd
ja 0x53c894
je 0x53c886
cmp eax, 0xa
je 0x53c8bb
jbe case.0x543130.14
cmp eax, 0xc
jmp 0x53c8ab
cmp esi, edx
jae 0x53c8bb
cmp byte [esi], 0xa
jne 0x53c8bb
add esi, 1
jmp 0x53c8bb
cmp eax, 0x85
je 0x53c8b1
cmp eax, 0x2027
jbe case.0x543130.14
cmp eax, 0x2029
ja case.0x543130.14
cmp dword [edi + 0x68], 0
jne case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53c740
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53ca0f
test al, 0x20
jne 0x53c91b
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53ca0f
test al, 0x10
jne 0x53c949
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53ca0f
test al, 8
jne 0x53c983
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53ca0f
test al, 4
jne 0x53c9c6
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53ca0f
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x180e
ja 0x53ca3e
je case.0x543130.14
cmp eax, 0xa0
ja 0x53ca37
je case.0x543130.14
cmp eax, 9
je case.0x543130.14
cmp eax, 0x20
jmp 0x53ca69
cmp eax, 0x1680
jmp 0x53ca69
cmp eax, 0x205f
ja 0x53ca64
je case.0x543130.14
cmp eax, 0x2000
jb 0x53ca6f
cmp eax, 0x200a
jbe case.0x543130.14
cmp eax, 0x202f
jmp 0x53ca69
cmp eax, 0x3000
je case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53c8e0
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53cbc2
test al, 0x20
jne 0x53cace
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53cbc2
test al, 0x10
jne 0x53cafc
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53cbc2
test al, 8
jne 0x53cb36
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53cbc2
test al, 4
jne 0x53cb79
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53cbc2
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x180e
ja 0x53cbe5
je 0x53cc12
cmp eax, 0xa0
ja 0x53cbde
je 0x53cc12
cmp eax, 9
je 0x53cc12
cmp eax, 0x20
jmp 0x53cc0c
cmp eax, 0x1680
jmp 0x53cc0c
cmp eax, 0x205f
ja 0x53cc07
je 0x53cc12
cmp eax, 0x2000
jb case.0x543130.14
cmp eax, 0x200a
jbe 0x53cc12
cmp eax, 0x202f
jmp 0x53cc0c
cmp eax, 0x3000
jne case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53ca93
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53cd65
test al, 0x20
jne 0x53cc71
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53cd65
test al, 0x10
jne 0x53cc9f
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53cd65
test al, 8
jne 0x53ccd9
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53cd65
test al, 4
jne 0x53cd1c
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53cd65
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x85
ja 0x53cd7c
je case.0x543130.14
cmp eax, 0xa
jb 0x53cd8e
cmp eax, 0xd
jmp 0x53cd88
cmp eax, 0x2028
jb 0x53cd8e
cmp eax, 0x2029
jbe case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53cc36
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53cee1
test al, 0x20
jne 0x53cded
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53cee1
test al, 0x10
jne 0x53ce1b
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53cee1
test al, 8
jne 0x53ce55
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53cee1
test al, 4
jne 0x53ce98
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53cee1
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x85
ja 0x53cef8
je 0x53cf0e
cmp eax, 0xa
jb case.0x543130.14
cmp eax, 0xd
jmp 0x53cf08
cmp eax, 0x2028
jb case.0x543130.14
cmp eax, 0x2029
ja case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53cdb2
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53d061
test al, 0x20
jne 0x53cf6d
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 1
jmp 0x53d061
test al, 0x10
jne 0x53cf9b
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 2
jmp 0x53d061
test al, 8
jne 0x53cfd5
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 7
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 3
jmp 0x53d061
test al, 4
jne 0x53d018
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 3
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 4
jmp 0x53d061
mov dword [esp + 0x24], ecx
movzx ecx, byte [esi]
and eax, 1
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
and ecx, 0x3f
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 4]
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x24]
add esi, 5
cmp eax, 0x80
jae 0x53d075
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
jne case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53cf32
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x543130.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
je case.0x543130.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53d0a0
jmp 0x53b617
mov edx, 1
cmp ebx, edx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541602
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53d105
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
jne case.0x543130.14
add esi, 1
cmp esi, ecx
jae 0x53d11f
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53d11f
add esi, 1
cmp esi, ecx
jb 0x53d110
add edx, 1
cmp edx, ebx
jle 0x53d0e6
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x543130.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
je case.0x543130.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53d140
jmp 0x53b617
mov edx, 1
cmp ebx, edx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541602
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53d1a5
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
jne case.0x543130.14
add esi, 1
cmp esi, ecx
jae 0x53d1bf
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53d1bf
add esi, 1
cmp esi, ecx
jb 0x53d1b0
add edx, 1
cmp edx, ebx
jle 0x53d186
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x543130.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
je case.0x543130.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53d1e0
jmp 0x53b617
cmp eax, 0xf
ja case.default.0x538a1f
jmp dword [eax*4 + 0x543638]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53b60f
mov ecx, dword [esp + 0x10]
lea ebx, [esi + 1]
mov edx, ebp
lea ebx, [ebx]
cmp esi, dword [ecx + 0x78]
jae 0x5415db
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x53d276
mov ecx, dword [esp + 0x10]
push 0
lea edi, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edi
push ecx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne case.0x543130.14
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
jmp 0x53d29d
mov eax, dword [ecx + 0x78]
sub eax, dword [ecx + 0x1c]
lea edi, [ecx + 0x1c]
cmp esi, eax
ja 0x53d29d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53d29d
cmp dword [edi], edx
je case.0x543130.14
mov al, byte [ebx]
cmp al, byte [ecx + 0x35]
je case.0x543130.14
cmp dword [ecx + 0x88], 0
je 0x53d2cc
cmp ebx, dword [ecx + 0x78]
jb 0x53d2cc
cmp dword [ecx + 0x18], 0
jne 0x53d2cc
cmp dword [edi], 2
jne 0x53d2cc
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53d2cc
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jg 0x543287
add ebp, edx
add esi, edx
add ebx, edx
cmp ebp, dword [esp + 0x2c]
jle 0x53d240
jmp 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
sub ecx, ebx
cmp esi, ecx
ja 0x541602
add esi, ebx
jmp 0x53b617
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
sub edx, ebx
cmp esi, edx
ja 0x541602
add esi, ebx
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
sub eax, 0xa
add esi, 1
cmp eax, 0x7b
ja case.0x543130.14
movzx eax, byte [eax + 0x543688]
jmp dword [eax*4 + 0x543678]
cmp esi, edx
jae case.0x53d346.10
cmp byte [esi], 0xa
jne case.0x53d346.10
add esi, 1
jmp case.0x53d346.10
cmp dword [edi + 0x68], 0
jne case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53d325
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je case.0x543130.14
cmp eax, 0x20
je case.0x543130.14
cmp eax, 0xa0
je case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53d385
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je 0x53d3f3
cmp eax, 0x20
je 0x53d3f3
cmp eax, 0xa0
jne case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53d3d0
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl 0x53d43a
cmp eax, 0xd
jle case.0x543130.14
cmp eax, 0x85
je case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53d413
jmp 0x53b617
mov ecx, 1
cmp ebx, ecx
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x541602
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl case.0x543130.14
cmp eax, 0xd
jle 0x53d487
cmp eax, 0x85
jne case.0x543130.14
add ecx, 1
cmp ecx, ebx
jle 0x53d460
jmp 0x53b617
mov eax, 1
cmp ebx, eax
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541602
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
jne case.0x543130.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53d4a7
jmp 0x53b617
mov eax, 1
cmp ebx, eax
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x541602
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
je case.0x543130.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53d4e2
jmp 0x53b617
mov eax, 1
cmp ebx, eax
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, ecx
jae 0x541602
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
jne case.0x543130.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53d520
jmp 0x53b617
mov eax, 1
cmp ebx, eax
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53d560
cmp esi, ecx
jae 0x541602
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
je case.0x543130.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53d560
jmp 0x53b617
mov eax, 1
cmp ebx, eax
jl 0x53b60f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53d5a0
cmp esi, ecx
jae 0x541602
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
jne case.0x543130.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53d5a0
jmp 0x53b617
mov edi, dword [esp + 0x10]
mov eax, 1
cmp ebx, eax
jl 0x53b617
mov ecx, dword [edi + 0x78]
jmp 0x53d5e0
cmp esi, ecx
jae 0x541602
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
je case.0x543130.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53d5e0
jmp 0x53b617
mov edi, dword [esp + 0x10]
jmp 0x53b617
cmp ebx, ebp
mov edx, ebx
jge 0x53e508
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x53e4db
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53d66d
cmp eax, 0xc0
jb 0x53d66d
test al, 0x20
jne 0x53d64a
mov ecx, 2
jmp 0x53d66d
test al, 0x10
jne 0x53d655
mov ecx, 3
jmp 0x53d66d
test al, 8
jne 0x53d660
mov ecx, 4
jmp 0x53d66d
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
cmp dword [esp + 0x44], 0
jne 0x53e508
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53d621
jmp 0x53e508
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53d808
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53d79e
cmp ecx, 0xc0
jb 0x53d79e
test cl, 0x20
jne 0x53d6e3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53d79c
test cl, 0x10
jne 0x53d70d
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53d79e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53d733
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53d78e
and eax, 0x3f
test cl, 4
jne 0x53d769
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53d79e
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53d7c0
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx eax, byte [eax*8 + 0x5714c9]
cmp eax, 9
je 0x53d7e5
cmp eax, 5
je 0x53d7e5
cmp eax, 8
je 0x53d7e5
xor eax, eax
jmp 0x53d7ea
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53d6a0
jmp 0x53e508
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53e508
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53e508
mov ecx, edi
jmp 0x53e4f7
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53d808
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53d93d
cmp ecx, 0xc0
jb 0x53d93d
test cl, 0x20
jne 0x53d882
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53d93b
test cl, 0x10
jne 0x53d8ac
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53d93d
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53d8d2
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53d92d
and eax, 0x3f
test cl, 4
jne 0x53d908
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53d93d
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53d95f
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x570a08], eax
sete dl
cmp edx, dword [esp + 0x44]
je 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53d843
jmp 0x53e508
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53d9c0
cmp esi, ebx
mov edi, 1
jae 0x53db19
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53dabe
cmp ecx, 0xc0
jb 0x53dabe
test cl, 0x20
jne 0x53da03
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53dabc
test cl, 0x10
jne 0x53da2d
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53dabe
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53da53
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53daae
and eax, 0x3f
test cl, 4
jne 0x53da89
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53dabe
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53dae0
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53d9c0
jmp 0x53e508
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53e508
mov ecx, eax
cmp esi, dword [ecx + 0x84]
jbe 0x53e508
mov ecx, edi
jmp 0x53e4f9
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53db19
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53dc47
cmp ecx, 0xc0
jb 0x53dc47
test cl, 0x20
jne 0x53db95
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53dc47
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53dbc1
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 3
jmp 0x53dc47
test cl, 8
jne 0x53dbdc
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53dc37
and eax, 0x3f
test cl, 4
jne 0x53dc12
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53dc47
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53dc69
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c8]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53db54
jmp 0x53e508
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
jmp 0x53dcc0
cmp esi, ebx
mov edi, 1
jae 0x53de23
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53ddb7
cmp ecx, 0xc0
jb 0x53ddb7
test cl, 0x20
jne 0x53dd05
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53ddb7
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53dd31
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 3
jmp 0x53ddb7
test cl, 8
jne 0x53dd4c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53dda7
and eax, 0x3f
test cl, 4
jne 0x53dd82
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53ddb7
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ddd9
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
mov eax, dword [ecx*4 + 0x570a08]
cmp eax, 1
je 0x53de00
cmp eax, 3
je 0x53de00
xor eax, eax
jmp 0x53de05
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53dcc0
jmp 0x53e508
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x53e508
mov eax, edx
cmp esi, dword [eax + 0x84]
jbe 0x53e508
mov ecx, edi
jmp 0x53e4f9
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edi, edi
cmp esi, ebx
mov edi, 1
jae 0x53d808
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53df5e
cmp ecx, 0xc0
jb 0x53df5e
test cl, 0x20
jne 0x53dea3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53df5c
test cl, 0x10
jne 0x53decd
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53df5e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53def3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53df4e
and eax, 0x3f
test cl, 4
jne 0x53df29
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53df5e
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp ecx, 0x180e
ja 0x53dfa1
je case.0x53dfc1.8192
cmp ecx, 0x85
ja 0x53df8d
je case.0x53dfc1.8192
cmp ecx, 9
jb case.0x53dfc1.8203
cmp ecx, 0xd
jbe case.0x53dfc1.8192
cmp ecx, 0x20
jmp 0x53dfda
cmp ecx, 0xa0
je case.0x53dfc1.8192
cmp ecx, 0x1680
jmp 0x53dfda
cmp ecx, 0x202f
ja 0x53dfc8
je case.0x53dfc1.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53dfc1.8203
movzx edx, byte [eax + 0x54370c]
jmp dword [edx*4 + 0x543704]
cmp ecx, 0x205f
je case.0x53dfc1.8192
cmp ecx, 0x3000
je case.0x53dfc1.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x53dffe
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x574d48]
movzx edx, byte [ecx*8 + 0x5714c9]
xor eax, eax
cmp dword [edx*4 + 0x570a08], 6
sete al
cmp eax, dword [esp + 0x44]
je 0x53e508
jmp 0x53e034
cmp dword [esp + 0x44], 0
jne 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53de60
jmp 0x53e508
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53d808
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53e15e
cmp ecx, 0xc0
jb 0x53e15e
test cl, 0x20
jne 0x53e0a3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53e15c
test cl, 0x10
jne 0x53e0cd
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53e15e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53e0f3
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53e14e
and eax, 0x3f
test cl, 4
jne 0x53e129
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53e15e
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x53e181
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x574d48]
movzx eax, byte [edx*8 + 0x5714c9]
mov eax, dword [eax*4 + 0x570a08]
cmp eax, 1
je 0x53e1ad
cmp eax, 3
je 0x53e1ad
cmp ecx, 0x5f
je 0x53e1ad
xor eax, eax
jmp 0x53e1b2
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53e508
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53e060
jmp 0x53e508
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53e508
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53e1f0
cmp esi, ebx
mov edx, 1
jae 0x53e34b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53e2fc
cmp eax, 0xc0
jb 0x53e2fc
test al, 0x20
jne 0x53e231
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, 2
jmp 0x53e2fa
test al, 0x10
jne 0x53e25a
movzx edx, byte [esi + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 3
jmp 0x53e2fc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 8
jne 0x53e287
movzx edx, byte [esi + 2]
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 4
jmp 0x53e2f4
test al, 4
jne 0x53e2c0
movzx edx, byte [esi + 2]
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov eax, ecx
mov edx, 5
jmp 0x53e2fc
and eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov edi, dword [esp + 0x48]
mov ecx, dword [edi*4 + 0x571388]
cmp eax, ecx
lea edi, [edi*4 + 0x571388]
jb 0x53e31f
add edi, 4
cmp eax, ecx
je 0x53e32c
mov ecx, dword [edi]
cmp eax, ecx
jae 0x53e312
cmp dword [esp + 0x44], 0
je 0x53e508
jmp 0x53e337
cmp dword [esp + 0x44], 0
jne 0x53e508
add ebp, 1
add esi, edx
cmp ebp, dword [esp + 0x18]
jl 0x53e1f0
jmp 0x53e508
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53e508
cmp esi, dword [eax + 0x84]
jbe 0x53e508
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jmp 0x53e502
cmp ebx, ebp
mov edx, ebx
jge 0x53e508
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
jmp 0x53e390
cmp esi, edi
mov ecx, 1
jae 0x53e4db
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53e497
cmp eax, 0xc0
jb 0x53e497
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53e3d3
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53e497
test al, 0x10
jne 0x53e3f5
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53e497
test al, 8
jne 0x53e423
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53e497
test al, 4
jne 0x53e45a
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53e497
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x24
je 0x53e4bf
cmp eax, 0x40
je 0x53e4bf
cmp eax, 0x60
je 0x53e4bf
cmp eax, 0xa0
jb 0x53e4b4
cmp eax, 0xd7ff
jbe 0x53e4bf
cmp eax, 0xe000
jae 0x53e4bf
xor eax, eax
jmp 0x53e4c4
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53e508
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53e390
jmp 0x53e508
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53e508
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53e508
mov ecx, 1
mov eax, edx
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
jbe 0x53f973
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea esp, [esp]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
push edx
push eax
push ebp
push ebx
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, 1
cmp dword [esp + 0x20], eax
je 0x53e57e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53e57e
lea esp, [esp]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53e570
cmp esi, dword [esp + 0x34]
ja 0x53e530
jmp 0x53f973
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x53e918
cmp ebx, ebp
mov dword [esp + 0x30], ebx
jge 0x53e8ad
lea edx, [eax - 0x15]
mov eax, dword [esp + 0x10]
lea esp, [esp]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x53e88d
movzx ecx, byte [esi]
add esi, edx
cmp dword [esp + 0x20], 0
je 0x53e6c1
cmp ecx, 0xc0
jb 0x53e6c1
test cl, 0x20
jne 0x53e5f1
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, edx
jmp 0x53e6c1
test cl, 0x10
jne 0x53e618
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x53e6c1
test cl, 8
jne 0x53e64b
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x53e6c1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 4
jne 0x53e687
movzx edx, byte [esi + 1]
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x53e6c1
and ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e6e3
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebx
movzx eax, word [edx*2 + 0x574d48]
movzx ebp, byte [eax*8 + 0x5714ca]
jae 0x53e843
lea ecx, [ecx]
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53e7f3
cmp ecx, 0xc0
jb 0x53e7f3
test cl, 0x20
jne 0x53e73b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53e7f1
test cl, 0x10
jne 0x53e765
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x53e7f3
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53e788
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53e7e3
and eax, 0x3f
test cl, 4
jne 0x53e7be
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x53e7f3
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x53e815
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714ca]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x570994], edx
je 0x53e843
add esi, edi
cmp esi, ebx
mov ebp, ecx
jb 0x53e700
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53e872
cmp esi, ebx
jb 0x53e872
cmp esi, dword [eax + 0x84]
jbe 0x53e872
mov edx, 1
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x543287
jmp 0x53e877
mov edx, 1
mov ecx, dword [esp + 0x30]
add ecx, edx
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
jl 0x53e5b0
jmp 0x53e8ad
cmp dword [eax + 0x88], 0
je 0x53e8ad
cmp esi, dword [eax + 0x84]
jbe 0x53e8ad
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
jbe 0x53f973
mov ebp, dword [esp + 0x20]
jmp 0x53e8d0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, 1
test ebp, ebp
jne 0x53ff13
movzx ecx, byte [esi]
jmp 0x53fffc
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
je 0x53f7c3
cmp eax, 0xf
ja case.default.0x538a1f
jmp dword [eax*4 + 0x543738]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53f72e
mov ebx, dword [esp + 0x10]
mov ecx, 1
lea ecx, [ecx]
cmp esi, dword [ebx + 0x78]
jae 0x53ea01
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53e981
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne 0x53f72e
lea ecx, [eax + 1]
jmp 0x53e9a5
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53e9a5
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53e9a5
cmp dword [edi], ecx
je 0x53f72e
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x53f72e
cmp dword [ebx + 0x88], 0
je 0x53e9d7
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53e9d7
cmp dword [ebx + 0x18], 0
jne 0x53e9d7
cmp dword [edi], 2
jne 0x53e9d7
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53e9d7
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x543287
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53e9f0
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53e9f0
add esi, ecx
cmp esi, eax
jb 0x53e9e0
add ebp, ecx
cmp ebp, dword [esp + 0x18]
jl 0x53e950
jmp 0x53f72e
cmp dword [ebx + 0x88], 0
je 0x53f72e
cmp esi, dword [ebx + 0x84]
jbe 0x53f72e
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x53f728
cmp ebp, 0x7fffffff
jge 0x53ea8d
cmp ebx, ebp
mov ecx, ebx
jge 0x53f72e
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x78]
mov edi, dword [esp + 0x18]
cmp esi, eax
jae 0x53ea6d
add esi, 1
cmp esi, eax
jae 0x53ea61
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53ea61
add esi, 1
cmp esi, eax
jb 0x53ea50
add ecx, 1
cmp ecx, edi
jl 0x53ea45
jmp 0x53f72e
cmp dword [ebp + 0x88], 0
je 0x53f72e
mov eax, ebp
cmp esi, dword [eax + 0x84]
jbe 0x53f72e
jmp 0x53f71a
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x53f72e
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x84]
jbe 0x53f72e
mov eax, ecx
jmp 0x53f71a
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x53eae6
cmp dword [edi + 0x88], 0
mov esi, dword [edi + 0x78]
je 0x53f72e
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x84]
jbe 0x53f72e
jmp 0x53f71a
add esi, eax
jmp 0x53f72e
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x53f72e
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x78]
jmp 0x53eb06
mov ebp, dword [esp + 0x10]
cmp esi, edx
mov ecx, 1
jae 0x53ec62
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53ec02
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53eb3e
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53ec02
test al, 0x10
jne 0x53eb60
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53ec02
test al, 8
jne 0x53eb8e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53ec02
test al, 4
jne 0x53ebc5
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53ec02
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0xd
jne 0x53ec1c
add esi, 1
cmp esi, edx
jae 0x53f72e
cmp byte [esi], 0xa
jne 0x53ec50
add esi, 1
jmp 0x53ec50
cmp eax, 0xa
je 0x53ec4e
cmp dword [ebp + 0x68], 0
jne 0x53f72e
cmp eax, 0xb
je 0x53ec4e
cmp eax, 0xc
je 0x53ec4e
cmp eax, 0x85
je 0x53ec4e
cmp eax, 0x2028
je 0x53ec4e
cmp eax, 0x2029
jne 0x53f72e
add esi, ecx
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x53eb02
jmp 0x53f72e
cmp dword [ebp + 0x88], 0
jmp 0x53ea97
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x53f72e
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x53ec90
cmp esi, ebp
mov ecx, 1
jae 0x53f701
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53ed8c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53ecc8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53ed8c
test al, 0x10
jne 0x53ecea
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53ed8c
test al, 8
jne 0x53ed18
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53ed8c
test al, 4
jne 0x53ed4f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53ed8c
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x180e
ja 0x53edaf
je 0x53edd8
cmp eax, 0xa0
ja 0x53eda8
je 0x53edd8
cmp eax, 9
je 0x53edd8
cmp eax, 0x20
jmp 0x53edd2
cmp eax, 0x1680
jmp 0x53edd2
cmp eax, 0x205f
ja 0x53edcd
je 0x53edd8
cmp eax, 0x2000
jb 0x53edd4
cmp eax, 0x200a
jbe 0x53edd8
cmp eax, 0x202f
jmp 0x53edd2
cmp eax, 0x3000
je 0x53edd8
xor eax, eax
jmp 0x53eddd
mov eax, 1
xor ebx, ebx
cmp edx, 0x12
sete bl
cmp eax, ebx
je 0x53f72e
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53ec90
jmp 0x53f72e
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x53f72e
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x18]
jmp 0x53ee20
cmp esi, ebp
mov ecx, 1
jae 0x53ef6a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53ef1c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53ee58
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53ef1c
test al, 0x10
jne 0x53ee7a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53ef1c
test al, 8
jne 0x53eea8
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53ef1c
test al, 4
jne 0x53eedf
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53ef1c
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x85
ja 0x53ef55
je 0x53ef63
cmp eax, 0xa
jb 0x53ef2f
cmp eax, 0xd
jbe 0x53ef63
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x38], 0x14
sete bl
cmp eax, ebx
je 0x53f72e
add edi, 1
add esi, ecx
cmp edi, edx
jl 0x53ee20
jmp 0x53f72e
cmp eax, 0x2028
jb 0x53ef2f
cmp eax, 0x2029
ja 0x53ef2f
mov eax, 1
jmp 0x53ef31
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53f72e
cmp esi, dword [eax + 0x84]
jbe 0x53f72e
jmp 0x53f71f
cmp ebx, ebp
mov edx, ebx
jge 0x53f72e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x53ec62
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53f09c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53efd8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f09c
test al, 0x10
jne 0x53effa
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53f09c
test al, 8
jne 0x53f028
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53f09c
test al, 4
jne 0x53f05f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53f09c
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53f0b4
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 4
jne 0x53f72e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53efa0
jmp 0x53f72e
cmp ebx, ebp
mov edx, ebx
jge 0x53f72e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x53f701
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53f1dc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53f118
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f1dc
test al, 0x10
jne 0x53f13a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53f1dc
test al, 8
jne 0x53f168
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53f1dc
test al, 4
jne 0x53f19f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53f1dc
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53f72e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 4
je 0x53f72e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f0e0
jmp 0x53f72e
cmp ebx, ebp
mov edx, ebx
jge 0x53f72e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x53ec62
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53f31c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53f258
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f31c
test al, 0x10
jne 0x53f27a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53f31c
test al, 8
jne 0x53f2a8
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53f31c
test al, 4
jne 0x53f2df
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53f31c
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53f334
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 1
jne 0x53f72e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f220
jmp 0x53f72e
cmp ebx, ebp
mov edx, ebx
jge 0x53f72e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x53f701
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53f45c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53f398
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f45c
test al, 0x10
jne 0x53f3ba
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53f45c
test al, 8
jne 0x53f3e8
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53f45c
test al, 4
jne 0x53f41f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53f45c
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53f72e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 1
je 0x53f72e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f360
jmp 0x53f72e
cmp ebx, ebp
mov edx, ebx
jge 0x53f72e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x53ec62
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53f59c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53f4d8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f59c
test al, 0x10
jne 0x53f4fa
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53f59c
test al, 8
jne 0x53f528
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53f59c
test al, 4
jne 0x53f55f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53f59c
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53f5b4
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 0x10
jne 0x53f72e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f4a0
jmp 0x53f72e
cmp ebx, ebp
mov edx, ebx
jge 0x53f72e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x53f701
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53f6dc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53f618
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f6dc
test al, 0x10
jne 0x53f63a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x53f6dc
test al, 8
jne 0x53f668
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x53f6dc
test al, 4
jne 0x53f69f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x53f6dc
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0x100
jae 0x53f72e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 0x10
je 0x53f72e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f5e0
jmp 0x53f72e
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53f72e
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53f72e
mov eax, edx
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
jbe 0x53f973
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x53f750
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53f79f
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53f791
cmp ebx, 0x11
jne 0x53f7ba
cmp esi, edi
jbe 0x53f973
cmp byte [esi], 0xa
jne 0x53f7ba
cmp byte [esi - 1], 0xd
jne 0x53f7ba
add esi, 0xffffffff
cmp esi, edi
ja 0x53f750
jmp 0x53f973
cmp eax, 0xf
ja case.default.0x538a1f
jmp dword [eax*4 + 0x543778]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53f8fb
lea ebx, [esi + 1]
jmp 0x53f7f0
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x53f899
mov eax, dword [ecx + 0x18]
test eax, eax
lea edi, [ecx + 0x1c]
je 0x53f823
mov ecx, dword [ecx + 0x78]
push 0
push edi
push ecx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne 0x53f8fb
mov ecx, dword [esp + 0x10]
jmp 0x53f84d
mov edx, dword [ecx + 0x78]
sub edx, dword [edi]
cmp esi, edx
ja 0x53f84d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f84d
cmp dword [edi], 1
je 0x53f8fb
mov cl, byte [ebx]
mov edx, dword [esp + 0x10]
cmp cl, byte [edx + 0x35]
je 0x53f8fb
mov ecx, edx
cmp dword [ecx + 0x88], 0
je 0x53f881
cmp ebx, dword [ecx + 0x78]
jb 0x53f881
cmp dword [ecx + 0x18], 0
jne 0x53f881
cmp dword [edi], 2
jne 0x53f881
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53f881
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x543287
add ebp, 1
add esi, 1
add ebx, 1
cmp ebp, dword [esp + 0x18]
jl 0x53f7f0
jmp 0x53f8fb
cmp dword [ecx + 0x88], 0
je 0x53f8fb
cmp esi, dword [ecx + 0x84]
jbe 0x53f8fb
mov eax, dword [esp + 0x10]
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x53f8f5
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x53f990
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x53f8fb
cmp esi, dword [edi + 0x84]
jbe 0x53f8fb
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x543287
cmp dword [esp + 0x3c], 0
jne 0x5363d0
cmp esi, dword [esp + 0x34]
je 0x53f973
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x53f920
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, 1
cmp ebx, 0x11
jne 0x53f96f
cmp esi, edi
jbe 0x53f971
cmp byte [esi], 0xa
jne 0x53f96f
cmp byte [esi - 1], 0xd
jne 0x53f96f
add esi, 0xffffffff
cmp esi, edi
jne 0x53f920
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x20], edx
jae 0x540198
xor edx, edx
jmp 0x536394
add esi, eax
jmp 0x53f8fb
cmp ebx, ebp
mov ecx, ebx
jge 0x53f8fb
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x53f9fe
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x53f9cd
add esi, ebx
cmp esi, edx
jae 0x53f8fb
cmp byte [esi], 0xa
jne 0x53f9f3
jmp 0x53f9f1
cmp eax, 0xa
je 0x53f9f1
cmp dword [edi + 0x68], 0
jne 0x53f8fb
cmp eax, 0xb
je 0x53f9f1
cmp eax, 0xc
je 0x53f9f1
cmp eax, 0x85
jne 0x53f8fb
add esi, ebx
add ecx, ebx
cmp ecx, ebp
jl 0x53f9b0
jmp 0x53f8fb
cmp dword [edi + 0x88], 0
je 0x53f8fb
cmp esi, dword [edi + 0x84]
jbe 0x53f8fb
mov dword [edi + 0x64], ebx
cmp dword [edi + 0x88], ebx
jmp 0x53f8f5
cmp ebx, ebp
mov ecx, ebx
jge 0x53f8fb
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x53f9fe
mov al, byte [esi]
cmp al, 9
je 0x53f8fb
cmp al, 0x20
je 0x53f8fb
cmp al, 0xa0
je 0x53f8fb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x53fa37
jmp 0x53f8fb
cmp ebx, ebp
mov ecx, ebx
jge 0x53f8fb
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x53f9fe
mov al, byte [esi]
cmp al, 9
je 0x53fa8a
cmp al, 0x20
je 0x53fa8a
cmp al, 0xa0
jne 0x53f8fb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x53fa74
jmp 0x53f8fb
cmp ebx, ebp
mov ecx, ebx
jge 0x53f8fb
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x53f9fe
mov al, byte [esi]
cmp al, 0xa
jb 0x53face
cmp al, 0xd
jbe 0x53f8fb
cmp al, 0x85
je 0x53f8fb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x53fab0
jmp 0x53f8fb
cmp ebx, ebp
mov ecx, ebx
jge 0x53f8fb
mov edx, dword [edi + 0x78]
mov ebx, 1
lea ecx, [ecx]
cmp esi, edx
jae 0x53f9fe
mov al, byte [esi]
cmp al, 0xa
jb 0x53f8fb
cmp al, 0xd
jbe 0x53fb0e
cmp al, 0x85
jne 0x53f8fb
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x53faf0
jmp 0x53f8fb
cmp ebx, ebp
mov eax, ebx
jge 0x53f8fb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53f8d6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
jne 0x53f8fb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x53fb28
jmp 0x53f8fb
cmp ebx, ebp
mov eax, ebx
jge 0x53f8fb
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53f8d6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
je 0x53f8fb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x53fb60
jmp 0x53f8fb
cmp ebx, ebp
mov eax, ebx
jge 0x53f8fb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53f8d6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
jne 0x53f8fb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x53fb94
jmp 0x53f8fb
cmp ebx, ebp
mov eax, ebx
jge 0x53f8fb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53f8d6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
je 0x53f8fb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x53fbc8
jmp 0x53f8fb
cmp ebx, ebp
mov eax, ebx
jge 0x53f8fb
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53f8d6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
jne 0x53f8fb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x53fc00
jmp 0x53f8fb
cmp ebx, ebp
mov eax, ebx
jge 0x53f8fb
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53f8d6
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
je 0x53f8fb
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x53fc34
jmp 0x53f8fb
mov ecx, dword [esp + 0x17c]
add ecx, 1
cmp byte [edx], 0x7a
push ecx
push ebx
push edi
push eax
push ebp
jne 0x53fc92
mov edx, dword [esp + 0x28]
add edx, 3
push edx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x53f973
mov edx, dword [esp + 0x54]
push edx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
add dword [esp + 0x14], 3
jmp 0x53f973
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov ch, byte [edx + 3]
mov cl, byte [edx + 4]
lea ebp, [ecx + ecx]
cmp ebp, dword [edi + 0x14]
mov dword [esp + 0x38], ecx
jge 0x53fd9b
mov eax, dword [edi + 0xc]
mov edx, dword [eax + ebp*4]
mov dword [esp + 0x24], edx
mov edx, dword [eax + ebp*4 + 4]
mov dword [esp + 0x50], edx
mov edx, dword [edi + 0x10]
sub edx, ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [edi + 0x90]
mov dword [esp + 0x3c], edx
mov edx, esi
sub edx, dword [edi + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 0xac]
mov dword [esp + 0x30], ecx
mov dword [eax], edx
jmp 0x53fd10
cmp dword [esp + 0x40], 0x88
jb 0x53fd24
mov dword [edi + 0x98], 2
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x170]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x570830]
push eax
add edx, ebx
push edx
push esi
call fcn.005362d0
cmp eax, 0xfffffc1b
je 0x54050c
cmp eax, 0xfffffc20
jne 0x5404d9
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x54329a
cmp byte [ebx], 0x77
je 0x53fd90
cmp byte [ecx], 0x77
jne 0x54329a
xor eax, eax
jmp 0x5404e1
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, 0x88
jae 0x53fdd6
cmp eax, 0x81
je 0x53fdd6
cmp dword [edi + 0x6c], 0
jne 0x53fde0
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
cmp byte [eax + edx], 0x77
je 0x53fde0
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x570830]
add edx, ecx
mov dword [esp + 0x14], edx
jmp 0x53f973
mov dword [edi + 0x98], 2
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
mov ebp, dword [edi + 0xac]
mov ebx, dword [edi + 0x90]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push edi
push eax
mov eax, dword [esp + 0x24]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x570830]
add ecx, eax
push ecx
push esi
call fcn.005362d0
cmp eax, 0xfffffc20
jne 0x53fe4f
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add edx, ecx
cmp dword [edi + 0x7c], edx
jae 0x54329a
cmp byte [ecx], 0x77
je 0x53fe57
cmp byte [edx], 0x77
jne 0x54329a
jmp 0x53fe57
test eax, eax
jne 0x540537
mov eax, dword [esp + 0x14]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov dword [edi + 0xac], ebp
add eax, edx
cmp byte [eax], 0x77
mov dword [esp + 0x14], eax
jne case.0x543130.14
mov dword [edi + 0x90], ebx
mov edx, eax
jmp 0x53fd9b
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
add edx, 1
cmp byte [ecx], 0x7a
push edx
push eax
push ebp
push ebx
push edi
jne 0x53fed6
mov ecx, dword [esp + 0x28]
add ecx, 3
push ecx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov ecx, dword [esp + 0x40]
mov al, byte [ecx]
cmp al, 0x81
je 0x540699
cmp al, 0x88
jae 0x5406d3
mov dword [esp + 0x14], ecx
jmp 0x53f973
mov ecx, dword [esp + 0x54]
push ecx
push esi
call fcn.005362d0
cmp eax, 0xfffffc1b
jne 0x53fef4
mov edx, dword [ebp + 0xb4]
cmp edx, dword [esp + 0x40]
jmp 0x53fef6
test eax, eax
jne 0x54329a
mov eax, dword [esp + 0x40]
cmp byte [eax], 0x81
je 0x5406f6
add dword [esp + 0x14], 3
jmp 0x53f973
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53ff2e
jmp 0x53ff20
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53ff20
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x53fffc
test cl, 0x20
jne 0x53ff54
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
jmp 0x53fffa
test cl, 0x10
jne 0x53ff79
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
jmp 0x53fffc
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53ff9a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x53ffec
and eax, 0x3f
test cl, 4
jne 0x53ffcb
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x53fffc
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x54001e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ebx, byte [eax*8 + 0x5714ca]
cmp esi, dword [esp + 0x34]
jbe 0x53f973
mov ebp, dword [esp + 0x20]
test ebp, ebp
lea edi, [esi - 1]
jne 0x54004d
movzx ecx, byte [edi]
jmp 0x54012c
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x540065
mov dl, byte [edi - 1]
sub edi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x540057
movzx ecx, byte [edi]
cmp ecx, 0xc0
jb 0x54012c
test cl, 0x20
jne 0x54008d
movzx eax, byte [edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x54012c
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x5400b4
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x54012c
test cl, 8
jne 0x5400ca
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
jmp 0x54011c
and eax, 0x3f
test cl, 4
jne 0x5400fb
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x54012c
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x54014e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx eax, byte [eax*8 + 0x5714ca]
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [eax*4 + 0x570994], edx
je 0x54017b
mov esi, edi
mov ebx, eax
jmp 0x540030
cmp esi, dword [esp + 0x34]
ja 0x53e8d0
jmp 0x53f973
sub ecx, 1
je case.0x543130.14
jmp 0x54329a
add dword [eax], 1
mov eax, 0xfffffff8
jmp 0x54329a
mov eax, 0xffffffeb
jmp 0x54329a
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
lea edi, [eax + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov ecx, dword [esp + 0x17c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push ebx
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x570830]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
push ecx
push esi
call fcn.005362d0
cmp eax, 1
je 0x54020d
cmp eax, 0xfffffc19
jne 0x540221
cmp dword [ebx + 0xac], 0
jne 0x540221
mov dword [ebx + 0xac], edi
jmp 0x54329a
cmp eax, 0xfffffc1f
jne 0x54329a
mov edx, edi
mov edi, dword [ebx + 0x7c]
mov cl, byte [edx]
cmp cl, byte [edi]
jne 0x540248
test cl, cl
je 0x540256
mov cl, byte [edx + 1]
add edx, 1
add edi, 1
cmp cl, byte [edi]
je 0x540237
movzx edi, byte [edi]
movzx ecx, byte [edx]
sub ecx, edi
jne 0x54329a
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x570830]
add edx, eax
push edx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov eax, 0xfffffc1c
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x24]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x570830]
add ecx, eax
push ecx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov eax, 0xfffffc1d
jmp 0x54329a
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edi, [eax + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov edx, dword [esp + 0x17c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push ebx
push edx
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x570830]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push esi
call fcn.005362d0
cmp eax, 1
je 0x540357
cmp eax, 0xfffffc19
jne 0x540366
cmp dword [ebx + 0xac], 0
jne 0x540366
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x54329a
mov eax, 0xfffffc1d
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x170]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edi
push edx
push eax
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x570830]
add edx, eax
push edx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x170]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x570830]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
add ebx, 2
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc1f
jmp 0x54329a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x170]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
movzx edx, byte [edi]
push ebx
push eax
movzx eax, byte [edx + 0x570830]
push ecx
add eax, edi
push eax
push esi
call fcn.005362d0
jmp 0x5404c4
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
lea ebp, [edi + 2]
mov dword [ebx + 0xb0], ebp
mov dword [ebx + 0xac], 0
mov ecx, dword [esp + 0x17c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
movzx edx, byte [edi]
push ebx
push eax
movzx eax, byte [edx + 0x570830]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.005362d0
cmp eax, 1
je 0x5404b5
cmp eax, 0xfffffc19
jne 0x5404c4
cmp dword [ebx + 0xac], 0
jne 0x5404c4
mov dword [ebx + 0xac], ebp
test eax, eax
jne 0x54329a
mov dword [ebx + 0x7c], edi
mov eax, 0xfffffc20
jmp 0x54329a
test eax, eax
jne 0x54329a
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
mov ecx, dword [esp + 0x30]
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [edi + 0xac], ecx
add ebx, edx
cmp byte [ebx], 0x77
mov dword [esp + 0x14], ebx
je 0x53fd10
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov dword [edx + ebp*4], ecx
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x50]
mov dword [edx + ebp*4 + 4], ecx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x38]
mov ecx, dword [edi + 0xc]
mov dword [ecx + edx*4], esi
jmp 0x54329a
cmp eax, 0xfffffc1b
jne 0x54329a
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
cmp dl, 0x81
je 0x54056b
cmp dl, 0x77
jne 0x540561
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x77
je 0x540552
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
cmp dword [edi + 0xb4], ecx
jne 0x54329a
xor eax, eax
jmp 0x54329a
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x5405b8
cmp ebx, 0x9f
je 0x5405b8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebp
jne 0x5405bc
cmp dword [eax + 0x5c], ebp
jne 0x5405b1
cmp dword [eax + 0x60], ebp
je 0x5405bc
mov edx, dword [eax + 0x94]
add edx, dword [eax + 0x74]
cmp ecx, edx
jne 0x5405bc
xor eax, eax
jmp 0x54329a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x170]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], edx
mov dword [eax + 0x7c], ecx
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffc18
add eax, 1
jmp 0x54329a
mov eax, 0xffffffe6
jmp 0x54329a
mov eax, 0xfffffffa
jmp 0x54329a
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0xdc]
cmp eax, edx
je 0x54060f
push eax
call dword [0x593e40]
mov eax, edi
jmp 0x54329a
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x540636
push eax
call dword [0x593e40]
xor eax, eax
jmp 0x54329a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x80], esi
mov dword [eax + 0x8c], edx
mov dword [eax + 0x7c], ecx
mov eax, 1
jmp 0x54329a
mov edx, dword [esp + 0x28]
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x7c], edx
mov eax, 1
jmp 0x54329a
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x8c], ebx
mov eax, 0xfffffc1a
jmp 0x54329a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
add ecx, 1
push ecx
push edx
push ebp
push ebx
push edi
push eax
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0xb4], ecx
mov eax, 0xfffffc1b
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
add edx, 1
push edx
push eax
push ebp
push ebx
push edi
push ecx
push esi
call fcn.005362d0
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add edx, 1
push edx
push eax
push ebp
push ebx
push edi
add ecx, 3
push ecx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xb4], edx
mov eax, 0xfffffc1b
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
add eax, 1
push eax
mov eax, dword [esp + 0x2c]
push edx
push ebp
push ebx
push eax
push ecx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov dword [ebp + 0xb4], edi
mov eax, 0xfffffc1b
jmp 0x54329a
xor ebp, ebp
cmp dword [edi + 0x88], ebp
je case.0x543130.14
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb case.0x543130.14
cmp dword [edi + 0x18], ebp
jne case.0x543130.14
cmp dword [edi + 0x1c], 2
jne case.0x543130.14
mov dl, byte [esi]
cmp dl, byte [edi + 0x34]
jne case.0x543130.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x543281
cmp dword [edi + 0x88], 0
je case.0x543130.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x543130.14
cmp dword [edi + 0x18], 0
jne case.0x543130.14
cmp dword [edi + 0x1c], 2
jne case.0x543130.14
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne case.0x543130.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x543281
cmp dword [ecx + 0x88], ebp
jmp 0x541100
cmp dword [eax + 0x88], ebp
jmp 0x54158f
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x10]
jne 0x540f80
mov esi, dword [eax + 0x78]
jmp 0x540f80
cmp ebp, eax
mov dword [esp + 0x34], esi
jge 0x540893
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.00535f90
test eax, eax
jl 0x54085c
add ebp, 1
add esi, eax
cmp ebp, dword [esp + 0x18]
jl 0x540836
jmp 0x54088d
cmp eax, 0xfffffffe
jne 0x54088d
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x54088d
mov edx, dword [eax + 0x78]
cmp edx, dword [eax + 0x84]
jbe 0x54088d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
cmp esi, dword [esp + 0x34]
jb 0x5408d5
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x5408a0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
sub esi, edi
cmp esi, dword [esp + 0x34]
jae 0x5408a0
xor eax, eax
jmp 0x54329a
cmp eax, 0xfffffffe
jne 0x5408e4
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je case.0x543130.14
cmp esi, dword [ebp + 0x78]
jb case.0x543130.14
cmp esi, dword [ebp + 0x84]
jbe case.0x543130.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x543281
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov edi, edx
je 0x540aca
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
jmp 0x540960
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x540a69
test al, 0x20
jne 0x5409a2
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x540a69
test al, 0x10
jne 0x5409c8
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x540a69
test al, 8
jne 0x5409fa
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x540a69
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x540a35
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x540a69
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xff
jbe 0x540a77
cmp dword [esp + 0x40], 0x6e
jmp 0x540a8f
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x540960
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
jmp 0x540b00
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x30]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, dl
je case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x540b00
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
mov edi, ebx
mov ebx, dword [esp + 0x28]
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x540cb7
cmp eax, 0xc0
jb 0x540cb7
test al, 0x20
jne 0x540bf0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x540cb7
test al, 0x10
jne 0x540c16
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x540cb7
test al, 8
jne 0x540c48
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x540cb7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x540c83
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x540cb7
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
push edx
push ecx
push eax
call fcn.00545250
test eax, eax
je case.0x543130.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x540ba3
jmp 0x54329a
cmp dword [eax + 0x88], 0
je case.0x543130.14
cmp esi, dword [eax + 0x78]
jb case.0x543130.14
jmp 0x540d28
cmp dword [eax + 0x88], ebp
je case.0x543130.14
cmp esi, dword [eax + 0x84]
jbe case.0x543130.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x543281
cmp dword [edi + 0x88], ebp
jmp 0x541609
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x543130.14
cmp esi, dword [ecx + 0x78]
jb case.0x543130.14
cmp esi, dword [ecx + 0x84]
jbe case.0x543130.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x543281
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
push esi
mov dword [esp + 0x4c], edi
call fcn.005362d0
test eax, eax
jne 0x54329a
jmp 0x540dd0
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x18]
jge case.0x543130.14
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edx, ebx
sub edx, ebp
cmp esi, edx
ja 0x540e8e
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x540e14
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x540e1c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x540e00
test eax, eax
je 0x540e81
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x540e6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x540e7d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x540e6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x540e7d
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x540e6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x540e7d
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x540e7d
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x540e83
or eax, 0xffffffff
jmp 0x540e83
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x540e8e
add esi, ebp
jmp 0x540f3d
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x540f7c
sub ebx, eax
cmp esi, ebx
ja 0x540f7c
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x540ec6
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x540ece
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x540eb2
test eax, eax
je 0x540f33
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x540f25
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x540f33
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x540f25
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x540f33
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x540f25
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x540f33
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x540f33
test edi, edi
mov eax, 1
jg 0x540f35
or eax, 0xffffffff
jmp 0x540f35
xor eax, eax
test eax, eax
jne 0x540f7c
add esi, dword [esp + 0x40]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x30], 1
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
call fcn.005362d0
test eax, eax
je 0x540dd0
jmp 0x54329a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x543130.14
cmp esi, dword [eax + 0x78]
jb case.0x543130.14
cmp esi, dword [eax + 0x84]
jbe case.0x543130.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x543281
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
cmp ebx, eax
je 0x541018
cmp dword [esp + 0x38], eax
jne case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push ebp
add esi, 1
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x540ff0
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
lea esp, [esp]
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx edx, byte [esi]
add esi, 1
cmp ebx, edx
jne case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
push ebp
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541090
jmp 0x54329a
cmp dword [edx + 0x88], ebp
jmp 0x543261
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x543130.14
cmp esi, dword [ecx + 0x84]
jbe case.0x543130.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x543281
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x5412b7
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54126e
test al, 0x20
jne 0x5411a7
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54126e
test al, 0x10
jne 0x5411cd
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x54126e
test al, 8
jne 0x5411ff
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x54126e
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x54123a
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x54126e
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp dword [esp + 0x30], eax
je case.0x543130.14
cmp dword [esp + 0x38], eax
je case.0x543130.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541165
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
cmp dword [esp + 0x30], eax
je case.0x543130.14
cmp dword [esp + 0x38], eax
je case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebx
push ebp
add esi, 1
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x5412e4
jmp 0x54329a
cmp dword [ebx + 0x88], 0
je case.0x543130.14
cmp esi, dword [ebx + 0x84]
jbe case.0x543130.14
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jmp 0x543281
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x5414fa
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x5414bb
test al, 0x20
jne 0x5413f4
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x5414bb
test al, 0x10
jne 0x54141a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x5414bb
test al, 8
jne 0x54144c
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x5414bb
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x541487
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x5414bb
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp dword [esp + 0x30], eax
je case.0x543130.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x5413b2
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebx
push ebp
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
jmp 0x541530
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x543130.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebx
push ebp
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541530
jmp 0x54329a
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x543130.14
cmp esi, dword [eax + 0x84]
jbe case.0x543130.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x543281
cmp dword [ebx + 0x88], 0
je case.0x543130.14
cmp esi, dword [ebx + 0x84]
jbe case.0x543130.14
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x543281
cmp dword [ecx + 0x88], 0
je case.0x543130.14
cmp esi, dword [ecx + 0x84]
jbe case.0x543130.14
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jmp 0x543281
cmp dword [edi + 0x88], 0
je case.0x543130.14
cmp esi, dword [edi + 0x84]
jbe case.0x543130.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x543281
test eax, eax
jl 0x542813
cmp eax, 0xa
ja case.default.0x538a1f
jmp dword [eax*4 + 0x5437b8]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
nop
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5416d2
cmp eax, 0xc0
jb 0x5416d2
test al, 0x20
jne 0x5416b4
add esi, 1
jmp 0x5416d2
test al, 0x10
jne 0x5416bd
add esi, 2
jmp 0x5416d2
test al, 8
jne 0x5416c6
add esi, 3
jmp 0x5416d2
test al, 4
jne 0x5416cf
add esi, 4
jmp 0x5416d2
add esi, 5
cmp dword [esp + 0x44], 0
jne case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541680
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
jmp 0x541750
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x541869
cmp ecx, 0xc0
jb 0x541869
test cl, 0x20
jne 0x54179f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x541869
test cl, 0x10
jne 0x5417c6
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x541869
test cl, 8
jne 0x5417f9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x541869
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x541835
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x541869
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x54188b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx eax, byte [eax*8 + 0x5714c9]
cmp eax, 9
je 0x5418b0
cmp eax, 5
je 0x5418b0
cmp eax, 8
je 0x5418b0
xor eax, eax
jmp 0x5418b5
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541750
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
lea ecx, [ecx]
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x541a49
cmp ecx, 0xc0
jb 0x541a49
test cl, 0x20
jne 0x54197f
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x541a49
test cl, 0x10
jne 0x5419a6
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x541a49
test cl, 8
jne 0x5419d9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x541a49
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x541a15
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x541a49
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x541a6b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x570a08], eax
sete dl
cmp edx, dword [esp + 0x44]
je case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541930
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x541c1e
cmp ecx, 0xc0
jb 0x541c1e
test cl, 0x20
jne 0x541b54
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x541c1e
test cl, 0x10
jne 0x541b7b
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x541c1e
test cl, 8
jne 0x541bae
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x541c1e
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x541bea
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x541c1e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x541c40
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541b05
jmp 0x54329a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x541dec
cmp ecx, 0xc0
jb 0x541dec
test cl, 0x20
jne 0x541d22
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x541dec
test cl, 0x10
jne 0x541d49
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x541dec
test cl, 8
jne 0x541d7c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x541dec
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x541db8
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x541dec
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x541e0e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x574d48]
movzx edx, byte [ecx*8 + 0x5714c8]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x543130.14
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541cd3
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x541fba
cmp ecx, 0xc0
jb 0x541fba
test cl, 0x20
jne 0x541ef0
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x541fba
test cl, 0x10
jne 0x541f17
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x541fba
test cl, 8
jne 0x541f4a
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x541fba
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x541f86
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x541fba
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x541fdc
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
mov eax, dword [ecx*4 + 0x570a08]
cmp eax, 1
je 0x542003
cmp eax, 3
je 0x542003
xor eax, eax
jmp 0x542008
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x541ea1
jmp 0x54329a
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542199
cmp ecx, 0xc0
jb 0x542199
test cl, 0x20
jne 0x5420cf
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x542199
test cl, 0x10
jne 0x5420f6
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x542199
test cl, 8
jne 0x542129
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x542199
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x542165
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x542199
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x180e
ja 0x5421e3
je case.0x542203.8192
cmp ecx, 0x85
ja 0x5421cf
je case.0x542203.8192
cmp ecx, 9
jb case.0x542203.8203
cmp ecx, 0xd
jbe case.0x542203.8192
cmp ecx, 0x20
jmp 0x54221c
cmp ecx, 0xa0
je case.0x542203.8192
cmp ecx, 0x1680
jmp 0x54221c
cmp ecx, 0x202f
ja 0x54220a
je case.0x542203.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x542203.8203
movzx eax, byte [eax + 0x5437ec]
jmp dword [eax*4 + 0x5437e4]
cmp ecx, 0x205f
je case.0x542203.8192
cmp ecx, 0x3000
je case.0x542203.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x542244
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714c9]
xor edx, edx
cmp dword [ecx*4 + 0x570a08], 6
sete dl
cmp edx, dword [esp + 0x44]
je case.0x543130.14
jmp 0x54227a
cmp dword [esp + 0x44], 0
jne case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x542080
jmp 0x54329a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
jmp 0x5422f0
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542409
cmp ecx, 0xc0
jb 0x542409
test cl, 0x20
jne 0x54233f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x542409
test cl, 0x10
jne 0x542366
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x542409
test cl, 8
jne 0x542399
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x542409
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x5423d5
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x542409
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x54242d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x574d48]
movzx edx, byte [eax*8 + 0x5714c9]
mov eax, dword [edx*4 + 0x570a08]
cmp eax, 1
je 0x542459
cmp eax, 3
je 0x542459
cmp ecx, 0x5f
je 0x542459
xor eax, eax
jmp 0x54245e
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x5422f0
jmp 0x54329a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5425ea
cmp eax, 0xc0
jb 0x5425ea
test al, 0x20
jne 0x542523
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x5425ea
test al, 0x10
jne 0x542549
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x5425ea
test al, 8
jne 0x54257b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x5425ea
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x5425b6
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x5425ea
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [esp + 0x48]
mov ecx, dword [edx*4 + 0x571388]
cmp eax, ecx
lea edx, [edx*4 + 0x571388]
jb 0x54260d
add edx, 4
cmp eax, ecx
je 0x54261a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x542600
cmp dword [esp + 0x44], 0
je case.0x543130.14
jmp 0x542625
cmp dword [esp + 0x44], 0
jne case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x5424d6
jmp 0x54329a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541588
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5427a7
cmp eax, 0xc0
jb 0x5427a7
test al, 0x20
jne 0x5426e0
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x5427a7
test al, 0x10
jne 0x542706
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x5427a7
test al, 8
jne 0x542738
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x5427a7
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x542773
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x5427a7
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x24
je 0x5427cf
cmp eax, 0x40
je 0x5427cf
cmp eax, 0x60
je 0x5427cf
cmp eax, 0xa0
jb 0x5427c4
cmp eax, 0xd7ff
jbe 0x5427cf
cmp eax, 0xe000
jae 0x5427cf
xor eax, eax
jmp 0x5427d4
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x542693
jmp 0x54329a
cmp dword [esp + 0x38], 0x16
jne 0x542b67
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x170]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push edi
push eax
push ecx
push edx
push esi
mov dword [esp + 0x4c], ebx
call fcn.005362d0
test eax, eax
jne 0x54329a
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jge case.0x543130.14
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x541588
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542972
cmp ecx, 0xc0
jb 0x542972
test cl, 0x20
jne 0x5428a8
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x542972
test cl, 0x10
jne 0x5428cf
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x542972
test cl, 8
jne 0x542902
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x542972
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x54293e
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x542972
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x572b48]
shl eax, 7
and ecx, 0x8000007f
jns 0x542994
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, ebp
movzx ecx, word [eax*2 + 0x574d48]
movzx ebx, byte [ecx*8 + 0x5714ca]
jae 0x542af9
mov edi, edi
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x542aa9
cmp ecx, 0xc0
jb 0x542aa9
test cl, 0x20
jne 0x5429eb
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x542aa7
test cl, 0x10
jne 0x542a15
movzx eax, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov edi, 3
jmp 0x542aa9
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x542a3b
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x542a99
and eax, 0x3f
test cl, 4
jne 0x542a74
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov edi, 5
jmp 0x542aa9
and ecx, edi
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 5]
mov edi, 6
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x572b48]
shl edx, 7
and ecx, 0x8000007f
jns 0x542acb
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x574d48]
movzx ecx, byte [eax*8 + 0x5714ca]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x570994], edx
je 0x542af9
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x5429b0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x542b28
cmp esi, ebp
jb 0x542b28
cmp esi, dword [eax + 0x84]
jbe 0x542b28
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x543287
jmp 0x542b2d
mov ecx, 1
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x1c]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
push edx
push esi
call fcn.005362d0
test eax, eax
je 0x542853
jmp 0x54329a
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x28]
je 0x543009
mov ecx, dword [esp + 0x17c]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
add ecx, 1
push ecx
push edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
push eax
push ebx
push ebp
push edi
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
nop
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jge case.0x543130.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54325a
cmp dword [esp + 0x38], 0xc
jne 0x542c2a
mov eax, dword [edx + 0x18]
test eax, eax
je 0x542c03
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne case.0x543130.14
mov edx, dword [esp + 0x10]
jmp 0x542c2a
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x542c2a
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x542c2a
cmp dword [edx + 0x1c], 1
je case.0x543130.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x543130.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x542d14
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x542c55
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x542d14
test al, 0x10
jne 0x542c75
and eax, 0xf
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x542d14
test al, 8
jne 0x542ca1
and eax, 7
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x542d14
test al, 4
jne 0x542cd9
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x542d14
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x538a1f
jmp dword [ecx*4 + 0x543818]
cmp dword [edx + 0x88], 0
je case.0x542d24.13
cmp esi, dword [edx + 0x78]
jb case.0x542d24.13
cmp dword [edx + 0x18], 0
jne case.0x542d24.13
cmp dword [edx + 0x1c], 2
jne case.0x542d24.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x542d24.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x543287
jmp case.0x542d24.13
cmp eax, 0xd
ja 0x542daf
je 0x542d95
cmp eax, 0xa
je case.0x542d24.13
jbe case.0x543130.14
cmp eax, 0xc
jmp 0x542dc6
cmp esi, dword [edx + 0x78]
jae case.0x542d24.13
cmp byte [esi], 0xa
jne case.0x542d24.13
add esi, 1
jmp case.0x542d24.13
cmp eax, 0x85
je 0x542dcc
cmp eax, 0x2027
jbe case.0x543130.14
cmp eax, 0x2029
ja case.0x543130.14
cmp dword [edx + 0x68], 0
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x180e
ja 0x542e10
je case.0x543130.14
cmp eax, 0xa0
ja 0x542e06
je case.0x543130.14
cmp eax, 9
je case.0x543130.14
cmp eax, 0x20
jmp 0x542fd3
cmp eax, 0x1680
jmp 0x542fd3
cmp eax, 0x205f
ja 0x542e3d
je case.0x543130.14
cmp eax, 0x2000
jb case.0x542d24.13
cmp eax, 0x200a
jbe case.0x543130.14
cmp eax, 0x202f
jmp 0x542fd3
cmp eax, 0x3000
jmp 0x542fd3
cmp eax, 0x180e
ja 0x542e88
je case.0x542d24.13
cmp eax, 0xa0
ja 0x542e78
je case.0x542d24.13
cmp eax, 9
je case.0x542d24.13
cmp eax, 0x20
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x1680
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x205f
ja 0x542ebb
je case.0x542d24.13
cmp eax, 0x2000
jb case.0x543130.14
cmp eax, 0x200a
jbe case.0x542d24.13
cmp eax, 0x202f
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x3000
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x85
ja 0x542eef
je case.0x543130.14
cmp eax, 0xa
jb case.0x542d24.13
cmp eax, 0xd
jbe case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x2028
jb case.0x542d24.13
cmp eax, 0x2029
jbe case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x85
ja 0x542f2e
je case.0x542d24.13
cmp eax, 0xa
jb case.0x543130.14
cmp eax, 0xd
ja case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x2028
jb case.0x543130.14
cmp eax, 0x2029
ja case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x100
jae case.0x542d24.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x100
jae case.0x543130.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jmp 0x542fd3
cmp eax, 0x100
jae case.0x542d24.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x100
jae case.0x543130.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jmp 0x542fd3
cmp eax, 0x100
jae case.0x542d24.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
jne case.0x543130.14
jmp case.0x542d24.13
cmp eax, 0x100
jae case.0x543130.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
je case.0x543130.14
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x30], 1
add edx, 1
push edx
push eax
push ecx
push ebx
push ebp
push edi
push esi
call fcn.005362d0
test eax, eax
je 0x542bb0
jmp 0x54329a
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
add edx, 1
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
push ebx
push esi
call fcn.005362d0
test eax, eax
jne 0x54329a
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x543130.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54325a
cmp dword [esp + 0x38], 0xc
jne 0x5430b1
mov eax, dword [edx + 0x18]
test eax, eax
je 0x54308a
push 0
mov ecx, edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00544ad0
test eax, eax
jne case.0x543130.14
mov edx, dword [esp + 0x10]
jmp 0x5430b1
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x5430b1
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x5430b1
cmp dword [edx + 0x1c], 1
je case.0x543130.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x543130.14
mov ecx, dword [esp + 0x38]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.default.0x538a1f
jmp dword [ecx*4 + 0x543858]
cmp dword [edx + 0x88], 0
je case.0x5430c7.13
cmp esi, dword [edx + 0x78]
jb case.0x5430c7.13
cmp dword [edx + 0x18], 0
jne case.0x5430c7.13
cmp dword [edx + 0x1c], 2
jne case.0x5430c7.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x5430c7.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x543287
jmp case.0x5430c7.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x543130.14
movzx eax, byte [eax + 0x5438a8]
jmp dword [eax*4 + 0x543898]
cmp esi, dword [edx + 0x78]
jae case.0x5430c7.13
cmp byte [esi], 0xa
jne case.0x5430c7.13
add esi, 1
jmp case.0x5430c7.13
cmp dword [edx + 0x68], 0
jne case.0x543130.14
jmp case.0x5430c7.13
cmp eax, 9
je case.0x543130.14
cmp eax, 0x20
je case.0x543130.14
cmp eax, 0xa0
jmp 0x543222
cmp eax, 9
je case.0x5430c7.13
cmp eax, 0x20
je case.0x5430c7.13
cmp eax, 0xa0
jne case.0x543130.14
jmp case.0x5430c7.13
cmp eax, 0xa
jb case.0x5430c7.13
cmp eax, 0xd
jbe case.0x543130.14
cmp eax, 0x85
jmp 0x543222
cmp eax, 0xa
jb case.0x543130.14
cmp eax, 0xd
jbe case.0x5430c7.13
cmp eax, 0x85
jne case.0x543130.14
jmp case.0x5430c7.13
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jne case.0x543130.14
jmp case.0x5430c7.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jmp 0x543222
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jne case.0x543130.14
jmp case.0x5430c7.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jmp 0x543222
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x543130.14
jmp case.0x5430c7.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
je case.0x543130.14
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 1
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
push ebx
push esi
add edi, 1
call fcn.005362d0
test eax, eax
je 0x543040
jmp 0x54329a
cmp dword [edx + 0x88], 0
je case.0x543130.14
cmp esi, dword [edx + 0x84]
jbe case.0x543130.14
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jle case.0x543130.14
mov eax, 0xfffffff4
jmp 0x54329a
mov eax, 0xfffffff2
jmp 0x54329a
mov eax, 0xfffffffb
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
pop esi
xor ecx, esp
call fcn.0054743a
add esp, 0x150
ret 0x1c