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

Disassembly:
sub esp, 0x150
mov eax, dword [0x596f48]
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 0x5378a7
cmp dword [esp + 0x170], edx
lea eax, [esp + 0x170]
jne 0x537883
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.00537800
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.0054899c
add esp, 0x150
ret 0x1c
sub eax, esi
cmp eax, edx
jle 0x5447cd
neg eax
pop esi
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.0054899c
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 0x5416c8
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x17c]
cmp ecx, dword [eax + 8]
jae 0x5416d5
cmp dword [eax + 0x98], 2
jne 0x537900
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.0x53792a.98
movzx ecx, byte [ebx + 0x544934]
jmp dword [ecx*4 + 0x5447e8]
mov edi, dword [esp + 0x10]
add dword [edi + 0x28], 1
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x5418f6
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x572cf0]
movzx eax, byte [edx + 1]
add eax, edx
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x537900
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 0x537980
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.00537800
cmp eax, 1
je 0x537a02
cmp eax, 0xfffffc20
jne 0x5379d7
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 0x5447ca
cmp byte [edx], 0x77
je 0x5379e3
cmp byte [ecx], 0x77
jne 0x5447ca
jmp 0x5379e3
test eax, eax
jne 0x5447ca
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 0x537980
jmp 0x537a0d
mov ebp, dword [edi + 0x7c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov al, byte [edx]
cmp al, 0x82
je 0x537a20
cmp al, 0x77
jne case.0x544660.14
jmp 0x537a20
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je 0x537a20
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 0x537a55
cmp esi, dword [esp + 0x3c]
jne 0x54118b
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x537900
mov dword [esp + 0x34], ebp
jmp 0x538534
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 0x537ab4
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 + 0x572cf0]
push edi
push ebx
push ebp
add ecx, eax
push ecx
push esi
call fcn.00537800
cmp eax, 0xfffffc1a
jne 0x538638
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 0x538694
mov esi, dword [edi + 0x80]
jmp 0x537aa0
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 0x537c34
mov ecx, dword [0x5982d0]
cmp ecx, ebp
mov ebp, dword [esp + 0x10]
je 0x537c21
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 0x537bee
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.0x544660.14
jl 0x5447ca
mov edx, dword [esp + 0x14]
movzx eax, byte [0x572d66]
add edx, eax
sub dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
jmp 0x537c38
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.0x537c5a.146
movzx edx, byte [eax + 0x5449f0]
jmp dword [edx*4 + 0x5449d8]
cmp dword [ebp + 0xa4], 0
je case.0x537c5a.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 0x537d7a
mov edx, dword [ebp + 0xa4]
cmp eax, dword [edx + 4]
je 0x537d7a
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 0x537cb0
cmp byte [ecx - 3], 0x77
jne 0x537900
cmp dword [esp + 0x40], 0x8c
jne 0x540ea3
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.00537800
jmp 0x5447ca
cmp dword [ebp + 0xa4], 0
je case.0x537c5a.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.0x537c5a.145
mov ecx, dword [ebp + 0xa4]
mov ecx, dword [ecx + 4]
jmp 0x537d30
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ebx, ebx
sub edi, 1
cmp edx, ecx
sete bl
test ebx, ebx
jne 0x537d7f
add eax, dword [ebp + 0x24]
test edi, edi
jg 0x537d30
jmp case.0x537c5a.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 0x537c92
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jl 0x537c92
mov ebx, 1
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x572cf0]
jmp 0x537c98
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.0x537c5a.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 0x537dd2
mov edi, dword [ebp + 0xc]
cmp dword [edi + ecx*4], 0
jge 0x537d7a
add eax, dword [ebp + 0x24]
test edx, edx
jg 0x537db4
jmp case.0x537c5a.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.00537800
cmp eax, 1
jne 0x537e77
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x170]
jle 0x537e29
mov dword [esp + 0x170], eax
cmp byte [edi], 0x92
mov ebx, 1
jne 0x537e35
add edi, ebx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
jne 0x537e53
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add edi, ecx
cmp byte [edi], 0x77
je 0x537e44
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 0x572cf0]
mov ecx, 3
sub ecx, eax
movzx eax, byte [edx + 0x572cf0]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x537c98
test eax, eax
je case.0x537c5a.145
cmp eax, 0xfffffc20
jne 0x5447ca
jmp case.0x537c5a.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 0x537ed3
or eax, 0x10000
add ebx, 3
mov dword [ecx + 0x90], eax
mov dword [esp + 0x14], ebx
jmp 0x537900
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 0x537f1f
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + eax*4]
lea ecx, [ecx + edx*4]
cmp edi, ecx
jae 0x537f15
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 0x537900
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x537f52
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x537f56
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.00537800
cmp eax, 1
je 0x537fd4
cmp eax, 0xfffffc19
je 0x537fd4
cmp eax, 0xfffffc20
mov edx, dword [esp + 0x30]
mov dword [edi + 0xac], edx
jne 0x537fbb
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x5447ca
cmp byte [ebx], 0x77
je 0x537fc3
cmp byte [ecx], 0x77
jmp 0x537fbd
test eax, eax
jne 0x5447ca
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x77
je 0x537f60
jmp 0x537fdb
mov ecx, dword [edi + 0x7c]
mov dword [esp + 0x28], ecx
cmp byte [ebx], 0x78
je case.0x544660.14
cmp dword [esp + 0x38], 0
jne 0x541ba2
nop
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x77
je 0x537ff0
mov eax, dword [edi + 0x8c]
add ebx, 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x170], eax
jmp 0x537900
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0xac]
mov eax, 1
cmp dword [edi + 0x98], eax
mov dword [esp + 0x30], ecx
jne 0x53803f
mov dword [esp + 0x38], eax
mov dword [edi + 0x98], ebp
jmp 0x538043
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.00537800
cmp eax, 0xfffffc20
mov ecx, dword [esp + 0x30]
mov dword [edi + 0xac], ecx
jg 0x5380a0
jne 0x5380c4
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 0x5380f0
cmp byte [ecx], 0x77
je 0x5380ab
cmp byte [eax], 0x77
jne 0x5380e5
jmp 0x5380ab
mov ecx, eax
sub ecx, 0
jne 0x5416ba
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 0x538050
jmp 0x538103
cmp eax, 0xfffffc19
je case.0x544660.14
cmp eax, 0xfffffc1b
jle 0x5447ca
cmp eax, 0xfffffc1f
jg 0x5447ca
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 0x5380f0
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x38], 0
jne 0x541ba2
add dword [esp + 0x14], 3
jmp 0x537900
mov edi, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x20], ebp
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
je 0x538164
cmp eax, ebp
jle 0x53816f
mov ebp, dword [edi + 0x74]
sub esi, 1
sub eax, 1
cmp esi, ebp
jb case.0x544660.14
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53815e
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x538150
test eax, eax
jg 0x538131
jmp 0x53816f
sub esi, eax
cmp esi, dword [edi + 0x74]
jb case.0x544660.14
cmp esi, dword [edi + 0x84]
jae 0x53817d
mov dword [edi + 0x84], esi
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x537900
mov ebx, dword [0x5982d0]
cmp ebx, ebp
mov edi, dword [esp + 0x14]
je 0x538272
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 0x538240
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.0x544660.14
jl 0x5447ca
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x537900
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 0x53829e
mov ch, byte [ebx + 3]
mov cl, byte [ebx + 4]
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x5382bc
cmp ecx, dword [eax + 4]
jne 0x5382b6
cmp esi, dword [eax + 0x14]
je 0x541b15
mov eax, dword [eax]
test eax, eax
jne 0x5382a8
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 0x538302
lea eax, [esp + 0xdc]
mov dword [esp + 0x5c], eax
jmp 0x53831d
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x596e9c]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x541b1f
mov ecx, dword [esp + 0x60]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.00548d20
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 0x53834e
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 + 0x572cf0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00537800
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.00548d20
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 0x538401
cmp edi, 0xfffffc19
je 0x538401
cmp edi, 0xfffffc1c
jl 0x5383d3
cmp edi, 0xfffffc20
jle 0x541b50
test edi, edi
jne 0x541b29
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 0x541b46
mov eax, dword [esp + 0x38]
jmp 0x538340
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x538417
push eax
call dword [0x596ea0]
mov edx, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov dword [esp + 0x28], edx
jmp 0x537900
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x77
je case.0x53792a.119
mov dword [esp + 0x14], edx
jmp 0x537900
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.00537800
test eax, eax
jne 0x5447ca
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x77
je 0x538480
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x537900
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 0x5384a0
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.00537800
test eax, eax
jne 0x5447ca
mov dword [esp + 0x14], edi
jmp 0x537900
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 0x5384f0
add eax, 3
mov dword [esp + 0x14], eax
jmp 0x537900
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 0x538534
cmp eax, 0x8b
jne 0x537a6e
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 0x537a72
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 0x5385b6
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 + 0x572cf0]
push ebx
add edx, eax
push edx
push esi
call fcn.00537800
cmp eax, 0xfffffc1a
jne 0x5386d3
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 0x538780
mov esi, dword [edi + 0x80]
jmp 0x538590
cmp eax, 0xfffffc20
jne 0x538666
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 0x5447ca
cmp byte [edx], 0x77
je 0x538672
cmp byte [ecx], 0x77
jne 0x5447ca
jmp 0x538672
test eax, eax
jne 0x5447ca
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 0x5386b5
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x90], ecx
jmp 0x537aa0
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x538694
mov edx, eax
add edx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], edx
jmp 0x537900
cmp dword [esp + 0x30], 0
jne 0x5386c7
cmp dword [esp + 0x34], 0
je case.0x544660.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x537900
cmp eax, 0xfffffc20
jne 0x538701
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 0x5447ca
cmp byte [edx], 0x77
je 0x53870d
cmp byte [ecx], 0x77
jne 0x5447ca
jmp 0x53870d
test eax, eax
jne 0x5447ca
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 0x538590
cmp dword [esp + 0x30], 0
jne 0x538760
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 0x538772
cmp dword [esp + 0x30], 0
je case.0x544660.14
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x537900
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x77
je 0x538780
mov dword [esp + 0x14], eax
mov edx, eax
jmp 0x538760
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 0x5387bd
cmp al, 0x81
je 0x5387bd
mov dword [esp + 0x3c], 0
jmp 0x5387ce
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 0x5387da
cmp al, 0x80
jbe 0x541b6d
cmp al, 0x82
je 0x541b6d
cmp al, 0x85
je 0x5387f6
cmp al, 0x8a
je 0x5387f6
cmp al, 0x86
je 0x5387f6
cmp al, 0x8b
jne 0x53889c
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 0x538823
mov eax, dword [ebp + 0xa4]
cmp dword [eax + 4], ecx
je 0x541b95
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 0x53884f
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5388a7
cmp edx, ebx
jle 0x538870
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x538870
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 0x5388a7
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
jmp 0x5388a7
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x541bac
cmp al, 0x78
je 0x5388c3
cmp esi, dword [esp + 0x3c]
jne 0x5413b5
mov edi, dword [esp + 0x40]
add ecx, 3
cmp byte [edi], 0x81
je 0x541c63
mov dword [esp + 0x14], ecx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x5388f4
cmp esi, dword [eax + 0x74]
je case.0x544660.14
jmp 0x5388f4
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], ebp
je 0x53891b
cmp esi, dword [eax + 0x74]
je case.0x544660.14
mov edx, dword [eax + 0x74]
cmp esi, edx
je 0x538991
cmp esi, dword [eax + 0x78]
je case.0x544660.14
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x538960
cmp esi, edx
jbe case.0x544660.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.005461c0
test eax, eax
je case.0x544660.14
add dword [esp + 0x14], 1
jmp 0x537900
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x74]
add ecx, edx
cmp esi, ecx
jb case.0x544660.14
mov ecx, esi
sub ecx, edx
mov dl, byte [ecx]
cmp dl, byte [eax + 0x34]
jne case.0x544660.14
cmp dword [eax + 0x1c], 1
je 0x538991
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x35]
jne case.0x544660.14
add dword [esp + 0x14], 1
jmp 0x537900
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
add ecx, dword [eax + 0x74]
cmp esi, ecx
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
add edx, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edx
jmp 0x537900
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x538a3f
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x538a08
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.00546000
test eax, eax
je 0x541c99
mov edx, dword [esp + 0x14]
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x541c99
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x541c99
cmp dword [edi + 0x1c], 1
je 0x538a6c
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x541c9b
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
cmp dword [edi + 0x48], ebp
jne case.0x544660.14
cmp dword [edi + 0x88], ebp
je 0x538a6c
cmp esi, dword [edi + 0x84]
jbe 0x538a6c
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5447b7
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x48], ebp
jne case.0x544660.14
cmp dword [edi + 0x58], ebp
je 0x538a9f
jmp 0x538a90
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jb case.0x544660.14
jmp 0x538a48
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x538b06
mov eax, dword [edi + 0x18]
cmp eax, ebp
lea ebp, [edi + 0x1c]
je 0x538acd
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x78]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00546000
test eax, eax
je 0x541ce4
mov edx, dword [esp + 0x14]
jmp 0x538af8
mov eax, dword [edi + 0x78]
sub eax, dword [ebp]
cmp esi, eax
ja 0x541ce4
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x541ce4
cmp dword [ebp], 1
je 0x538af8
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x541ce4
mov ecx, dword [edi + 0x78]
sub ecx, dword [ebp]
cmp esi, ecx
jne 0x541ce4
cmp dword [edi + 0x88], 0
jmp 0x538a4e
cmp dword [esp + 0x20], ebp
je 0x538df0
mov ebp, dword [esp + 0x10]
cmp esi, dword [ebp + 0x74]
je 0x538c77
mov dl, byte [esi - 1]
lea eax, [esi - 1]
and dl, 0xc0
cmp dl, 0x80
jne 0x538b45
mov cl, byte [eax - 1]
sub eax, 1
and cl, 0xc0
cmp cl, 0x80
je 0x538b37
cmp eax, dword [ebp + 0x84]
jae 0x538b53
mov dword [ebp + 0x84], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x538c03
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x20
jne 0x538b7b
and ecx, 0x1f
shl ecx, 6
or ecx, edx
jmp 0x538c03
test cl, 0x10
jne 0x538b8f
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x538bf7
test cl, 8
jne 0x538ba6
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x538bf1
test cl, 4
jne 0x538bc9
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 0x538bf1
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 0x538c5f
cmp ecx, 0x5f
jne 0x538c13
lea edi, [ecx - 0x5e]
jmp 0x538c79
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x538c35
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
mov eax, dword [ecx*4 + 0x572ec8]
cmp eax, 1
je 0x538c58
cmp eax, 3
jne 0x538c77
mov edi, 1
jmp 0x538c79
cmp ecx, 0x100
jae 0x538c77
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x538c77
mov edi, 1
jmp 0x538c79
xor edi, edi
cmp esi, dword [ebp + 0x78]
jb 0x538caa
cmp dword [ebp + 0x88], 0
je 0x538ca3
cmp esi, dword [ebp + 0x84]
jbe 0x538ca3
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x5447b7
xor eax, eax
jmp 0x538f26
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x538d6e
test cl, 0x20
jne 0x538cd2
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x538d6e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x538cf9
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x538d6e
test cl, 8
jne 0x538d0c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x538d5e
and eax, 0x3f
test cl, 4
jne 0x538d3d
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 0x538d6e
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 0x538dcd
cmp ecx, 0x5f
jne 0x538d81
lea eax, [ecx - 0x5e]
jmp 0x538f26
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x538da3
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
mov eax, dword [ecx*4 + 0x572ec8]
cmp eax, 1
je 0x538de6
cmp eax, 3
je 0x538de6
xor eax, eax
jmp 0x538f26
cmp ecx, 0x100
jae 0x538eab
mov edx, dword [ebp + 0x40]
test byte [ecx + edx], 0x10
je 0x538eab
mov eax, 1
jmp 0x538f26
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x74]
jne 0x538e00
xor edi, edi
jmp 0x538e81
cmp esi, dword [ecx + 0x84]
ja 0x538e11
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
cmp dword [ecx + 0x54], 0
je 0x538e70
movzx edi, byte [esi - 1]
cmp edi, 0x5f
jne 0x538e27
mov edi, 1
jmp 0x538e81
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575008]
shl edx, 7
and edi, 0x8000007f
jns 0x538e49
dec edi
or edi, 0xffffff80
inc edi
add edx, edi
movzx eax, word [edx*2 + 0x577208]
movzx edx, byte [eax*8 + 0x573989]
mov eax, dword [edx*4 + 0x572ec8]
cmp eax, 1
je 0x538e20
cmp eax, 3
je 0x538e20
xor edi, edi
jmp 0x538e81
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 0x538eb2
cmp dword [ecx + 0x88], 0
je 0x538eab
cmp esi, dword [ecx + 0x84]
jbe 0x538eab
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5447b7
xor eax, eax
jmp 0x538f26
cmp dword [ecx + 0x54], 0
je 0x538f16
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x538ec5
lea eax, [ecx - 0x5e]
jmp 0x538f26
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x538ee7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577208]
movzx edx, byte [ecx*8 + 0x573989]
mov eax, dword [edx*4 + 0x572ec8]
cmp eax, 1
je 0x538de6
cmp eax, 3
je 0x538de6
xor eax, eax
jmp 0x538f26
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 0x538f43
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x538f4c
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x537900
xor eax, eax
jmp 0x5447ca
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ebp
je 0x538f8f
cmp esi, dword [edi + 0x78]
jae 0x538fb6
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.00546000
test eax, eax
jne case.0x544660.14
mov edx, dword [esp + 0x14]
xor ebp, ebp
jmp 0x538fb6
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x538fb6
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne 0x538fb6
cmp dword [edi + 0x1c], 1
je case.0x544660.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x544660.14
cmp dword [edi + 0x88], ebp
je 0x538ff2
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb 0x538ff2
cmp dword [edi + 0x18], ebp
jne 0x538ff2
cmp dword [edi + 0x1c], 2
jne 0x538ff2
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x538ff2
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5447b7
jmp 0x538ff2
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x542277
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x538a6c
cmp esi, eax
jae 0x538a6c
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x538a6c
add esi, 1
cmp esi, eax
jb 0x539012
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541d3a
add esi, 1
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d2f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53914d
cmp eax, 0xc0
jb 0x53914d
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539091
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53914d
test al, 0x10
jne 0x5390b1
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 0x53914d
test al, 8
jne 0x5390dd
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 0x53914d
test al, 4
jne 0x539112
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 0x53914d
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 0x538a6c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d2f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x53926f
cmp eax, 0xc0
jb 0x53926f
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x5391b3
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x53926f
test al, 0x10
jne 0x5391d3
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 0x53926f
test al, 8
jne 0x5391ff
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 0x53926f
test al, 4
jne 0x539234
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 0x53926f
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.0x544660.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 4
je case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d2f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x539391
cmp eax, 0xc0
jb 0x539391
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x5392d5
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x539391
test al, 0x10
jne 0x5392f5
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 0x539391
test al, 8
jne 0x539321
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 0x539391
test al, 4
jne 0x539356
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 0x539391
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 0x538a6c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d2f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5394b3
cmp eax, 0xc0
jb 0x5394b3
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x5393f7
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x5394b3
test al, 0x10
jne 0x539417
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 0x5394b3
test al, 8
jne 0x539443
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 0x5394b3
test al, 4
jne 0x539478
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 0x5394b3
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.0x544660.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 1
je case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d2f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5395d5
cmp eax, 0xc0
jb 0x5395d5
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539519
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x5395d5
test al, 0x10
jne 0x539539
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 0x5395d5
test al, 8
jne 0x539565
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 0x5395d5
test al, 4
jne 0x53959a
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 0x5395d5
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 0x538a6c
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x541d2f
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5396f7
cmp eax, 0xc0
jb 0x5396f7
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x53963b
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, 1
jmp 0x5396f7
test al, 0x10
jne 0x53965b
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 0x5396f7
test al, 8
jne 0x539687
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 0x5396f7
test al, 4
jne 0x5396bc
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 0x5396f7
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.0x544660.14
mov ecx, dword [ecx + 0x40]
test byte [eax + ecx], 0x10
je case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
cmp esi, edi
jae 0x541d2f
movzx eax, byte [esi]
mov ebp, 1
add esi, ebp
cmp dword [esp + 0x20], 0
je 0x53981e
cmp eax, 0xc0
jb 0x53981e
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x539763
and eax, 0x1f
shl eax, 6
or eax, ebx
add esi, ebp
jmp 0x53981e
test al, 0x10
jne 0x539783
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 0x53981e
test al, 8
jne 0x5397af
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 0x53981e
test al, 4
jne 0x5397e4
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 0x53981e
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 0x539876
je 0x539835
cmp eax, 0xa
je 0x53989d
jbe case.0x544660.14
cmp eax, 0xc
jmp 0x53988d
cmp esi, edi
jb 0x539864
cmp dword [ecx + 0x88], 0
je 0x53989d
cmp esi, dword [ecx + 0x84]
jbe 0x53989d
mov dword [ecx + 0x64], ebp
cmp dword [ecx + 0x88], ebp
jg 0x5447b7
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x537900
cmp byte [esi], 0xa
jne 0x53989d
add esi, ebp
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x537900
cmp eax, 0x85
je 0x539893
cmp eax, 0x2027
jbe case.0x544660.14
cmp eax, 0x2029
ja case.0x544660.14
cmp dword [ecx + 0x68], 0
jne case.0x544660.14
add edx, ebp
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541d3a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x5399a6
cmp eax, 0xc0
jb 0x5399a6
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x5398ea
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x5399a6
test al, 0x10
jne 0x53990a
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 0x5399a6
test al, 8
jne 0x539936
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 0x5399a6
test al, 4
jne 0x53996b
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 0x5399a6
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 0x5399d5
je case.0x544660.14
cmp eax, 0xa0
ja 0x5399ce
je case.0x544660.14
cmp eax, 9
je case.0x544660.14
cmp eax, 0x20
jmp 0x539a04
cmp eax, 0x1680
jmp 0x539a04
cmp eax, 0x205f
ja 0x5399ff
je case.0x544660.14
cmp eax, 0x2000
jb 0x538a6c
cmp eax, 0x200a
jbe case.0x544660.14
cmp eax, 0x202f
jmp 0x539a04
cmp eax, 0x3000
je case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541d3a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x539b14
cmp eax, 0xc0
jb 0x539b14
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x539a58
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x539b14
test al, 0x10
jne 0x539a78
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 0x539b14
test al, 8
jne 0x539aa4
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 0x539b14
test al, 4
jne 0x539ad9
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 0x539b14
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 0x539b43
je 0x538a6c
cmp eax, 0xa0
ja 0x539b3c
je 0x538a6c
cmp eax, 9
je 0x538a6c
cmp eax, 0x20
jmp 0x539b72
cmp eax, 0x1680
jmp 0x539b72
cmp eax, 0x205f
ja 0x539b6d
je 0x538a6c
cmp eax, 0x2000
jb case.0x544660.14
cmp eax, 0x200a
jbe 0x538a6c
cmp eax, 0x202f
jmp 0x539b72
cmp eax, 0x3000
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541d3a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x539c82
cmp eax, 0xc0
jb 0x539c82
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x539bc6
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x539c82
test al, 0x10
jne 0x539be6
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 0x539c82
test al, 8
jne 0x539c12
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 0x539c82
test al, 4
jne 0x539c47
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 0x539c82
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 0x539c9d
je case.0x544660.14
cmp eax, 0xa
jb 0x538a6c
cmp eax, 0xd
jmp 0x539cad
cmp eax, 0x2028
jb 0x538a6c
cmp eax, 0x2029
jbe case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541d3a
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x539dbd
cmp eax, 0xc0
jb 0x539dbd
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x539d01
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x539dbd
test al, 0x10
jne 0x539d21
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 0x539dbd
test al, 8
jne 0x539d4d
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 0x539dbd
test al, 4
jne 0x539d82
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 0x539dbd
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 0x539dd8
je 0x538a6c
cmp eax, 0xa
jb case.0x544660.14
cmp eax, 0xd
jmp 0x539de8
cmp eax, 0x2028
jb case.0x544660.14
cmp eax, 0x2029
ja case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
jmp 0x537900
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x541d3a
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x539f09
cmp ecx, 0xc0
jb 0x539f09
test cl, 0x20
jne 0x539e3f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x539f09
test cl, 0x10
jne 0x539e66
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 0x539f09
test cl, 8
jne 0x539e99
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 0x539f09
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x539ed5
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 0x539f09
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 + 0x575008]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x539f2d
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 + 0x577208]
lea eax, [eax*8 + 0x573988]
ja case.default.0x539f4f
jmp dword [edx*4 + 0x544a04]
cmp ebx, 0xf
jmp 0x53a161
mov al, byte [eax + 1]
cmp al, 9
je 0x539f7e
cmp al, 5
je 0x539f7e
cmp al, 8
je 0x539f7e
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53a161
xor ecx, ecx
cmp ebx, 0xf
sete cl
mov eax, 1
cmp eax, ecx
jmp 0x53a161
movzx edx, byte [eax + 1]
movzx eax, byte [edi + 2]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x572ec8]
setne cl
xor edx, edx
cmp ebx, 0x10
sete dl
cmp ecx, edx
jmp 0x53a161
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 0x53a161
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 0x53a161
movzx ecx, byte [eax + 1]
mov eax, dword [ecx*4 + 0x572ec8]
cmp eax, 1
je 0x53a152
cmp eax, 3
je 0x53a152
xor eax, eax
jmp 0x53a157
cmp ecx, 0x180e
ja 0x53a04f
je case.0x539f4f.0
cmp ecx, 0x85
ja 0x53a03b
je case.0x539f4f.0
cmp ecx, 9
jb case.0x53a06f.8203
cmp ecx, 0xd
jbe case.0x539f4f.0
cmp ecx, 0x20
jmp 0x53a088
cmp ecx, 0xa0
je case.0x539f4f.0
cmp ecx, 0x1680
jmp 0x53a088
cmp ecx, 0x202f
ja 0x53a076
je case.0x539f4f.0
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x53a06f.8203
movzx ecx, byte [ecx + 0x544a38]
jmp dword [ecx*4 + 0x544a30]
cmp ecx, 0x205f
je case.0x539f4f.0
cmp ecx, 0x3000
je case.0x539f4f.0
movzx edx, byte [eax + 1]
xor eax, eax
cmp dword [edx*4 + 0x572ec8], 6
sete al
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53a161
movzx edx, byte [eax + 1]
mov eax, dword [edx*4 + 0x572ec8]
cmp eax, 1
je 0x539f7e
cmp eax, 3
je 0x539f7e
cmp ecx, 0x5f
je 0x539f7e
xor ecx, ecx
xor eax, eax
cmp ebx, 0xf
sete cl
cmp eax, ecx
jmp 0x53a161
movzx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x573848]
cmp ecx, eax
lea edx, [edx*4 + 0x573848]
jb 0x53a10d
jmp 0x53a100
add edx, 4
cmp ecx, eax
je 0x53a112
mov eax, dword [edx]
cmp ecx, eax
jae 0x53a100
cmp ebx, 0x10
jmp 0x53a161
cmp ebx, 0x10
jne case.0x544660.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x537900
cmp ecx, 0x24
je 0x53a152
cmp ecx, 0x40
je 0x53a152
cmp ecx, 0x60
je 0x53a152
cmp ecx, 0xa0
jb 0x53a146
cmp ecx, 0xd7ff
jbe 0x53a152
cmp ecx, 0xe000
jae 0x53a152
xor eax, eax
jmp 0x53a157
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je case.0x544660.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x537900
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x542629
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53a284
cmp ecx, 0xc0
jb 0x53a284
test cl, 0x20
jne 0x53a1ba
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53a284
test cl, 0x10
jne 0x53a1e1
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 0x53a284
test cl, 8
jne 0x53a214
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 0x53a284
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53a250
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 0x53a284
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53a2a6
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebp
movzx eax, word [edx*2 + 0x577208]
movzx ebx, byte [eax*8 + 0x57398a]
jae 0x53a403
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53a3b3
cmp ecx, 0xc0
jb 0x53a3b3
test cl, 0x20
jne 0x53a2fb
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53a3b1
test cl, 0x10
jne 0x53a325
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 0x53a3b3
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53a348
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53a3a3
and eax, 0x3f
test cl, 4
jne 0x53a37e
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 0x53a3b3
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53a3d5
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x57398a]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x572e54], edx
je 0x53a403
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x53a2c0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53a439
cmp esi, ebp
jb 0x53a439
cmp esi, dword [eax + 0x84]
jbe 0x53a439
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
add dword [esp + 0x14], ecx
jmp 0x537900
mov ecx, 1
add dword [esp + 0x14], ecx
jmp 0x537900
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 0x53a518
movzx ebx, byte [eax + 1]
mov bh, byte [eax]
sub ecx, 1
add ebx, ebx
cmp ebx, dword [esp + 0x170]
jge 0x53a4ae
mov edx, dword [ebp + 0xc]
cmp dword [edx + ebx*4], 0
jge 0x53a4ba
add eax, dword [ebp + 0x24]
test ecx, ecx
jg 0x53a491
jmp 0x53a518
mov eax, edx
mov edi, dword [eax + ebx*4 + 4]
sub edi, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
jmp 0x53a518
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 0x53a50c
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ebx*4]
test ecx, ecx
lea eax, [edx + ebx*4]
jl 0x53a50c
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x53a518
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.0x53a534
movzx edx, byte [edx + 0x544a6c]
jmp dword [edx*4 + 0x544a64]
movsx ebp, byte [eax + 0x572c76]
add dword [esp + 0x14], 1
add eax, 0xffffff9e
mov ecx, eax
movsx eax, byte [eax + 0x572ce4]
and ecx, 1
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53a5a5
mov dword [esp + 0x18], closesocket
jmp 0x53a5a5
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 0x53a59e
mov dword [esp + 0x18], closesocket
add eax, 5
mov dword [esp + 0x14], eax
test edi, edi
je 0x537900
jge 0x53a5b7
test ebp, ebp
je 0x537900
cmp ebp, 1
mov dword [esp + 0x30], 1
jl 0x53a5f2
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.005374c0
test eax, eax
jl 0x541d45
add esi, eax
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, ebp
mov dword [esp + 0x30], eax
jle 0x53a5c4
mov eax, dword [esp + 0x18]
cmp ebp, eax
je 0x537900
cmp dword [esp + 0x34], 0
je 0x541d5a
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.00537800
test eax, eax
jne 0x5447ca
mov ebp, dword [esp + 0x10]
jmp 0x53a650
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x38]
push eax
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.005374c0
test eax, eax
jl 0x541e0c
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.00537800
test eax, eax
je 0x53a650
jmp 0x5447ca
mov ecx, dword [esp + 0x38]
push ecx
push ebp
mov eax, edi
mov ecx, esi
mov edx, ebx
call fcn.005374c0
test eax, eax
jl 0x541e0c
add esi, eax
jmp 0x537900
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.0x53a6fb
movzx edx, byte [edx + 0x544a7c]
jmp dword [edx*4 + 0x544a74]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53a71c
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53a724
mov dword [esp + 0x3c], 1
movsx edx, byte [eax + 0x572cd8]
movsx eax, byte [eax + 0x572ce4]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53a78c
mov dword [esp + 0x18], closesocket
jmp 0x53a78c
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 0x53a77a
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53a78c
mov edx, 1
mov dword [esp + 0x18], edx
cmp dword [esp + 0x20], 0
mov edi, 1
je 0x53a8da
cmp edx, edi
jl 0x53a919
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53a7b4
mov ebx, dword [esp + 0x40]
cmp esi, ebp
jae 0x542625
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53a8a3
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x53a7e7
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x53a8a3
test al, 0x10
jne 0x53a807
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 0x53a8a3
test al, 8
jne 0x53a833
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 0x53a8a3
test al, 4
jne 0x53a868
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 0x53a8a3
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 0x53a8af
cmp ebx, 0x6e
jmp 0x53a8c7
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.0x544660.14
add edi, 1
cmp edi, edx
jle 0x53a7b0
jmp 0x53a919
cmp edx, 1
jl 0x53a919
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
cmp esi, ebp
jae 0x542ab4
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.0x544660.14
add edi, 1
cmp edi, edx
jle 0x53a8e6
mov eax, dword [esp + 0x18]
cmp edx, eax
mov ecx, dword [esp + 0x10]
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x541e49
cmp dword [esp + 0x20], 0
mov ebx, esi
mov dword [esp + 0x34], ebx
je 0x53ab25
cmp edx, eax
mov ebp, edx
jge 0x53aa95
mov edx, dword [ecx + 0x78]
cmp esi, edx
mov edi, 1
jae 0x53aa73
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53aa34
movzx ebx, byte [esi + 1]
and ebx, 0x3f
test al, 0x20
jne 0x53a988
and eax, 0x1f
shl eax, 6
mov edi, 2
jmp 0x53aa32
test al, 0x10
jne 0x53a9a2
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 2]
mov edi, 3
jmp 0x53aa2c
test al, 8
jne 0x53a9c8
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 0x53aa2c
test al, 4
jne 0x53a9f7
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 0x53aa2c
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 0x53aa44
cmp dword [esp + 0x40], 0x6e
je 0x53aa95
jmp 0x53aa62
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 0x53aa95
mov ecx, dword [esp + 0x10]
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53a952
jmp 0x53aa95
cmp dword [ecx + 0x88], 0
je 0x53aa95
cmp esi, dword [ecx + 0x84]
jbe 0x53aa95
mov eax, edi
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
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.00537800
test eax, eax
jne 0x5447ca
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x34]
je case.0x544660.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53aafe
lea esp, [esp]
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53aaf0
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.00537800
test eax, eax
je 0x53aad5
jmp 0x5447ca
cmp edx, eax
mov edi, edx
jge 0x53ab8c
mov ebp, dword [ecx + 0x78]
jmp 0x53ab38
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jae 0x53ab67
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 0x53ab8c
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x18]
jl 0x53ab34
jmp 0x53ab8c
cmp dword [ecx + 0x88], 0
je 0x53ab8c
cmp esi, dword [ecx + 0x84]
jbe 0x53ab8c
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, ebx
jb case.0x544660.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.00537800
test eax, eax
jne 0x5447ca
sub esi, 1
cmp esi, dword [esp + 0x34]
jae 0x53abb0
xor eax, eax
jmp 0x5447ca
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.0x53ac18
movzx edx, byte [edx + 0x544a90]
jmp dword [edx*4 + 0x544a88]
lea eax, [ecx - 0x62]
add edi, 1
cmp eax, 8
mov dword [esp + 0x14], edi
jae 0x53ac39
mov ecx, eax
and ecx, 1
mov dword [esp + 0x34], ecx
jmp 0x53ac41
mov dword [esp + 0x3c], 1
movsx ebx, byte [eax + 0x572cd8]
movsx eax, byte [eax + 0x572ce4]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x53aca9
mov dword [esp + 0x18], closesocket
jmp 0x53aca9
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 0x53ac97
mov dword [esp + 0x18], closesocket
add edi, 5
mov dword [esp + 0x14], edi
jmp 0x53aca9
mov ebx, 1
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x20]
mov edi, 1
cmp ebx, edi
jl 0x53ade6
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53adc7
cmp eax, 0xc0
jb 0x53adc7
test al, 0x20
jne 0x53ad00
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53adc7
test al, 0x10
jne 0x53ad26
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 0x53adc7
test al, 8
jne 0x53ad58
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 0x53adc7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53ad93
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 0x53adc7
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.00546780
test eax, eax
je case.0x544660.14
add edi, 1
cmp edi, ebx
jle 0x53acc0
cmp ebx, dword [esp + 0x18]
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x54209c
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x34], esi
jge 0x53af49
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
mov edi, 1
jae 0x53af29
test ebp, ebp
movzx eax, byte [esi]
je 0x53af08
cmp eax, 0xc0
jb 0x53af08
test al, 0x20
jne 0x53ae53
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edi, 2
jmp 0x53af06
test al, 0x10
jne 0x53ae7c
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 0x53af08
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
test al, 8
jne 0x53ae9e
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov edi, 4
jmp 0x53aef8
and edx, 0x3f
test al, 4
jne 0x53aed3
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 0x53af08
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.00546780
test eax, eax
je 0x53af49
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x18]
jl 0x53ae10
jmp 0x53af49
cmp dword [eax + 0x88], 0
je 0x53af49
cmp esi, dword [eax + 0x84]
jbe 0x53af49
mov dword [eax + 0x64], edi
cmp dword [eax + 0x88], edi
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
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.00537800
test eax, eax
jne 0x5447ca
lea esp, [esp]
mov eax, esi
sub esi, 1
cmp eax, dword [esp + 0x34]
je case.0x544660.14
cmp dword [esp + 0x20], 0
je 0x53afbe
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53afbe
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53afb0
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.00537800
test eax, eax
je 0x53af90
jmp 0x5447ca
cmp dword [esp + 0x20], ebp
je 0x53b075
mov eax, dword [esp + 0x14]
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x53b036
test al, 0x20
jne 0x53b013
mov ecx, 2
jmp 0x53b036
test al, 0x10
jne 0x53b01e
mov ecx, 3
jmp 0x53b036
test al, 8
jne 0x53b029
mov ecx, 4
jmp 0x53b036
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 0x542234
test ecx, ecx
jle 0x537900
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.0x544660.14
test ecx, ecx
jg 0x53b053
jmp 0x537900
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
sub ecx, esi
cmp ecx, 1
jl 0x54224c
mov al, byte [esi]
add esi, 1
cmp byte [edx + 1], al
jne case.0x544660.14
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x537900
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x542277
cmp dword [esp + 0x20], ebp
je 0x53b323
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 0x53b1bc
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x53b0f5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x53b1bc
test cl, 0x10
jne 0x53b118
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 0x53b1bc
test cl, 8
jne 0x53b147
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 0x53b1bc
test cl, 4
jne 0x53b17f
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 0x53b1bc
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 0x53b1e5
mov eax, dword [edi + 0x38]
movzx edi, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edi + eax]
jne case.0x544660.14
add edx, 1
mov dword [esp + 0x14], edx
add esi, 1
jmp 0x537900
movzx ebx, byte [esi]
add esi, 1
cmp ebx, 0xc0
jb 0x53b2d1
movzx edx, byte [esi]
and edx, 0x3f
test bl, 0x20
jne 0x53b212
and ebx, 0x1f
shl ebx, 6
or ebx, edx
add esi, 1
jmp 0x53b2d1
test bl, 0x10
jne 0x53b233
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 0x53b2d1
test bl, 8
jne 0x53b260
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 0x53b2d1
test bl, 4
jne 0x53b296
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 0x53b2d1
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 0x537900
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575008]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53b301
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x577208]
mov edx, dword [eax*8 + 0x57398c]
add edx, ecx
cmp ebx, edx
je 0x537900
xor eax, eax
jmp 0x5447ca
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.0x544660.14
add esi, 1
add edx, 2
mov dword [esp + 0x14], edx
jmp 0x537900
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 0x53b42d
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 0x53b38a
cmp al, 0x35
mov dword [esp + 0x34], ebp
jne 0x53b392
mov dword [esp + 0x34], 1
mov edi, dword [esp + 0x2c]
add edx, 3
mov dword [esp + 0x14], edx
jmp 0x53b42d
xor edi, edi
add edx, 1
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53b425
mov edi, 1
add edx, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], edx
jmp 0x53b425
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 0x53b42d
cmp ebx, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x572cd8]
mov ecx, eax
movsx eax, byte [eax + 0x572ce4]
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 0x53b42d
mov dword [esp + 0x18], closesocket
cmp dword [esp + 0x20], ebp
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax]
je 0x53b96d
cmp ebx, 0xc0
mov ebp, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x4c], eax
jb 0x53b51b
test bl, 0x20
jne 0x53b475
movzx edx, byte [eax + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov ebp, 2
jmp 0x53b517
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x53b497
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov ebp, 3
jmp 0x53b50d
and edx, 0x3f
test bl, 8
jne 0x53b4b7
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, edx
movzx edx, byte [eax + 3]
mov ebp, 4
jmp 0x53b50d
test bl, 4
jne 0x53b4e0
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 0x53b50d
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 0x53b974
cmp dword [esp + 0x40], 0x2e
jb 0x53b580
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575008]
mov ecx, ebx
shl eax, 7
and ecx, 0x8000007f
jns 0x53b555
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x577208]
mov eax, dword [edx*8 + 0x57398c]
add eax, ebx
cmp eax, ebx
je 0x53b580
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.005463b0
mov dword [esp + 0x40], eax
jmp 0x53b588
mov dword [esp + 0x40], 0
cmp edi, 1
mov dword [esp + 0x30], 1
jl 0x53b71e
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 0x53b5b4
mov ecx, dword [esp + 0x50]
cmp esi, ecx
ja 0x53b656
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53b5e4
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53b5e8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53b5d0
test eax, eax
je 0x53b645
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53b637
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b645
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53b637
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b645
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53b637
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b645
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53b645
test edi, edi
mov eax, 1
jg 0x53b647
or eax, 0xffffffff
jmp 0x53b647
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x40]
jne 0x53b656
add esi, ebp
jmp 0x53b705
test eax, eax
jle 0x542282
mov ecx, dword [esp + 0x24]
sub ecx, eax
cmp esi, ecx
ja 0x542282
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53b694
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53b698
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53b680
test eax, eax
je 0x53b6f5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53b6e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b6f5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53b6e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b6f5
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x53b6e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b6f5
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x53b6f5
test edi, edi
mov eax, 1
jg 0x53b6f7
or eax, 0xffffffff
jmp 0x53b6f7
xor eax, eax
test eax, eax
jne 0x542282
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 0x53b5b0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp edi, eax
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x5422bb
cmp edi, eax
mov dword [esp + 0x34], esi
mov ebx, edi
jge 0x53b8f6
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
sub eax, ebp
mov dword [esp + 0x50], eax
jmp 0x53b764
mov eax, dword [esp + 0x50]
cmp esi, eax
ja 0x53b80a
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x53b794
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53b798
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53b780
test eax, eax
je 0x53b7fd
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53b7e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b7f9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53b7e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b7f9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53b7e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b7f9
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x53b7f9
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53b7ff
or eax, 0xffffffff
jmp 0x53b7ff
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53b80a
add esi, ebp
jmp 0x53b8b9
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x53b8c8
mov edx, dword [esp + 0x24]
sub edx, eax
cmp esi, edx
ja 0x53b8c8
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x53b846
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x53b84a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x53b832
test eax, eax
je 0x53b8af
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53b899
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b8ab
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53b899
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b8ab
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x53b899
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x53b8ab
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x53b8ab
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x53b8b1
or eax, 0xffffffff
jmp 0x53b8b1
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x53b8c8
add esi, dword [esp + 0x40]
add ebx, 1
cmp ebx, dword [esp + 0x18]
jl 0x53b760
jmp 0x53b8f6
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53b8f6
cmp esi, dword [ecx + 0x78]
jb 0x53b8f6
cmp esi, dword [ecx + 0x84]
jbe 0x53b8f6
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
jbe 0x540ea3
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.00537800
test eax, eax
jne 0x5447ca
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
jne 0x53b962
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53b954
cmp esi, dword [esp + 0x34]
ja 0x53b920
jmp 0x540ea3
add eax, 1
mov dword [esp + 0x14], eax
cmp dword [esp + 0x40], 0x2e
jb 0x53ba94
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 0x53b9c3
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
cmp ebx, eax
je 0x53b9b7
cmp ebp, eax
jne case.0x544660.14
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x2c]
jle 0x53b9a0
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x2c], edx
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x5424e5
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
mov dword [esp + 0x34], esi
jge 0x53ba32
mov edx, dword [edi + 0x78]
jmp 0x53b9f0
cmp esi, edx
jae 0x53ba0d
movzx eax, byte [esi]
cmp ebx, eax
je 0x53b9ff
cmp ebp, eax
jne 0x53ba32
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x18]
jl 0x53b9f0
jmp 0x53ba32
cmp dword [edi + 0x88], 0
je 0x53ba32
cmp esi, dword [edi + 0x84]
jbe 0x53ba32
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
je 0x540ea3
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
jmp 0x53ba60
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.00537800
sub esi, 1
test eax, eax
jne 0x5447ca
cmp esi, dword [esp + 0x34]
jne 0x53ba60
jmp 0x540ea3
mov edx, dword [esp + 0x10]
mov eax, 1
cmp edi, eax
jl 0x53bac1
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x54478a
movzx ebp, byte [esi]
add esi, 1
cmp ebx, ebp
jne case.0x544660.14
add eax, 1
cmp eax, edi
jle 0x53baa4
cmp edi, dword [esp + 0x18]
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x542580
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x34], edi
jge 0x53bb2e
mov ecx, dword [edx + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x53bb09
movzx ebp, byte [esi]
cmp ebx, ebp
jne 0x53bb2e
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53baf0
jmp 0x53bb2e
cmp dword [edx + 0x88], 0
je 0x53bb2e
cmp esi, dword [edx + 0x84]
jbe 0x53bb2e
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, edi
je 0x540ea3
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.00537800
sub esi, 1
test eax, eax
jne 0x5447ca
cmp esi, dword [esp + 0x34]
jne 0x53bb50
jmp 0x540ea3
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54261a
cmp dword [esp + 0x20], ebp
je 0x53bdee
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 0x53bc94
movzx ecx, byte [eax]
and ecx, 0x3f
test bl, 0x20
jne 0x53bbd4
and ebx, 0x1f
shl ebx, 6
or ebx, ecx
add eax, 1
jmp 0x53bc90
test bl, 0x10
jne 0x53bbf5
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 0x53bc90
test bl, 8
jne 0x53bc1f
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 0x53bc90
test bl, 4
jne 0x53bc55
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 0x53bc90
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 0x53bd7d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x53bcc1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
add esi, 1
jmp 0x53bd7d
test cl, 0x10
jne 0x53bce2
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 0x53bd7d
test cl, 8
jne 0x53bd0c
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 0x53bd7d
test cl, 4
jne 0x53bd42
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 0x53bd7d
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 0x53bd93
cmp ebx, ecx
jne 0x537900
xor eax, eax
jmp 0x5447ca
cmp ebx, 0x7f
jbe 0x53bdd0
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575008]
mov eax, ebx
shl edx, 7
and eax, 0x8000007f
jns 0x53bdbb
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x577208]
mov eax, dword [edx*8 + 0x57398c]
add eax, ebx
jmp 0x53bdd7
mov eax, dword [edx + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, ecx
je case.0x544660.14
cmp eax, ecx
jne 0x537900
xor eax, eax
jmp 0x5447ca
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
movzx ecx, byte [esi]
add esi, 1
cmp eax, ecx
je case.0x544660.14
cmp ebx, 0x20
jne 0x53be18
mov edx, dword [edx + 0x3c]
movzx eax, byte [edx + eax]
cmp eax, ecx
je case.0x544660.14
add dword [esp + 0x14], 2
jmp 0x537900
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 0x53bee5
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 0x53be52
cmp al, 0x4f
mov dword [esp + 0x34], ebp
jne 0x53be5a
mov dword [esp + 0x34], 1
add edx, 3
jmp 0x53bee5
xor edi, edi
mov dword [esp + 0x3c], 1
add edx, 1
jmp 0x53bedd
mov edi, 1
mov dword [esp + 0x3c], edi
add edx, edi
jmp 0x53bedd
mov eax, 1
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
add edx, eax
jmp 0x53bee5
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 0x53bee5
cmp ebx, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
mov eax, ebx
sub eax, ecx
movsx edi, byte [eax + 0x572cd8]
mov ecx, eax
movsx eax, byte [eax + 0x572ce4]
and ecx, 1
add edx, 1
cmp eax, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
jne 0x53bee5
mov dword [esp + 0x18], closesocket
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 0x53bfe3
cmp ebx, 0xc0
jb 0x53bfe3
test bl, 0x20
jne 0x53bf2a
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 0x53bfdb
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x53bf51
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x53bfd7
test bl, 8
jne 0x53bf74
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 0x53bfd7
test bl, 4
jne 0x53bfa3
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 0x53bfd7
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 0x53c434
test ebp, ebp
je 0x53c030
cmp ebx, 0x7f
jbe 0x53c030
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x575008]
mov edx, ebx
shl ecx, 7
and edx, 0x8000007f
jns 0x53c01b
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x577208]
mov eax, dword [eax*8 + 0x57398c]
add eax, ebx
jmp 0x53c03b
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
movzx eax, byte [edx + ebx]
test ebp, ebp
mov dword [esp + 0x38], eax
je 0x53c16b
mov ecx, 1
cmp edi, ecx
jl 0x53c1a7
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
jmp 0x53c060
cmp esi, ebp
jae 0x542ab4
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53c14c
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53c093
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53c14c
test al, 0x10
jne 0x53c0b3
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 0x53c14c
test al, 8
jne 0x53c0dc
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 0x53c14c
test al, 4
jne 0x53c111
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 0x53c14c
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.0x544660.14
cmp dword [esp + 0x38], eax
je case.0x544660.14
add ecx, 1
cmp ecx, edi
jle 0x53c060
jmp 0x53c1a7
mov edx, 1
cmp edi, edx
jl 0x53c1a7
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
jmp 0x53c180
cmp esi, ebp
jae 0x542625
movzx eax, byte [esi]
cmp ebx, eax
je case.0x544660.14
cmp dword [esp + 0x38], eax
je case.0x544660.14
add edx, 1
add esi, 1
cmp edx, edi
jle 0x53c180
mov edx, dword [esp + 0x18]
cmp edi, edx
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x542655
cmp dword [esp + 0x20], 0
mov dword [esp + 0x34], esi
je 0x53c38b
cmp edi, edx
jge 0x53c31b
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x53c1e6
mov eax, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53c2fb
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53c2e2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53c21e
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53c2e2
test al, 0x10
jne 0x53c240
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 0x53c2e2
test al, 8
jne 0x53c26e
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 0x53c2e2
test al, 4
jne 0x53c2a5
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 0x53c2e2
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 0x53c31b
cmp edx, eax
je 0x53c31b
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53c1e2
jmp 0x53c31b
cmp dword [eax + 0x88], 0
je 0x53c31b
cmp esi, dword [eax + 0x84]
jbe 0x53c31b
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
jbe 0x540ea3
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.00537800
test eax, eax
jne 0x5447ca
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x53c380
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x53c372
cmp esi, dword [esp + 0x34]
ja 0x53c340
jmp 0x540ea3
cmp edi, edx
mov ecx, edi
jge 0x53c3da
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
cmp esi, edi
jae 0x53c3b5
movzx eax, byte [esi]
cmp ebx, eax
je 0x53c3da
cmp dword [esp + 0x38], eax
je 0x53c3da
add ecx, 1
add esi, 1
cmp ecx, edx
jl 0x53c398
jmp 0x53c3da
cmp dword [ebp + 0x88], 0
je 0x53c3da
cmp esi, dword [ebp + 0x84]
jbe 0x53c3da
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
je 0x540ea3
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.00537800
test eax, eax
jne 0x5447ca
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53c400
jmp 0x540ea3
test ebp, ebp
je 0x53c556
mov ecx, 1
cmp edi, ecx
jl 0x53c587
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x78]
cmp esi, ebp
jae 0x542876
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53c53f
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x53c483
and eax, 0x1f
shl eax, 6
or eax, edx
add esi, 1
jmp 0x53c53f
test al, 0x10
jne 0x53c4a3
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 0x53c53f
test al, 8
jne 0x53c4cf
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 0x53c53f
test al, 4
jne 0x53c504
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 0x53c53f
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.0x544660.14
add ecx, 1
cmp ecx, edi
jle 0x53c450
jmp 0x53c58b
mov eax, 1
cmp edi, eax
jl 0x53c587
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x78]
cmp esi, edx
jae 0x542876
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x544660.14
add eax, 1
cmp eax, edi
jle 0x53c566
jmp 0x53c58b
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp edi, ecx
je 0x537900
cmp dword [esp + 0x34], 0
jne 0x5428a2
cmp dword [esp + 0x20], 0
mov edx, esi
mov dword [esp + 0x34], edx
je 0x53c76b
cmp edi, ecx
jge 0x53c6f7
mov ebp, dword [ebx + 0x78]
jmp 0x53c5c4
mov ebx, dword [esp + 0x10]
cmp esi, ebp
mov ecx, 1
jae 0x53c6d7
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x53c6c0
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53c5fc
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53c6c0
test al, 0x10
jne 0x53c61e
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 0x53c6c0
test al, 8
jne 0x53c64c
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 0x53c6c0
test al, 4
jne 0x53c683
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 0x53c6c0
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 0x53c6f7
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x53c5c0
jmp 0x53c6f7
cmp dword [ebx + 0x88], 0
je 0x53c6f7
cmp esi, dword [ebx + 0x84]
jbe 0x53c6f7
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, edx
jbe 0x540ea3
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.00537800
test eax, eax
jne 0x5447ca
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
jne 0x53c760
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x53c754
cmp esi, dword [esp + 0x34]
ja 0x53c720
jmp 0x540ea3
cmp edi, ecx
mov eax, edi
jge 0x53c7ba
mov ecx, dword [ebx + 0x78]
jmp 0x53c77a
mov ebx, dword [esp + 0x10]
cmp esi, ecx
jae 0x53c795
movzx edi, byte [esi]
cmp dword [esp + 0x30], edi
je 0x53c7ba
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x18]
jl 0x53c776
jmp 0x53c7ba
cmp dword [ebx + 0x88], 0
je 0x53c7ba
cmp esi, dword [ebx + 0x84]
jbe 0x53c7ba
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, edx
je 0x540ea3
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.00537800
test eax, eax
jne 0x5447ca
sub esi, 1
cmp esi, dword [esp + 0x34]
jne 0x53c7e0
jmp 0x540ea3
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 0x53c8eb
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 0x53c8eb
mov dword [esp + 0x3c], 1
mov dword [esp + 0x2c], ebp
add edx, 1
mov ebx, ebp
jmp 0x53c8e3
mov eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
add edx, eax
mov ebx, eax
jmp 0x53c8e3
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 0x53c8eb
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 0x53c8eb
lea eax, [ebx - 0x55]
movsx ebx, byte [eax + 0x572cd8]
mov ecx, eax
movsx eax, byte [eax + 0x572ce4]
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 0x53c8eb
mov dword [esp + 0x18], closesocket
movzx edi, byte [edx]
add edx, 1
cmp edi, 0x10
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], edx
je 0x53c90c
cmp edi, 0xf
je 0x53c90c
mov ebp, dword [esp + 0x44]
or eax, 0xffffffff
jmp 0x53c92f
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 0x53eb37
test eax, eax
jl 0x53d813
cmp eax, 0xa
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544a9c]
test ebp, ebp
jne case.0x544660.14
lea ecx, [ebp + 1]
cmp ebx, ecx
jl 0x53eb37
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
mov ebp, dword [esp + 0x20]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
test ebp, ebp
je 0x53c9b1
cmp eax, 0xc0
jb 0x53c9b1
test al, 0x20
jne 0x53c993
add esi, 1
jmp 0x53c9b1
test al, 0x10
jne 0x53c99c
add esi, 2
jmp 0x53c9b1
test al, 8
jne 0x53c9a5
add esi, 3
jmp 0x53c9b1
test al, 4
jne 0x53c9ae
add esi, 4
jmp 0x53c9b1
add esi, 5
add ecx, 1
cmp ecx, ebx
jle 0x53c971
jmp 0x53cb47
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53cadc
cmp ecx, 0xc0
jb 0x53cadc
test cl, 0x20
jne 0x53ca12
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53cadc
test cl, 0x10
jne 0x53ca39
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 0x53cadc
test cl, 8
jne 0x53ca6c
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 0x53cadc
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53caa8
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 0x53cadc
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53cafe
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx eax, byte [eax*8 + 0x573989]
cmp eax, 9
je 0x53cb23
cmp eax, 5
je 0x53cb23
cmp eax, 8
je 0x53cb23
xor eax, eax
jmp 0x53cb28
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53c9d5
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x537900
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
jne 0x542b5e
test eax, eax
mov dword [esp + 0x34], esi
jl 0x53fab9
cmp eax, 0xa
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544ac8]
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53cc9d
cmp ecx, 0xc0
jb 0x53cc9d
test cl, 0x20
jne 0x53cbd3
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53cc9d
test cl, 0x10
jne 0x53cbfa
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 0x53cc9d
test cl, 8
jne 0x53cc2d
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 0x53cc9d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53cc69
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 0x53cc9d
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 + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x53ccbf
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577208]
movzx edx, byte [ecx*8 + 0x573989]
mov ecx, dword [esp + 0x48]
xor eax, eax
cmp dword [edx*4 + 0x572ec8], ecx
sete al
cmp eax, dword [esp + 0x44]
je case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53cb96
jmp 0x53cb3f
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53ce1c
cmp ecx, 0xc0
jb 0x53ce1c
test cl, 0x20
jne 0x53cd52
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x53ce1c
test cl, 0x10
jne 0x53cd79
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 0x53ce1c
test cl, 8
jne 0x53cdac
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 0x53ce1c
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x53cde8
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 0x53ce1c
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ce3e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53cd15
jmp 0x53cb3f
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
lea ecx, [ecx]
cmp esi, ebp
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53cf97
cmp ecx, 0xc0
jb 0x53cf97
test cl, 0x20
jne 0x53cecd
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53cf97
test cl, 0x10
jne 0x53cef4
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 0x53cf97
test cl, 8
jne 0x53cf27
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 0x53cf97
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53cf63
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 0x53cf97
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 + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x53cfb9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577208]
movzx edx, byte [ecx*8 + 0x573988]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53ce90
jmp 0x53cb3f
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53d10f
cmp ecx, 0xc0
jb 0x53d10f
test cl, 0x20
jne 0x53d045
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53d10f
test cl, 0x10
jne 0x53d06c
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 0x53d10f
test cl, 8
jne 0x53d09f
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 0x53d10f
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53d0db
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 0x53d10f
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 + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x53d131
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577208]
movzx edx, byte [ecx*8 + 0x573989]
mov eax, dword [edx*4 + 0x572ec8]
cmp eax, 1
je 0x53d158
cmp eax, 3
je 0x53d158
xor eax, eax
jmp 0x53d15d
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d008
jmp 0x53cb3f
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ebp, [edi + 5]
cmp esi, ebx
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53d29a
cmp ecx, 0xc0
jb 0x53d29a
test cl, 0x20
jne 0x53d1d0
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53d29a
test cl, 0x10
jne 0x53d1f7
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 0x53d29a
test cl, 8
jne 0x53d22a
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 0x53d29a
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53d266
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 0x53d29a
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 0x53d2dd
je case.0x53d2fd.8192
cmp ecx, 0x85
ja 0x53d2c9
je case.0x53d2fd.8192
cmp ecx, 9
jb case.0x53d2fd.8203
cmp ecx, 0xd
jbe case.0x53d2fd.8192
cmp ecx, 0x20
jmp 0x53d312
cmp ecx, 0xa0
je case.0x53d2fd.8192
cmp ecx, 0x1680
jmp 0x53d312
cmp ecx, 0x202f
ja 0x53d304
je case.0x53d2fd.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53d2fd.8203
movzx eax, byte [eax + 0x544afc]
jmp dword [eax*4 + 0x544af4]
cmp ecx, 0x205f
je case.0x53d2fd.8192
cmp ecx, 0x3000
je case.0x53d2fd.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53d336
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
xor edx, edx
cmp dword [ecx*4 + 0x572ec8], ebp
sete dl
cmp edx, dword [esp + 0x44]
je case.0x544660.14
jmp 0x53d36b
cmp dword [esp + 0x44], 0
jne case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d190
jmp 0x53cb3f
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x542ab4
movzx ecx, byte [esi]
add esi, 1
test ebx, ebx
je 0x53d49c
cmp ecx, 0xc0
jb 0x53d49c
test cl, 0x20
jne 0x53d3d2
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53d49c
test cl, 0x10
jne 0x53d3f9
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 0x53d49c
test cl, 8
jne 0x53d42c
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 0x53d49c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53d468
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 0x53d49c
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 + 0x575008]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x53d4c0
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x577208]
movzx edx, byte [eax*8 + 0x573989]
mov eax, dword [edx*4 + 0x572ec8]
cmp eax, 1
je 0x53d4ec
cmp eax, 3
je 0x53d4ec
cmp ecx, 0x5f
je 0x53d4ec
xor eax, eax
jmp 0x53d4f1
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d395
jmp 0x53cb3f
mov edi, 1
cmp ebx, edi
jl 0x53eb37
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x20]
cmp esi, ebp
jae 0x542ab4
movzx eax, byte [esi]
add esi, 1
test ebx, ebx
je 0x53d627
cmp eax, 0xc0
jb 0x53d627
test al, 0x20
jne 0x53d560
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x53d627
test al, 0x10
jne 0x53d586
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 0x53d627
test al, 8
jne 0x53d5b8
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 0x53d627
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x53d5f3
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 0x53d627
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 + 0x573848]
cmp eax, ecx
lea edx, [edx*4 + 0x573848]
jb 0x53d64d
lea ecx, [ecx]
add edx, 4
cmp eax, ecx
je 0x53d65a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x53d640
cmp dword [esp + 0x44], 0
je case.0x544660.14
jmp 0x53d665
cmp dword [esp + 0x44], 0
jne case.0x544660.14
add edi, 1
cmp edi, dword [esp + 0x2c]
jle 0x53d525
jmp 0x53cb3f
mov ecx, 1
cmp ebx, ecx
jl 0x53eb37
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
jmp 0x53d690
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53d7ce
cmp eax, 0xc0
jb 0x53d7ce
test al, 0x20
jne 0x53d6d6
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 0x53d7ca
test al, 0x10
jne 0x53d704
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 0x53d7ca
test al, 8
jne 0x53d73e
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 0x53d7ca
test al, 4
jne 0x53d781
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 0x53d7ca
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 0x53d7f6
cmp eax, 0x40
je 0x53d7f6
cmp eax, 0x60
je 0x53d7f6
cmp eax, 0xa0
jb 0x53d7eb
cmp eax, 0xd7ff
jbe 0x53d7f6
cmp eax, 0xe000
jae 0x53d7f6
xor eax, eax
jmp 0x53d7fb
mov eax, 1
cmp eax, ebp
je case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53d690
jmp 0x53cb47
cmp edi, 0x16
jne 0x53db13
cmp ebx, 1
mov dword [esp + 0x30], 1
jl 0x53eb37
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov dword [esp + 0x24], edi
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x53d945
cmp ecx, 0xc0
jb 0x53d945
test cl, 0x20
jne 0x53d87b
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x53d945
test cl, 0x10
jne 0x53d8a2
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 0x53d945
test cl, 8
jne 0x53d8d5
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 0x53d945
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x53d911
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 0x53d945
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 + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x53d967
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, edi
movzx ecx, word [eax*2 + 0x577208]
movzx ebp, byte [ecx*8 + 0x57398a]
jae 0x53daca
mov ebx, dword [esp + 0x20]
test ebx, ebx
movzx ecx, byte [esi]
mov edi, 1
je 0x53da78
cmp ecx, 0xc0
jb 0x53da78
test cl, 0x20
jne 0x53d9bd
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53da76
test cl, 0x10
jne 0x53d9e7
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 0x53da78
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53da0d
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53da68
and eax, 0x3f
test cl, 4
jne 0x53da43
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 0x53da78
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53da9a
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x57398a]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x572e54], edx
je 0x53daca
add esi, edi
cmp esi, dword [esp + 0x24]
mov ebp, ecx
jb 0x53d985
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53daf9
cmp esi, dword [esp + 0x24]
jb 0x53daf9
cmp esi, dword [eax + 0x84]
jbe 0x53daf9
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jle 0x53d830
jmp 0x53cb3f
cmp dword [esp + 0x20], 0
lea eax, [edi - 6]
je 0x53e742
cmp eax, 0xf
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544b28]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53cb3f
mov ebx, dword [esp + 0x10]
mov ecx, ebp
cmp esi, dword [ebx + 0x78]
jae 0x542ae4
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53db77
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546000
test eax, eax
jne case.0x544660.14
lea ecx, [eax + 1]
jmp 0x53db9b
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53db9b
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53db9b
cmp dword [edi], ecx
je case.0x544660.14
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je case.0x544660.14
cmp dword [ebx + 0x88], 0
je 0x53dbcd
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53dbcd
cmp dword [ebx + 0x18], 0
jne 0x53dbcd
cmp dword [edi], 2
jne 0x53dbcd
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53dbcd
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x5447b7
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53dbe6
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53dbe6
add esi, ecx
cmp esi, eax
jb 0x53dbd6
add ebp, ecx
cmp ebp, dword [esp + 0x2c]
jle 0x53db46
mov edi, ebx
jmp 0x53cb43
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, eax
jae 0x542b32
add esi, 1
cmp esi, eax
jae 0x53dc31
nop
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53dc31
add esi, 1
cmp esi, eax
jb 0x53dc20
add ecx, 1
cmp ecx, ebx
jle 0x53dc10
jmp 0x53cb47
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x544660.14
add esi, ebx
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53dd9f
test al, 0x20
jne 0x53dcab
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 0x53dd9f
test al, 0x10
jne 0x53dcd9
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 0x53dd9f
test al, 8
jne 0x53dd13
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 0x53dd9f
test al, 4
jne 0x53dd56
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 0x53dd9f
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 0x53ddc4
je 0x53ddb6
cmp eax, 0xa
je 0x53ddeb
jbe case.0x544660.14
cmp eax, 0xc
jmp 0x53dddb
cmp esi, edx
jae 0x53ddeb
cmp byte [esi], 0xa
jne 0x53ddeb
add esi, 1
jmp 0x53ddeb
cmp eax, 0x85
je 0x53dde1
cmp eax, 0x2027
jbe case.0x544660.14
cmp eax, 0x2029
ja case.0x544660.14
cmp dword [edi + 0x68], 0
jne case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53dc70
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53df3f
test al, 0x20
jne 0x53de4b
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 0x53df3f
test al, 0x10
jne 0x53de79
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 0x53df3f
test al, 8
jne 0x53deb3
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 0x53df3f
test al, 4
jne 0x53def6
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 0x53df3f
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 0x53df6e
je case.0x544660.14
cmp eax, 0xa0
ja 0x53df67
je case.0x544660.14
cmp eax, 9
je case.0x544660.14
cmp eax, 0x20
jmp 0x53df99
cmp eax, 0x1680
jmp 0x53df99
cmp eax, 0x205f
ja 0x53df94
je case.0x544660.14
cmp eax, 0x2000
jb 0x53df9f
cmp eax, 0x200a
jbe case.0x544660.14
cmp eax, 0x202f
jmp 0x53df99
cmp eax, 0x3000
je case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53de10
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53e0f2
test al, 0x20
jne 0x53dffe
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 0x53e0f2
test al, 0x10
jne 0x53e02c
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 0x53e0f2
test al, 8
jne 0x53e066
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 0x53e0f2
test al, 4
jne 0x53e0a9
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 0x53e0f2
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 0x53e115
je 0x53e142
cmp eax, 0xa0
ja 0x53e10e
je 0x53e142
cmp eax, 9
je 0x53e142
cmp eax, 0x20
jmp 0x53e13c
cmp eax, 0x1680
jmp 0x53e13c
cmp eax, 0x205f
ja 0x53e137
je 0x53e142
cmp eax, 0x2000
jb case.0x544660.14
cmp eax, 0x200a
jbe 0x53e142
cmp eax, 0x202f
jmp 0x53e13c
cmp eax, 0x3000
jne case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53dfc3
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53e295
test al, 0x20
jne 0x53e1a1
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 0x53e295
test al, 0x10
jne 0x53e1cf
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 0x53e295
test al, 8
jne 0x53e209
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 0x53e295
test al, 4
jne 0x53e24c
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 0x53e295
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 0x53e2ac
je case.0x544660.14
cmp eax, 0xa
jb 0x53e2be
cmp eax, 0xd
jmp 0x53e2b8
cmp eax, 0x2028
jb 0x53e2be
cmp eax, 0x2029
jbe case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e166
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53e411
test al, 0x20
jne 0x53e31d
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 0x53e411
test al, 0x10
jne 0x53e34b
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 0x53e411
test al, 8
jne 0x53e385
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 0x53e411
test al, 4
jne 0x53e3c8
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 0x53e411
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 0x53e428
je 0x53e43e
cmp eax, 0xa
jb case.0x544660.14
cmp eax, 0xd
jmp 0x53e438
cmp eax, 0x2028
jb case.0x544660.14
cmp eax, 0x2029
ja case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e2e2
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x53e591
test al, 0x20
jne 0x53e49d
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 0x53e591
test al, 0x10
jne 0x53e4cb
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 0x53e591
test al, 8
jne 0x53e505
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 0x53e591
test al, 4
jne 0x53e548
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 0x53e591
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 0x53e5a5
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
jne case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e462
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x544660.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 4
je case.0x544660.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53e5d0
jmp 0x53cb47
mov edx, 1
cmp ebx, edx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x542b32
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53e635
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
jne case.0x544660.14
add esi, 1
cmp esi, ecx
jae 0x53e64f
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53e64f
add esi, 1
cmp esi, ecx
jb 0x53e640
add edx, 1
cmp edx, ebx
jle 0x53e616
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x544660.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 1
je case.0x544660.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53e670
jmp 0x53cb47
mov edx, 1
cmp ebx, edx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x542b32
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x53e6d5
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
jne case.0x544660.14
add esi, 1
cmp esi, ecx
jae 0x53e6ef
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x53e6ef
add esi, 1
cmp esi, ecx
jb 0x53e6e0
add edx, 1
cmp edx, ebx
jle 0x53e6b6
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
nop
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
cmp eax, 0x80
jae case.0x544660.14
mov ebp, dword [edi + 0x40]
test byte [eax + ebp], 0x10
je case.0x544660.14
add ecx, 1
add esi, 1
cmp ecx, ebx
jle 0x53e710
jmp 0x53cb47
cmp eax, 0xf
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544b68]
mov ebp, 1
cmp dword [esp + 0x2c], ebp
jl 0x53cb3f
mov ecx, dword [esp + 0x10]
lea ebx, [esi + 1]
mov edx, ebp
lea ebx, [ebx]
cmp esi, dword [ecx + 0x78]
jae 0x542b0b
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x53e7a6
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.00546000
test eax, eax
jne case.0x544660.14
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
jmp 0x53e7cd
mov eax, dword [ecx + 0x78]
sub eax, dword [ecx + 0x1c]
lea edi, [ecx + 0x1c]
cmp esi, eax
ja 0x53e7cd
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53e7cd
cmp dword [edi], edx
je case.0x544660.14
mov al, byte [ebx]
cmp al, byte [ecx + 0x35]
je case.0x544660.14
cmp dword [ecx + 0x88], 0
je 0x53e7fc
cmp ebx, dword [ecx + 0x78]
jb 0x53e7fc
cmp dword [ecx + 0x18], 0
jne 0x53e7fc
cmp dword [edi], 2
jne 0x53e7fc
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x53e7fc
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jg 0x5447b7
add ebp, edx
add esi, edx
add ebx, edx
cmp ebp, dword [esp + 0x2c]
jle 0x53e770
jmp 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
sub ecx, ebx
cmp esi, ecx
ja 0x542b32
add esi, ebx
jmp 0x53cb47
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
sub edx, ebx
cmp esi, edx
ja 0x542b32
add esi, ebx
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
sub eax, 0xa
add esi, 1
cmp eax, 0x7b
ja case.0x544660.14
movzx eax, byte [eax + 0x544bb8]
jmp dword [eax*4 + 0x544ba8]
cmp esi, edx
jae case.0x53e876.10
cmp byte [esi], 0xa
jne case.0x53e876.10
add esi, 1
jmp case.0x53e876.10
cmp dword [edi + 0x68], 0
jne case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e855
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je case.0x544660.14
cmp eax, 0x20
je case.0x544660.14
cmp eax, 0xa0
je case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e8b5
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 9
je 0x53e923
cmp eax, 0x20
je 0x53e923
cmp eax, 0xa0
jne case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e900
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl 0x53e96a
cmp eax, 0xd
jle case.0x544660.14
cmp eax, 0x85
je case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e943
jmp 0x53cb47
mov ecx, 1
cmp ebx, ecx
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x542b32
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xa
jl case.0x544660.14
cmp eax, 0xd
jle 0x53e9b7
cmp eax, 0x85
jne case.0x544660.14
add ecx, 1
cmp ecx, ebx
jle 0x53e990
jmp 0x53cb47
mov eax, 1
cmp ebx, eax
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x542b32
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
jne case.0x544660.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53e9d7
jmp 0x53cb47
mov eax, 1
cmp ebx, eax
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x542b32
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 4
je case.0x544660.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53ea12
jmp 0x53cb47
mov eax, 1
cmp ebx, eax
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
lea ecx, [ecx]
cmp esi, ecx
jae 0x542b32
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
jne case.0x544660.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53ea50
jmp 0x53cb47
mov eax, 1
cmp ebx, eax
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53ea90
cmp esi, ecx
jae 0x542b32
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 1
je case.0x544660.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53ea90
jmp 0x53cb47
mov eax, 1
cmp ebx, eax
jl 0x53cb3f
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
jmp 0x53ead0
cmp esi, ecx
jae 0x542b32
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
jne case.0x544660.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53ead0
jmp 0x53cb47
mov edi, dword [esp + 0x10]
mov eax, 1
cmp ebx, eax
jl 0x53cb47
mov ecx, dword [edi + 0x78]
jmp 0x53eb10
cmp esi, ecx
jae 0x542b32
movzx edx, byte [esi]
mov ebp, dword [edi + 0x40]
test byte [edx + ebp], 0x10
je case.0x544660.14
add eax, 1
add esi, 1
cmp eax, ebx
jle 0x53eb10
jmp 0x53cb47
mov edi, dword [esp + 0x10]
jmp 0x53cb47
cmp ebx, ebp
mov edx, ebx
jge 0x53fa38
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
mov ecx, 1
jae 0x53fa0b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53eb9d
cmp eax, 0xc0
jb 0x53eb9d
test al, 0x20
jne 0x53eb7a
mov ecx, 2
jmp 0x53eb9d
test al, 0x10
jne 0x53eb85
mov ecx, 3
jmp 0x53eb9d
test al, 8
jne 0x53eb90
mov ecx, 4
jmp 0x53eb9d
and al, 4
neg al
sbb eax, eax
neg eax
add eax, 5
mov ecx, eax
cmp dword [esp + 0x44], 0
jne 0x53fa38
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53eb51
jmp 0x53fa38
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53ed38
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53ecce
cmp ecx, 0xc0
jb 0x53ecce
test cl, 0x20
jne 0x53ec13
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53eccc
test cl, 0x10
jne 0x53ec3d
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 0x53ecce
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53ec63
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53ecbe
and eax, 0x3f
test cl, 4
jne 0x53ec99
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 0x53ecce
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ecf0
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx eax, byte [eax*8 + 0x573989]
cmp eax, 9
je 0x53ed15
cmp eax, 5
je 0x53ed15
cmp eax, 8
je 0x53ed15
xor eax, eax
jmp 0x53ed1a
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53ebd0
jmp 0x53fa38
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53fa38
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53fa38
mov ecx, edi
jmp 0x53fa27
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53ed38
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53ee6d
cmp ecx, 0xc0
jb 0x53ee6d
test cl, 0x20
jne 0x53edb2
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53ee6b
test cl, 0x10
jne 0x53eddc
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 0x53ee6d
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53ee02
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53ee5d
and eax, 0x3f
test cl, 4
jne 0x53ee38
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 0x53ee6d
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53ee8f
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x572ec8], eax
sete dl
cmp edx, dword [esp + 0x44]
je 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53ed73
jmp 0x53fa38
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53eef0
cmp esi, ebx
mov edi, 1
jae 0x53f049
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53efee
cmp ecx, 0xc0
jb 0x53efee
test cl, 0x20
jne 0x53ef33
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53efec
test cl, 0x10
jne 0x53ef5d
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 0x53efee
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53ef83
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53efde
and eax, 0x3f
test cl, 4
jne 0x53efb9
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 0x53efee
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53f010
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53eef0
jmp 0x53fa38
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53fa38
mov ecx, eax
cmp esi, dword [ecx + 0x84]
jbe 0x53fa38
mov ecx, edi
jmp 0x53fa29
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
mov edi, 1
jae 0x53f049
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53f177
cmp ecx, 0xc0
jb 0x53f177
test cl, 0x20
jne 0x53f0c5
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53f177
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53f0f1
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 0x53f177
test cl, 8
jne 0x53f10c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53f167
and eax, 0x3f
test cl, 4
jne 0x53f142
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 0x53f177
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53f199
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573988]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53f084
jmp 0x53fa38
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x78]
jmp 0x53f1f0
cmp esi, ebx
mov edi, 1
jae 0x53f353
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53f2e7
cmp ecx, 0xc0
jb 0x53f2e7
test cl, 0x20
jne 0x53f235
movzx eax, byte [esi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edi, 2
jmp 0x53f2e7
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x53f261
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 0x53f2e7
test cl, 8
jne 0x53f27c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53f2d7
and eax, 0x3f
test cl, 4
jne 0x53f2b2
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 0x53f2e7
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53f309
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
mov eax, dword [ecx*4 + 0x572ec8]
cmp eax, 1
je 0x53f330
cmp eax, 3
je 0x53f330
xor eax, eax
jmp 0x53f335
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53f1f0
jmp 0x53fa38
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x53fa38
mov eax, edx
cmp esi, dword [eax + 0x84]
jbe 0x53fa38
mov ecx, edi
jmp 0x53fa29
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edi, edi
cmp esi, ebx
mov edi, 1
jae 0x53ed38
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53f48e
cmp ecx, 0xc0
jb 0x53f48e
test cl, 0x20
jne 0x53f3d3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53f48c
test cl, 0x10
jne 0x53f3fd
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 0x53f48e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53f423
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53f47e
and eax, 0x3f
test cl, 4
jne 0x53f459
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 0x53f48e
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 0x53f4d1
je case.0x53f4f1.8192
cmp ecx, 0x85
ja 0x53f4bd
je case.0x53f4f1.8192
cmp ecx, 9
jb case.0x53f4f1.8203
cmp ecx, 0xd
jbe case.0x53f4f1.8192
cmp ecx, 0x20
jmp 0x53f50a
cmp ecx, 0xa0
je case.0x53f4f1.8192
cmp ecx, 0x1680
jmp 0x53f50a
cmp ecx, 0x202f
ja 0x53f4f8
je case.0x53f4f1.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x53f4f1.8203
movzx edx, byte [eax + 0x544c3c]
jmp dword [edx*4 + 0x544c34]
cmp ecx, 0x205f
je case.0x53f4f1.8192
cmp ecx, 0x3000
je case.0x53f4f1.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x53f52e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577208]
movzx edx, byte [ecx*8 + 0x573989]
xor eax, eax
cmp dword [edx*4 + 0x572ec8], 6
sete al
cmp eax, dword [esp + 0x44]
je 0x53fa38
jmp 0x53f564
cmp dword [esp + 0x44], 0
jne 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53f390
jmp 0x53fa38
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, ebx
mov edi, 1
jae 0x53ed38
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
je 0x53f68e
cmp ecx, 0xc0
jb 0x53f68e
test cl, 0x20
jne 0x53f5d3
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53f68c
test cl, 0x10
jne 0x53f5fd
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 0x53f68e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53f623
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53f67e
and eax, 0x3f
test cl, 4
jne 0x53f659
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 0x53f68e
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 + 0x575008]
mov eax, ecx
shl edx, 7
and eax, 0x8000007f
jns 0x53f6b1
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx edx, word [edx*2 + 0x577208]
movzx eax, byte [edx*8 + 0x573989]
mov eax, dword [eax*4 + 0x572ec8]
cmp eax, 1
je 0x53f6dd
cmp eax, 3
je 0x53f6dd
cmp ecx, 0x5f
je 0x53f6dd
xor eax, eax
jmp 0x53f6e2
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53fa38
add ebp, 1
add esi, edi
cmp ebp, dword [esp + 0x18]
jl 0x53f590
jmp 0x53fa38
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x53fa38
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x53f720
cmp esi, ebx
mov edx, 1
jae 0x53f87b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53f82c
cmp eax, 0xc0
jb 0x53f82c
test al, 0x20
jne 0x53f761
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, 2
jmp 0x53f82a
test al, 0x10
jne 0x53f78a
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 0x53f82c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 8
jne 0x53f7b7
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 0x53f824
test al, 4
jne 0x53f7f0
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 0x53f82c
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 + 0x573848]
cmp eax, ecx
lea edi, [edi*4 + 0x573848]
jb 0x53f84f
add edi, 4
cmp eax, ecx
je 0x53f85c
mov ecx, dword [edi]
cmp eax, ecx
jae 0x53f842
cmp dword [esp + 0x44], 0
je 0x53fa38
jmp 0x53f867
cmp dword [esp + 0x44], 0
jne 0x53fa38
add ebp, 1
add esi, edx
cmp ebp, dword [esp + 0x18]
jl 0x53f720
jmp 0x53fa38
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53fa38
cmp esi, dword [eax + 0x84]
jbe 0x53fa38
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jmp 0x53fa32
cmp ebx, ebp
mov edx, ebx
jge 0x53fa38
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x78]
jmp 0x53f8c0
cmp esi, edi
mov ecx, 1
jae 0x53fa0b
cmp dword [esp + 0x20], 0
movzx eax, byte [esi]
je 0x53f9c7
cmp eax, 0xc0
jb 0x53f9c7
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x53f903
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x53f9c7
test al, 0x10
jne 0x53f925
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 0x53f9c7
test al, 8
jne 0x53f953
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 0x53f9c7
test al, 4
jne 0x53f98a
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 0x53f9c7
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 0x53f9ef
cmp eax, 0x40
je 0x53f9ef
cmp eax, 0x60
je 0x53f9ef
cmp eax, 0xa0
jb 0x53f9e4
cmp eax, 0xd7ff
jbe 0x53f9ef
cmp eax, 0xe000
jae 0x53f9ef
xor eax, eax
jmp 0x53f9f4
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x53fa38
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x53f8c0
jmp 0x53fa38
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x53fa38
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x53fa38
mov ecx, 1
mov eax, edx
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
jbe 0x540ea3
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.00537800
test eax, eax
jne 0x5447ca
sub esi, 1
cmp dword [esp + 0x20], eax
je 0x53faae
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x53faae
lea esp, [esp]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x53faa0
cmp esi, dword [esp + 0x34]
ja 0x53fa60
jmp 0x540ea3
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x53fe48
cmp ebx, ebp
mov dword [esp + 0x30], ebx
jge 0x53fddd
lea edx, [eax - 0x15]
mov eax, dword [esp + 0x10]
lea esp, [esp]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x53fdbd
movzx ecx, byte [esi]
add esi, edx
cmp dword [esp + 0x20], 0
je 0x53fbf1
cmp ecx, 0xc0
jb 0x53fbf1
test cl, 0x20
jne 0x53fb21
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, edx
jmp 0x53fbf1
test cl, 0x10
jne 0x53fb48
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 0x53fbf1
test cl, 8
jne 0x53fb7b
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 0x53fbf1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 4
jne 0x53fbb7
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 0x53fbf1
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fc13
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
cmp esi, ebx
movzx eax, word [edx*2 + 0x577208]
movzx ebp, byte [eax*8 + 0x57398a]
jae 0x53fd73
lea ecx, [ecx]
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x53fd23
cmp ecx, 0xc0
jb 0x53fd23
test cl, 0x20
jne 0x53fc6b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x53fd21
test cl, 0x10
jne 0x53fc95
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 0x53fd23
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x53fcb8
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x53fd13
and eax, 0x3f
test cl, 4
jne 0x53fcee
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 0x53fd23
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x53fd45
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x57398a]
mov edx, 1
shl edx, cl
test dword [ebp*4 + 0x572e54], edx
je 0x53fd73
add esi, edi
cmp esi, ebx
mov ebp, ecx
jb 0x53fc30
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x53fda2
cmp esi, ebx
jb 0x53fda2
cmp esi, dword [eax + 0x84]
jbe 0x53fda2
mov edx, 1
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x5447b7
jmp 0x53fda7
mov edx, 1
mov ecx, dword [esp + 0x30]
add ecx, edx
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
jl 0x53fae0
jmp 0x53fddd
cmp dword [eax + 0x88], 0
je 0x53fddd
cmp esi, dword [eax + 0x84]
jbe 0x53fddd
mov dword [eax + 0x64], edx
cmp dword [eax + 0x88], edx
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
jbe 0x540ea3
mov ebp, dword [esp + 0x20]
jmp 0x53fe00
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.00537800
test eax, eax
jne 0x5447ca
sub esi, 1
test ebp, ebp
jne 0x541443
movzx ecx, byte [esi]
jmp 0x54152c
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
je 0x540cf3
cmp eax, 0xf
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544c68]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540c5e
mov ebx, dword [esp + 0x10]
mov ecx, 1
lea ecx, [ecx]
cmp esi, dword [ebx + 0x78]
jae 0x53ff31
mov eax, dword [ebx + 0x18]
test eax, eax
lea edi, [ebx + 0x1c]
je 0x53feb1
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x78]
push ecx
push edi
push edx
push eax
push esi
call fcn.00546000
test eax, eax
jne 0x540c5e
lea ecx, [eax + 1]
jmp 0x53fed5
mov eax, dword [ebx + 0x78]
sub eax, dword [edi]
cmp esi, eax
ja 0x53fed5
mov dl, byte [esi]
cmp dl, byte [ebx + 0x34]
jne 0x53fed5
cmp dword [edi], ecx
je 0x540c5e
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x540c5e
cmp dword [ebx + 0x88], 0
je 0x53ff07
lea edx, [esi + 1]
cmp edx, dword [ebx + 0x78]
jb 0x53ff07
cmp dword [ebx + 0x18], 0
jne 0x53ff07
cmp dword [edi], 2
jne 0x53ff07
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x53ff07
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jg 0x5447b7
mov eax, dword [ebx + 0x78]
add esi, ecx
cmp esi, eax
jae 0x53ff20
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53ff20
add esi, ecx
cmp esi, eax
jb 0x53ff10
add ebp, ecx
cmp ebp, dword [esp + 0x18]
jl 0x53fe80
jmp 0x540c5e
cmp dword [ebx + 0x88], 0
je 0x540c5e
cmp esi, dword [ebx + 0x84]
jbe 0x540c5e
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x540c58
cmp ebp, 0x7fffffff
jge 0x53ffbd
cmp ebx, ebp
mov ecx, ebx
jge 0x540c5e
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x78]
mov edi, dword [esp + 0x18]
cmp esi, eax
jae 0x53ff9d
add esi, 1
cmp esi, eax
jae 0x53ff91
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x53ff91
add esi, 1
cmp esi, eax
jb 0x53ff80
add ecx, 1
cmp ecx, edi
jl 0x53ff75
jmp 0x540c5e
cmp dword [ebp + 0x88], 0
je 0x540c5e
mov eax, ebp
cmp esi, dword [eax + 0x84]
jbe 0x540c5e
jmp 0x540c4a
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x540c5e
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x84]
jbe 0x540c5e
mov eax, ecx
jmp 0x540c4a
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x540016
cmp dword [edi + 0x88], 0
mov esi, dword [edi + 0x78]
je 0x540c5e
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x84]
jbe 0x540c5e
jmp 0x540c4a
add esi, eax
jmp 0x540c5e
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x540c5e
mov ebp, dword [esp + 0x10]
mov edx, dword [ebp + 0x78]
jmp 0x540036
mov ebp, dword [esp + 0x10]
cmp esi, edx
mov ecx, 1
jae 0x540192
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x540132
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x54006e
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540132
test al, 0x10
jne 0x540090
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 0x540132
test al, 8
jne 0x5400be
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 0x540132
test al, 4
jne 0x5400f5
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 0x540132
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 0x54014c
add esi, 1
cmp esi, edx
jae 0x540c5e
cmp byte [esi], 0xa
jne 0x540180
add esi, 1
jmp 0x540180
cmp eax, 0xa
je 0x54017e
cmp dword [ebp + 0x68], 0
jne 0x540c5e
cmp eax, 0xb
je 0x54017e
cmp eax, 0xc
je 0x54017e
cmp eax, 0x85
je 0x54017e
cmp eax, 0x2028
je 0x54017e
cmp eax, 0x2029
jne 0x540c5e
add esi, ecx
add edi, 1
cmp edi, dword [esp + 0x18]
jl 0x540032
jmp 0x540c5e
cmp dword [ebp + 0x88], 0
jmp 0x53ffc7
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x540c5e
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x5401c0
cmp esi, ebp
mov ecx, 1
jae 0x540c31
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5402bc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5401f8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5402bc
test al, 0x10
jne 0x54021a
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 0x5402bc
test al, 8
jne 0x540248
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 0x5402bc
test al, 4
jne 0x54027f
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 0x5402bc
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 0x5402df
je 0x540308
cmp eax, 0xa0
ja 0x5402d8
je 0x540308
cmp eax, 9
je 0x540308
cmp eax, 0x20
jmp 0x540302
cmp eax, 0x1680
jmp 0x540302
cmp eax, 0x205f
ja 0x5402fd
je 0x540308
cmp eax, 0x2000
jb 0x540304
cmp eax, 0x200a
jbe 0x540308
cmp eax, 0x202f
jmp 0x540302
cmp eax, 0x3000
je 0x540308
xor eax, eax
jmp 0x54030d
mov eax, 1
xor ebx, ebx
cmp edx, 0x12
sete bl
cmp eax, ebx
je 0x540c5e
add edi, 1
add esi, ecx
cmp edi, dword [esp + 0x18]
jl 0x5401c0
jmp 0x540c5e
cmp ebx, dword [esp + 0x18]
mov edi, ebx
jge 0x540c5e
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov edx, dword [esp + 0x18]
jmp 0x540350
cmp esi, ebp
mov ecx, 1
jae 0x54049a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54044c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540388
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54044c
test al, 0x10
jne 0x5403aa
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 0x54044c
test al, 8
jne 0x5403d8
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 0x54044c
test al, 4
jne 0x54040f
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 0x54044c
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 0x540485
je 0x540493
cmp eax, 0xa
jb 0x54045f
cmp eax, 0xd
jbe 0x540493
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x38], 0x14
sete bl
cmp eax, ebx
je 0x540c5e
add edi, 1
add esi, ecx
cmp edi, edx
jl 0x540350
jmp 0x540c5e
cmp eax, 0x2028
jb 0x54045f
cmp eax, 0x2029
ja 0x54045f
mov eax, 1
jmp 0x540461
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x540c5e
cmp esi, dword [eax + 0x84]
jbe 0x540c5e
jmp 0x540c4f
cmp ebx, ebp
mov edx, ebx
jge 0x540c5e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x540192
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x5405cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540508
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x5405cc
test al, 0x10
jne 0x54052a
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 0x5405cc
test al, 8
jne 0x540558
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 0x5405cc
test al, 4
jne 0x54058f
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 0x5405cc
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 0x5405e4
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 4
jne 0x540c5e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5404d0
jmp 0x540c5e
cmp ebx, ebp
mov edx, ebx
jge 0x540c5e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x540c31
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54070c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540648
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54070c
test al, 0x10
jne 0x54066a
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 0x54070c
test al, 8
jne 0x540698
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 0x54070c
test al, 4
jne 0x5406cf
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 0x54070c
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 0x540c5e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 4
je 0x540c5e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540610
jmp 0x540c5e
cmp ebx, ebp
mov edx, ebx
jge 0x540c5e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x540192
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54084c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540788
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54084c
test al, 0x10
jne 0x5407aa
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 0x54084c
test al, 8
jne 0x5407d8
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 0x54084c
test al, 4
jne 0x54080f
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 0x54084c
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 0x540864
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 1
jne 0x540c5e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540750
jmp 0x540c5e
cmp ebx, ebp
mov edx, ebx
jge 0x540c5e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x540c31
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x54098c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5408c8
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x54098c
test al, 0x10
jne 0x5408ea
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 0x54098c
test al, 8
jne 0x540918
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 0x54098c
test al, 4
jne 0x54094f
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 0x54098c
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 0x540c5e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 1
je 0x540c5e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540890
jmp 0x540c5e
cmp ebx, ebp
mov edx, ebx
jge 0x540c5e
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x78]
lea ecx, [ecx]
cmp esi, edi
mov ecx, 1
jae 0x540192
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x540acc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540a08
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540acc
test al, 0x10
jne 0x540a2a
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 0x540acc
test al, 8
jne 0x540a58
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 0x540acc
test al, 4
jne 0x540a8f
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 0x540acc
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 0x540ae4
mov ebx, dword [ebp + 0x40]
test byte [eax + ebx], 0x10
jne 0x540c5e
mov ebp, dword [esp + 0x10]
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x5409d0
jmp 0x540c5e
cmp ebx, ebp
mov edx, ebx
jge 0x540c5e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
mov ecx, 1
jae 0x540c31
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x540c0c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x540b48
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x540c0c
test al, 0x10
jne 0x540b6a
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 0x540c0c
test al, 8
jne 0x540b98
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 0x540c0c
test al, 4
jne 0x540bcf
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 0x540c0c
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 0x540c5e
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x40]
test byte [eax + ebx], 0x10
je 0x540c5e
add edx, 1
add esi, ecx
cmp edx, dword [esp + 0x18]
jl 0x540b10
jmp 0x540c5e
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x540c5e
mov edx, ecx
cmp esi, dword [edx + 0x84]
jbe 0x540c5e
mov eax, edx
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
jbe 0x540ea3
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x540c80
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.00537800
test eax, eax
jne 0x5447ca
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
jne 0x540ccf
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x540cc1
cmp ebx, 0x11
jne 0x540cea
cmp esi, edi
jbe 0x540ea3
cmp byte [esi], 0xa
jne 0x540cea
cmp byte [esi - 1], 0xd
jne 0x540cea
add esi, 0xffffffff
cmp esi, edi
ja 0x540c80
jmp 0x540ea3
cmp eax, 0xf
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544ca8]
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [esp + 0x18]
jge 0x540e2b
lea ebx, [esi + 1]
jmp 0x540d20
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x540dc9
mov eax, dword [ecx + 0x18]
test eax, eax
lea edi, [ecx + 0x1c]
je 0x540d53
mov ecx, dword [ecx + 0x78]
push 0
push edi
push ecx
push eax
push esi
call fcn.00546000
test eax, eax
jne 0x540e2b
mov ecx, dword [esp + 0x10]
jmp 0x540d7d
mov edx, dword [ecx + 0x78]
sub edx, dword [edi]
cmp esi, edx
ja 0x540d7d
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x540d7d
cmp dword [edi], 1
je 0x540e2b
mov cl, byte [ebx]
mov edx, dword [esp + 0x10]
cmp cl, byte [edx + 0x35]
je 0x540e2b
mov ecx, edx
cmp dword [ecx + 0x88], 0
je 0x540db1
cmp ebx, dword [ecx + 0x78]
jb 0x540db1
cmp dword [ecx + 0x18], 0
jne 0x540db1
cmp dword [edi], 2
jne 0x540db1
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x540db1
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x5447b7
add ebp, 1
add esi, 1
add ebx, 1
cmp ebp, dword [esp + 0x18]
jl 0x540d20
jmp 0x540e2b
cmp dword [ecx + 0x88], 0
je 0x540e2b
cmp esi, dword [ecx + 0x84]
jbe 0x540e2b
mov eax, dword [esp + 0x10]
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x540e25
mov edx, dword [edi + 0x78]
sub ebp, ebx
mov eax, ebp
sub edx, esi
cmp eax, edx
jbe 0x540ec0
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je 0x540e2b
cmp esi, dword [edi + 0x84]
jbe 0x540e2b
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x5447b7
cmp dword [esp + 0x3c], 0
jne 0x537900
cmp esi, dword [esp + 0x34]
je 0x540ea3
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x540e50
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.00537800
test eax, eax
jne 0x5447ca
sub esi, 1
cmp ebx, 0x11
jne 0x540e9f
cmp esi, edi
jbe 0x540ea1
cmp byte [esi], 0xa
jne 0x540e9f
cmp byte [esi - 1], 0xd
jne 0x540e9f
add esi, 0xffffffff
cmp esi, edi
jne 0x540e50
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 0x5416c8
xor edx, edx
jmp 0x5378c4
add esi, eax
jmp 0x540e2b
cmp ebx, ebp
mov ecx, ebx
jge 0x540e2b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x540f2e
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x540efd
add esi, ebx
cmp esi, edx
jae 0x540e2b
cmp byte [esi], 0xa
jne 0x540f23
jmp 0x540f21
cmp eax, 0xa
je 0x540f21
cmp dword [edi + 0x68], 0
jne 0x540e2b
cmp eax, 0xb
je 0x540f21
cmp eax, 0xc
je 0x540f21
cmp eax, 0x85
jne 0x540e2b
add esi, ebx
add ecx, ebx
cmp ecx, ebp
jl 0x540ee0
jmp 0x540e2b
cmp dword [edi + 0x88], 0
je 0x540e2b
cmp esi, dword [edi + 0x84]
jbe 0x540e2b
mov dword [edi + 0x64], ebx
cmp dword [edi + 0x88], ebx
jmp 0x540e25
cmp ebx, ebp
mov ecx, ebx
jge 0x540e2b
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x540f2e
mov al, byte [esi]
cmp al, 9
je 0x540e2b
cmp al, 0x20
je 0x540e2b
cmp al, 0xa0
je 0x540e2b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x540f67
jmp 0x540e2b
cmp ebx, ebp
mov ecx, ebx
jge 0x540e2b
mov edx, dword [edi + 0x78]
mov ebx, 1
cmp esi, edx
jae 0x540f2e
mov al, byte [esi]
cmp al, 9
je 0x540fba
cmp al, 0x20
je 0x540fba
cmp al, 0xa0
jne 0x540e2b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x540fa4
jmp 0x540e2b
cmp ebx, ebp
mov ecx, ebx
jge 0x540e2b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea esp, [esp]
cmp esi, edx
jae 0x540f2e
mov al, byte [esi]
cmp al, 0xa
jb 0x540ffe
cmp al, 0xd
jbe 0x540e2b
cmp al, 0x85
je 0x540e2b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x540fe0
jmp 0x540e2b
cmp ebx, ebp
mov ecx, ebx
jge 0x540e2b
mov edx, dword [edi + 0x78]
mov ebx, 1
lea ecx, [ecx]
cmp esi, edx
jae 0x540f2e
mov al, byte [esi]
cmp al, 0xa
jb 0x540e2b
cmp al, 0xd
jbe 0x54103e
cmp al, 0x85
jne 0x540e2b
add ecx, ebx
add esi, ebx
cmp ecx, ebp
jl 0x541020
jmp 0x540e2b
cmp ebx, ebp
mov eax, ebx
jge 0x540e2b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x540e06
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
jne 0x540e2b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541058
jmp 0x540e2b
cmp ebx, ebp
mov eax, ebx
jge 0x540e2b
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x540e06
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 4
je 0x540e2b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541090
jmp 0x540e2b
cmp ebx, ebp
mov eax, ebx
jge 0x540e2b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x540e06
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
jne 0x540e2b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x5410c4
jmp 0x540e2b
cmp ebx, ebp
mov eax, ebx
jge 0x540e2b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x540e06
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 1
je 0x540e2b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x5410f8
jmp 0x540e2b
cmp ebx, ebp
mov eax, ebx
jge 0x540e2b
mov ecx, dword [edi + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x540e06
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
jne 0x540e2b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541130
jmp 0x540e2b
cmp ebx, ebp
mov eax, ebx
jge 0x540e2b
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x540e06
movzx edx, byte [esi]
mov ebx, dword [edi + 0x40]
test byte [edx + ebx], 0x10
je 0x540e2b
add eax, 1
add esi, 1
cmp eax, ebp
jl 0x541164
jmp 0x540e2b
mov ecx, dword [esp + 0x17c]
add ecx, 1
cmp byte [edx], 0x7a
push ecx
push ebx
push edi
push eax
push ebp
jne 0x5411c2
mov edx, dword [esp + 0x28]
add edx, 3
push edx
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x540ea3
mov edx, dword [esp + 0x54]
push edx
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
add dword [esp + 0x14], 3
jmp 0x540ea3
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 0x5412cb
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 0x541240
cmp dword [esp + 0x40], 0x88
jb 0x541254
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 + 0x572cf0]
push eax
add edx, ebx
push edx
push esi
call fcn.00537800
cmp eax, 0xfffffc1b
je 0x541a3c
cmp eax, 0xfffffc20
jne 0x541a09
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x5447ca
cmp byte [ebx], 0x77
je 0x5412c0
cmp byte [ecx], 0x77
jne 0x5447ca
xor eax, eax
jmp 0x541a11
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, 0x88
jae 0x541306
cmp eax, 0x81
je 0x541306
cmp dword [edi + 0x6c], 0
jne 0x541310
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
cmp byte [eax + edx], 0x77
je 0x541310
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x572cf0]
add edx, ecx
mov dword [esp + 0x14], edx
jmp 0x540ea3
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 + 0x572cf0]
add ecx, eax
push ecx
push esi
call fcn.00537800
cmp eax, 0xfffffc20
jne 0x54137f
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 0x5447ca
cmp byte [ecx], 0x77
je 0x541387
cmp byte [edx], 0x77
jne 0x5447ca
jmp 0x541387
test eax, eax
jne 0x541a67
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.0x544660.14
mov dword [edi + 0x90], ebx
mov edx, eax
jmp 0x5412cb
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 0x541406
mov ecx, dword [esp + 0x28]
add ecx, 3
push ecx
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
mov ecx, dword [esp + 0x40]
mov al, byte [ecx]
cmp al, 0x81
je 0x541bc9
cmp al, 0x88
jae 0x541c03
mov dword [esp + 0x14], ecx
jmp 0x540ea3
mov ecx, dword [esp + 0x54]
push ecx
push esi
call fcn.00537800
cmp eax, 0xfffffc1b
jne 0x541424
mov edx, dword [ebp + 0xb4]
cmp edx, dword [esp + 0x40]
jmp 0x541426
test eax, eax
jne 0x5447ca
mov eax, dword [esp + 0x40]
cmp byte [eax], 0x81
je 0x541c26
add dword [esp + 0x14], 3
jmp 0x540ea3
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x54145e
jmp 0x541450
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x541450
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x54152c
test cl, 0x20
jne 0x541484
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
jmp 0x54152a
test cl, 0x10
jne 0x5414a9
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 0x54152c
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x5414ca
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
jmp 0x54151c
and eax, 0x3f
test cl, 4
jne 0x5414fb
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 0x54152c
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x54154e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ebx, byte [eax*8 + 0x57398a]
cmp esi, dword [esp + 0x34]
jbe 0x540ea3
mov ebp, dword [esp + 0x20]
test ebp, ebp
lea edi, [esi - 1]
jne 0x54157d
movzx ecx, byte [edi]
jmp 0x54165c
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x541595
mov dl, byte [edi - 1]
sub edi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x541587
movzx ecx, byte [edi]
cmp ecx, 0xc0
jb 0x54165c
test cl, 0x20
jne 0x5415bd
movzx eax, byte [edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
jmp 0x54165c
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
and edx, 0x3f
test cl, 0x10
jne 0x5415e4
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
jmp 0x54165c
test cl, 8
jne 0x5415fa
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
jmp 0x54164c
and eax, 0x3f
test cl, 4
jne 0x54162b
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 0x54165c
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x54167e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx eax, byte [eax*8 + 0x57398a]
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [eax*4 + 0x572e54], edx
je 0x5416ab
mov esi, edi
mov ebx, eax
jmp 0x541560
cmp esi, dword [esp + 0x34]
ja 0x53fe00
jmp 0x540ea3
sub ecx, 1
je case.0x544660.14
jmp 0x5447ca
add dword [eax], 1
mov eax, 0xfffffff8
jmp 0x5447ca
mov eax, 0xffffffeb
jmp 0x5447ca
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 + 0x572cf0]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
push ecx
push esi
call fcn.00537800
cmp eax, 1
je 0x54173d
cmp eax, 0xfffffc19
jne 0x541751
cmp dword [ebx + 0xac], 0
jne 0x541751
mov dword [ebx + 0xac], edi
jmp 0x5447ca
cmp eax, 0xfffffc1f
jne 0x5447ca
mov edx, edi
mov edi, dword [ebx + 0x7c]
mov cl, byte [edx]
cmp cl, byte [edi]
jne 0x541778
test cl, cl
je 0x541786
mov cl, byte [edx + 1]
add edx, 1
add edi, 1
cmp cl, byte [edi]
je 0x541767
movzx edi, byte [edi]
movzx ecx, byte [edx]
sub ecx, edi
jne 0x5447ca
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x5447ca
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 + 0x572cf0]
add edx, eax
push edx
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
mov eax, 0xfffffc1c
jmp 0x5447ca
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 + 0x572cf0]
add ecx, eax
push ecx
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
mov eax, 0xfffffc1d
jmp 0x5447ca
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 + 0x572cf0]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push esi
call fcn.00537800
cmp eax, 1
je 0x541887
cmp eax, 0xfffffc19
jne 0x541896
cmp dword [ebx + 0xac], 0
jne 0x541896
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x5447ca
mov eax, 0xfffffc1d
jmp 0x5447ca
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 + 0x572cf0]
add edx, eax
push edx
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x5447ca
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 + 0x572cf0]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00537800
test eax, eax
jne 0x5447ca
add ebx, 2
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc1f
jmp 0x5447ca
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 + 0x572cf0]
push ecx
add eax, edi
push eax
push esi
call fcn.00537800
jmp 0x5419f4
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 + 0x572cf0]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.00537800
cmp eax, 1
je 0x5419e5
cmp eax, 0xfffffc19
jne 0x5419f4
cmp dword [ebx + 0xac], 0
jne 0x5419f4
mov dword [ebx + 0xac], ebp
test eax, eax
jne 0x5447ca
mov dword [ebx + 0x7c], edi
mov eax, 0xfffffc20
jmp 0x5447ca
test eax, eax
jne 0x5447ca
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 0x541240
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 0x5447ca
cmp eax, 0xfffffc1b
jne 0x5447ca
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
cmp dl, 0x81
je 0x541a9b
cmp dl, 0x77
jne 0x541a91
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x77
je 0x541a82
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
sub ecx, edx
cmp dword [edi + 0xb4], ecx
jne 0x5447ca
xor eax, eax
jmp 0x5447ca
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x541ae8
cmp ebx, 0x9f
je 0x541ae8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebp
jne 0x541aec
cmp dword [eax + 0x5c], ebp
jne 0x541ae1
cmp dword [eax + 0x60], ebp
je 0x541aec
mov edx, dword [eax + 0x94]
add edx, dword [eax + 0x74]
cmp ecx, edx
jne 0x541aec
xor eax, eax
jmp 0x5447ca
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 0x5447ca
mov eax, 0xffffffe6
jmp 0x5447ca
mov eax, 0xfffffffa
jmp 0x5447ca
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0xdc]
cmp eax, edx
je 0x541b3f
push eax
call dword [0x596ea0]
mov eax, edi
jmp 0x5447ca
mov eax, dword [esp + 0x54]
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xdc]
cmp eax, ecx
je 0x541b66
push eax
call dword [0x596ea0]
xor eax, eax
jmp 0x5447ca
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 0x5447ca
mov edx, dword [esp + 0x28]
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x7c], edx
mov eax, 1
jmp 0x5447ca
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], esi
mov dword [ebp + 0x8c], ebx
mov eax, 0xfffffc1a
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0xb4], ecx
mov eax, 0xfffffc1b
jmp 0x5447ca
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.00537800
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xb4], edx
mov eax, 0xfffffc1b
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
mov dword [ebp + 0xb4], edi
mov eax, 0xfffffc1b
jmp 0x5447ca
xor ebp, ebp
cmp dword [edi + 0x88], ebp
je case.0x544660.14
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x78]
jb case.0x544660.14
cmp dword [edi + 0x18], ebp
jne case.0x544660.14
cmp dword [edi + 0x1c], 2
jne case.0x544660.14
mov dl, byte [esi]
cmp dl, byte [edi + 0x34]
jne case.0x544660.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x5447b1
cmp dword [edi + 0x88], 0
je case.0x544660.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x544660.14
cmp dword [edi + 0x18], 0
jne case.0x544660.14
cmp dword [edi + 0x1c], 2
jne case.0x544660.14
mov cl, byte [esi]
cmp cl, byte [edi + 0x34]
jne case.0x544660.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x5447b1
cmp dword [ecx + 0x88], ebp
jmp 0x542630
cmp dword [eax + 0x88], ebp
jmp 0x542abf
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x10]
jne 0x5424b0
mov esi, dword [eax + 0x78]
jmp 0x5424b0
cmp ebp, eax
mov dword [esp + 0x34], esi
jge 0x541dc3
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.005374c0
test eax, eax
jl 0x541d8c
add ebp, 1
add esi, eax
cmp ebp, dword [esp + 0x18]
jl 0x541d66
jmp 0x541dbd
cmp eax, 0xfffffffe
jne 0x541dbd
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x541dbd
mov edx, dword [eax + 0x78]
cmp edx, dword [eax + 0x84]
jbe 0x541dbd
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
cmp esi, dword [esp + 0x34]
jb 0x541e05
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x541dd0
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.00537800
test eax, eax
jne 0x5447ca
sub esi, edi
cmp esi, dword [esp + 0x34]
jae 0x541dd0
xor eax, eax
jmp 0x5447ca
cmp eax, 0xfffffffe
jne 0x541e14
mov esi, dword [ebp + 0x78]
cmp dword [ebp + 0x88], 0
je case.0x544660.14
cmp esi, dword [ebp + 0x78]
jb case.0x544660.14
cmp esi, dword [ebp + 0x84]
jbe case.0x544660.14
mov eax, 1
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x88], eax
jmp 0x5447b1
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov edi, edx
je 0x541ffa
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.00537800
test eax, eax
jne 0x5447ca
jmp 0x541e90
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x541f99
test al, 0x20
jne 0x541ed2
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x541f99
test al, 0x10
jne 0x541ef8
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 0x541f99
test al, 8
jne 0x541f2a
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 0x541f99
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x541f65
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 0x541f99
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 0x541fa7
cmp dword [esp + 0x40], 0x6e
jmp 0x541fbf
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.0x544660.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.00537800
test eax, eax
je 0x541e90
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
jmp 0x542030
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
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.0x544660.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.00537800
test eax, eax
je 0x542030
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5421e7
cmp eax, 0xc0
jb 0x5421e7
test al, 0x20
jne 0x542120
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x5421e7
test al, 0x10
jne 0x542146
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 0x5421e7
test al, 8
jne 0x542178
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 0x5421e7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x5421b3
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 0x5421e7
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.00546780
test eax, eax
je case.0x544660.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.00537800
test eax, eax
je 0x5420d3
jmp 0x5447ca
cmp dword [eax + 0x88], 0
je case.0x544660.14
cmp esi, dword [eax + 0x78]
jb case.0x544660.14
jmp 0x542258
cmp dword [eax + 0x88], ebp
je case.0x544660.14
cmp esi, dword [eax + 0x84]
jbe case.0x544660.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x5447b1
cmp dword [edi + 0x88], ebp
jmp 0x542b39
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x544660.14
cmp esi, dword [ecx + 0x78]
jb case.0x544660.14
cmp esi, dword [ecx + 0x84]
jbe case.0x544660.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x5447b1
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.00537800
test eax, eax
jne 0x5447ca
jmp 0x542300
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x18]
jge case.0x544660.14
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
mov edx, ebx
sub edx, ebp
cmp esi, edx
ja 0x5423be
cmp ebp, 4
mov ecx, dword [esp + 0x4c]
mov eax, ebp
mov edx, esi
jb 0x542344
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x54234c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x542330
test eax, eax
je 0x5423b1
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54239b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5423ad
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54239b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5423ad
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x54239b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5423ad
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x5423ad
test edi, edi
mov ebp, dword [esp + 0x38]
mov eax, 1
jg 0x5423b3
or eax, 0xffffffff
jmp 0x5423b3
mov ebp, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x5423be
add esi, ebp
jmp 0x54246d
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x5424ac
sub ebx, eax
cmp esi, ebx
ja 0x5424ac
cmp eax, 4
lea ecx, [esp + 0x154]
mov edx, esi
jb 0x5423f6
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5423fe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5423e2
test eax, eax
je 0x542463
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x542455
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x542463
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x542455
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x542463
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x542455
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x542463
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x542463
test edi, edi
mov eax, 1
jg 0x542465
or eax, 0xffffffff
jmp 0x542465
xor eax, eax
test eax, eax
jne 0x5424ac
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.00537800
test eax, eax
je 0x542300
jmp 0x5447ca
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x544660.14
cmp esi, dword [eax + 0x78]
jb case.0x544660.14
cmp esi, dword [eax + 0x84]
jbe case.0x544660.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x5447b1
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.00537800
test eax, eax
jne 0x5447ca
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
cmp ebx, eax
je 0x542548
cmp dword [esp + 0x38], eax
jne case.0x544660.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.00537800
test eax, eax
je 0x542520
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
lea esp, [esp]
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx edx, byte [esi]
add esi, 1
cmp ebx, edx
jne case.0x544660.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.00537800
test eax, eax
je 0x5425c0
jmp 0x5447ca
cmp dword [edx + 0x88], ebp
jmp 0x544791
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je case.0x544660.14
cmp esi, dword [ecx + 0x84]
jbe case.0x544660.14
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x5447b1
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x5427e7
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x54279e
test al, 0x20
jne 0x5426d7
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x54279e
test al, 0x10
jne 0x5426fd
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 0x54279e
test al, 8
jne 0x54272f
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 0x54279e
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x54276a
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 0x54279e
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.0x544660.14
cmp dword [esp + 0x38], eax
je case.0x544660.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.00537800
test eax, eax
je 0x542695
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
cmp dword [esp + 0x30], eax
je case.0x544660.14
cmp dword [esp + 0x38], eax
je case.0x544660.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.00537800
test eax, eax
je 0x542814
jmp 0x5447ca
cmp dword [ebx + 0x88], 0
je case.0x544660.14
cmp esi, dword [ebx + 0x84]
jbe case.0x544660.14
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x88], eax
jmp 0x5447b1
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
je 0x542a2a
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x5429eb
test al, 0x20
jne 0x542924
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 1
jmp 0x5429eb
test al, 0x10
jne 0x54294a
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 0x5429eb
test al, 8
jne 0x54297c
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 0x5429eb
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x5429b7
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 0x5429eb
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.0x544660.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.00537800
test eax, eax
je 0x5428e2
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
jmp 0x542a60
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x30], ecx
je case.0x544660.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.00537800
test eax, eax
je 0x542a60
jmp 0x5447ca
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x544660.14
cmp esi, dword [eax + 0x84]
jbe case.0x544660.14
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jmp 0x5447b1
cmp dword [ebx + 0x88], 0
je case.0x544660.14
cmp esi, dword [ebx + 0x84]
jbe case.0x544660.14
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x88], ecx
jmp 0x5447b1
cmp dword [ecx + 0x88], 0
je case.0x544660.14
cmp esi, dword [ecx + 0x84]
jbe case.0x544660.14
mov dword [ecx + 0x64], edx
cmp dword [ecx + 0x88], edx
jmp 0x5447b1
cmp dword [edi + 0x88], 0
je case.0x544660.14
cmp esi, dword [edi + 0x84]
jbe case.0x544660.14
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jmp 0x5447b1
test eax, eax
jl 0x543d43
cmp eax, 0xa
ja case.default.0x539f4f
jmp dword [eax*4 + 0x544ce8]
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.00537800
test eax, eax
jne 0x5447ca
nop
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542c02
cmp eax, 0xc0
jb 0x542c02
test al, 0x20
jne 0x542be4
add esi, 1
jmp 0x542c02
test al, 0x10
jne 0x542bed
add esi, 2
jmp 0x542c02
test al, 8
jne 0x542bf6
add esi, 3
jmp 0x542c02
test al, 4
jne 0x542bff
add esi, 4
jmp 0x542c02
add esi, 5
cmp dword [esp + 0x44], 0
jne case.0x544660.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.00537800
test eax, eax
je 0x542bb0
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
jmp 0x542c80
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542d99
cmp ecx, 0xc0
jb 0x542d99
test cl, 0x20
jne 0x542ccf
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x542d99
test cl, 0x10
jne 0x542cf6
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 0x542d99
test cl, 8
jne 0x542d29
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 0x542d99
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x542d65
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 0x542d99
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x542dbb
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx eax, byte [eax*8 + 0x573989]
cmp eax, 9
je 0x542de0
cmp eax, 5
je 0x542de0
cmp eax, 8
je 0x542de0
xor eax, eax
jmp 0x542de5
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x542c80
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
lea ecx, [ecx]
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x542f79
cmp ecx, 0xc0
jb 0x542f79
test cl, 0x20
jne 0x542eaf
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x542f79
test cl, 0x10
jne 0x542ed6
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 0x542f79
test cl, 8
jne 0x542f09
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 0x542f79
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x542f45
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 0x542f79
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x542f9b
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx*4 + 0x572ec8], eax
sete dl
cmp edx, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x542e60
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54314e
cmp ecx, 0xc0
jb 0x54314e
test cl, 0x20
jne 0x543084
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x54314e
test cl, 0x10
jne 0x5430ab
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 0x54314e
test cl, 8
jne 0x5430de
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 0x54314e
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x54311a
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 0x54314e
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x543170
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
xor edx, edx
cmp ecx, dword [esp + 0x48]
sete dl
cmp edx, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x543035
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x54331c
cmp ecx, 0xc0
jb 0x54331c
test cl, 0x20
jne 0x543252
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x54331c
test cl, 0x10
jne 0x543279
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 0x54331c
test cl, 8
jne 0x5432ac
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 0x54331c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x5432e8
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 0x54331c
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 + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x54333e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx ecx, word [eax*2 + 0x577208]
movzx edx, byte [ecx*8 + 0x573988]
xor eax, eax
cmp edx, dword [esp + 0x48]
sete al
cmp eax, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x543203
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5434ea
cmp ecx, 0xc0
jb 0x5434ea
test cl, 0x20
jne 0x543420
movzx eax, byte [esi]
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 1
jmp 0x5434ea
test cl, 0x10
jne 0x543447
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 0x5434ea
test cl, 8
jne 0x54347a
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 0x5434ea
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0x3f
and edx, 0x3f
test cl, 4
jne 0x5434b6
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 0x5434ea
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x54350c
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
mov eax, dword [ecx*4 + 0x572ec8]
cmp eax, 1
je 0x543533
cmp eax, 3
je 0x543533
xor eax, eax
jmp 0x543538
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x5433d1
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x5436c9
cmp ecx, 0xc0
jb 0x5436c9
test cl, 0x20
jne 0x5435ff
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x5436c9
test cl, 0x10
jne 0x543626
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 0x5436c9
test cl, 8
jne 0x543659
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 0x5436c9
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x543695
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 0x5436c9
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 0x543713
je case.0x543733.8192
cmp ecx, 0x85
ja 0x5436ff
je case.0x543733.8192
cmp ecx, 9
jb case.0x543733.8203
cmp ecx, 0xd
jbe case.0x543733.8192
cmp ecx, 0x20
jmp 0x54374c
cmp ecx, 0xa0
je case.0x543733.8192
cmp ecx, 0x1680
jmp 0x54374c
cmp ecx, 0x202f
ja 0x54373a
je case.0x543733.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x543733.8203
movzx eax, byte [eax + 0x544d1c]
jmp dword [eax*4 + 0x544d14]
cmp ecx, 0x205f
je case.0x543733.8192
cmp ecx, 0x3000
je case.0x543733.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x543774
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x573989]
xor edx, edx
cmp dword [ecx*4 + 0x572ec8], 6
sete dl
cmp edx, dword [esp + 0x44]
je case.0x544660.14
jmp 0x5437aa
cmp dword [esp + 0x44], 0
jne case.0x544660.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.00537800
test eax, eax
je 0x5435b0
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
jmp 0x543820
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543939
cmp ecx, 0xc0
jb 0x543939
test cl, 0x20
jne 0x54386f
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x543939
test cl, 0x10
jne 0x543896
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 0x543939
test cl, 8
jne 0x5438c9
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 0x543939
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x543905
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 0x543939
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 + 0x575008]
mov edx, ecx
shl eax, 7
and edx, 0x8000007f
jns 0x54395d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x577208]
movzx edx, byte [eax*8 + 0x573989]
mov eax, dword [edx*4 + 0x572ec8]
cmp eax, 1
je 0x543989
cmp eax, 3
je 0x543989
cmp ecx, 0x5f
je 0x543989
xor eax, eax
jmp 0x54398e
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x543820
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543b1a
cmp eax, 0xc0
jb 0x543b1a
test al, 0x20
jne 0x543a53
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x543b1a
test al, 0x10
jne 0x543a79
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 0x543b1a
test al, 8
jne 0x543aab
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 0x543b1a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x543ae6
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 0x543b1a
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 + 0x573848]
cmp eax, ecx
lea edx, [edx*4 + 0x573848]
jb 0x543b3d
add edx, 4
cmp eax, ecx
je 0x543b4a
mov ecx, dword [edx]
cmp eax, ecx
jae 0x543b30
cmp dword [esp + 0x44], 0
je case.0x544660.14
jmp 0x543b55
cmp dword [esp + 0x44], 0
jne case.0x544660.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.00537800
test eax, eax
je 0x543a06
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x542ab8
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543cd7
cmp eax, 0xc0
jb 0x543cd7
test al, 0x20
jne 0x543c10
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 1
jmp 0x543cd7
test al, 0x10
jne 0x543c36
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 0x543cd7
test al, 8
jne 0x543c68
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 0x543cd7
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x543ca3
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 0x543cd7
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 0x543cff
cmp eax, 0x40
je 0x543cff
cmp eax, 0x60
je 0x543cff
cmp eax, 0xa0
jb 0x543cf4
cmp eax, 0xd7ff
jbe 0x543cff
cmp eax, 0xe000
jae 0x543cff
xor eax, eax
jmp 0x543d04
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x544660.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.00537800
test eax, eax
je 0x543bc3
jmp 0x5447ca
cmp dword [esp + 0x38], 0x16
jne 0x544097
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.00537800
test eax, eax
jne 0x5447ca
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jge case.0x544660.14
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x542ab8
movzx ecx, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x543ea2
cmp ecx, 0xc0
jb 0x543ea2
test cl, 0x20
jne 0x543dd8
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 1
jmp 0x543ea2
test cl, 0x10
jne 0x543dff
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 0x543ea2
test cl, 8
jne 0x543e32
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 0x543ea2
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
and edx, 0x3f
and eax, 0x3f
test cl, 4
jne 0x543e6e
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 0x543ea2
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 + 0x575008]
shl eax, 7
and ecx, 0x8000007f
jns 0x543ec4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
cmp esi, ebp
movzx ecx, word [eax*2 + 0x577208]
movzx ebx, byte [ecx*8 + 0x57398a]
jae 0x544029
mov edi, edi
cmp dword [esp + 0x20], 0
movzx ecx, byte [esi]
mov edi, 1
je 0x543fd9
cmp ecx, 0xc0
jb 0x543fd9
test cl, 0x20
jne 0x543f1b
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
mov edi, 2
jmp 0x543fd7
test cl, 0x10
jne 0x543f45
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 0x543fd9
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
and edx, 0x3f
test cl, 8
jne 0x543f6b
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
mov edi, 4
jmp 0x543fc9
and eax, 0x3f
test cl, 4
jne 0x543fa4
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 0x543fd9
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 + 0x575008]
shl edx, 7
and ecx, 0x8000007f
jns 0x543ffb
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x577208]
movzx ecx, byte [eax*8 + 0x57398a]
mov edx, 1
shl edx, cl
test dword [ebx*4 + 0x572e54], edx
je 0x544029
add esi, edi
cmp esi, ebp
mov ebx, ecx
jb 0x543ee0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x544058
cmp esi, ebp
jb 0x544058
cmp esi, dword [eax + 0x84]
jbe 0x544058
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x88], ecx
jg 0x5447b7
jmp 0x54405d
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.00537800
test eax, eax
je 0x543d83
jmp 0x5447ca
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x28]
je 0x544539
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.00537800
test eax, eax
jne 0x5447ca
nop
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jge case.0x544660.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54478a
cmp dword [esp + 0x38], 0xc
jne 0x54415a
mov eax, dword [edx + 0x18]
test eax, eax
je 0x544133
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.00546000
test eax, eax
jne case.0x544660.14
mov edx, dword [esp + 0x10]
jmp 0x54415a
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x54415a
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x54415a
cmp dword [edx + 0x1c], 1
je case.0x544660.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x544660.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x544244
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 0x20
jne 0x544185
and eax, 0x1f
shl eax, 6
or eax, ecx
add esi, 1
jmp 0x544244
test al, 0x10
jne 0x5441a5
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 0x544244
test al, 8
jne 0x5441d1
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 0x544244
test al, 4
jne 0x544209
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 0x544244
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.0x539f4f
jmp dword [ecx*4 + 0x544d48]
cmp dword [edx + 0x88], 0
je case.0x544254.13
cmp esi, dword [edx + 0x78]
jb case.0x544254.13
cmp dword [edx + 0x18], 0
jne case.0x544254.13
cmp dword [edx + 0x1c], 2
jne case.0x544254.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x544254.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x5447b7
jmp case.0x544254.13
cmp eax, 0xd
ja 0x5442df
je 0x5442c5
cmp eax, 0xa
je case.0x544254.13
jbe case.0x544660.14
cmp eax, 0xc
jmp 0x5442f6
cmp esi, dword [edx + 0x78]
jae case.0x544254.13
cmp byte [esi], 0xa
jne case.0x544254.13
add esi, 1
jmp case.0x544254.13
cmp eax, 0x85
je 0x5442fc
cmp eax, 0x2027
jbe case.0x544660.14
cmp eax, 0x2029
ja case.0x544660.14
cmp dword [edx + 0x68], 0
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x180e
ja 0x544340
je case.0x544660.14
cmp eax, 0xa0
ja 0x544336
je case.0x544660.14
cmp eax, 9
je case.0x544660.14
cmp eax, 0x20
jmp 0x544503
cmp eax, 0x1680
jmp 0x544503
cmp eax, 0x205f
ja 0x54436d
je case.0x544660.14
cmp eax, 0x2000
jb case.0x544254.13
cmp eax, 0x200a
jbe case.0x544660.14
cmp eax, 0x202f
jmp 0x544503
cmp eax, 0x3000
jmp 0x544503
cmp eax, 0x180e
ja 0x5443b8
je case.0x544254.13
cmp eax, 0xa0
ja 0x5443a8
je case.0x544254.13
cmp eax, 9
je case.0x544254.13
cmp eax, 0x20
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x1680
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x205f
ja 0x5443eb
je case.0x544254.13
cmp eax, 0x2000
jb case.0x544660.14
cmp eax, 0x200a
jbe case.0x544254.13
cmp eax, 0x202f
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x3000
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x85
ja 0x54441f
je case.0x544660.14
cmp eax, 0xa
jb case.0x544254.13
cmp eax, 0xd
jbe case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x2028
jb case.0x544254.13
cmp eax, 0x2029
jbe case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x85
ja 0x54445e
je case.0x544254.13
cmp eax, 0xa
jb case.0x544660.14
cmp eax, 0xd
ja case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x2028
jb case.0x544660.14
cmp eax, 0x2029
ja case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x100
jae case.0x544254.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x100
jae case.0x544660.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jmp 0x544503
cmp eax, 0x100
jae case.0x544254.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x100
jae case.0x544660.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jmp 0x544503
cmp eax, 0x100
jae case.0x544254.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
jne case.0x544660.14
jmp case.0x544254.13
cmp eax, 0x100
jae case.0x544660.14
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
je case.0x544660.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.00537800
test eax, eax
je 0x5440e0
jmp 0x5447ca
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.00537800
test eax, eax
jne 0x5447ca
mov edi, edi
cmp edi, dword [esp + 0x18]
jge case.0x544660.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x54478a
cmp dword [esp + 0x38], 0xc
jne 0x5445e1
mov eax, dword [edx + 0x18]
test eax, eax
je 0x5445ba
push 0
mov ecx, edx
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x78]
push edx
push ecx
push eax
push esi
call fcn.00546000
test eax, eax
jne case.0x544660.14
mov edx, dword [esp + 0x10]
jmp 0x5445e1
mov eax, dword [edx + 0x78]
sub eax, dword [edx + 0x1c]
cmp esi, eax
ja 0x5445e1
mov cl, byte [esi]
cmp cl, byte [edx + 0x34]
jne 0x5445e1
cmp dword [edx + 0x1c], 1
je case.0x544660.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x544660.14
mov ecx, dword [esp + 0x38]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.default.0x539f4f
jmp dword [ecx*4 + 0x544d88]
cmp dword [edx + 0x88], 0
je case.0x5445f7.13
cmp esi, dword [edx + 0x78]
jb case.0x5445f7.13
cmp dword [edx + 0x18], 0
jne case.0x5445f7.13
cmp dword [edx + 0x1c], 2
jne case.0x5445f7.13
movzx ecx, byte [edx + 0x34]
cmp eax, ecx
jne case.0x5445f7.13
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jg 0x5447b7
jmp case.0x5445f7.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x544660.14
movzx eax, byte [eax + 0x544dd8]
jmp dword [eax*4 + 0x544dc8]
cmp esi, dword [edx + 0x78]
jae case.0x5445f7.13
cmp byte [esi], 0xa
jne case.0x5445f7.13
add esi, 1
jmp case.0x5445f7.13
cmp dword [edx + 0x68], 0
jne case.0x544660.14
jmp case.0x5445f7.13
cmp eax, 9
je case.0x544660.14
cmp eax, 0x20
je case.0x544660.14
cmp eax, 0xa0
jmp 0x544752
cmp eax, 9
je case.0x5445f7.13
cmp eax, 0x20
je case.0x5445f7.13
cmp eax, 0xa0
jne case.0x544660.14
jmp case.0x5445f7.13
cmp eax, 0xa
jb case.0x5445f7.13
cmp eax, 0xd
jbe case.0x544660.14
cmp eax, 0x85
jmp 0x544752
cmp eax, 0xa
jb case.0x544660.14
cmp eax, 0xd
jbe case.0x5445f7.13
cmp eax, 0x85
jne case.0x544660.14
jmp case.0x5445f7.13
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 4
jne case.0x544660.14
jmp case.0x5445f7.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 4
jmp 0x544752
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 1
jne case.0x544660.14
jmp case.0x5445f7.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 1
jmp 0x544752
mov ecx, dword [edx + 0x40]
test byte [eax + ecx], 0x10
jne case.0x544660.14
jmp case.0x5445f7.13
mov edx, dword [edx + 0x40]
test byte [eax + edx], 0x10
je case.0x544660.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.00537800
test eax, eax
je 0x544570
jmp 0x5447ca
cmp dword [edx + 0x88], 0
je case.0x544660.14
cmp esi, dword [edx + 0x84]
jbe case.0x544660.14
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x88], eax
jle case.0x544660.14
mov eax, 0xfffffff4
jmp 0x5447ca
mov eax, 0xfffffff2
jmp 0x5447ca
mov eax, 0xfffffffb
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
pop esi
xor ecx, esp
call fcn.0054899c
add esp, 0x150
ret 0x1c