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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
push ebx
push esi
push edi
mov edi, dword [ebp + 0x18]
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x18], eax
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x44b013
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44b01c
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x447ed7
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x40], esi
mov dword [ebp + 0x20], eax
mov ebx, dword [ebp + 0xc]
movzx ecx, byte [ebx]
xor edx, edx
cmp dword [edi + 0x44], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 8], ecx
je 0x447efe
cmp esi, dword [edi + 0x54]
jb 0x447efe
cmp esi, dword [ebp + 0x10]
jbe 0x447efe
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x447f0e.14
movzx eax, byte [ecx + 0x44c213]
jmp dword [eax*4 + 0x44c0ff]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x447f49
mov eax, dword [edi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x447f3b
cmp ecx, 0xffff
je 0x447f65
cmp ecx, dword [eax + 4]
je 0x447f65
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x447fc1
cmp cl, 0x63
jne 0x447f6d
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x447f3b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x447f3b
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x447f45
cmp cl, 0x65
jne 0x447f7e
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x447fc9
mov ecx, dword [ebp + 0x28]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
cmp eax, 1
je 0x44ae6d
test eax, eax
je 0x447fb3
cmp eax, 0xfffffc1c
jne 0x44c0f9
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
mov al, byte [ebx + 2]
add ebx, eax
xor edx, edx
cmp ecx, edx
jne 0x44ae98
cmp byte [ebx], 0x53
je 0x44ae98
jmp 0x4480fe
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x44b228
cmp dword [ebx + 4], 0
jne 0x44b228
mov eax, dword [ebx]
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
push eax
push dword [ebx + 0x10]
push dword [edi + 0xc]
call fcn.00450c60
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebx + 8]
add esp, 0xc
mov dword [ebp + 0xc], eax
jmp 0x447ed7
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x448101
mov eax, dword [ebp + 0x28]
mov ebx, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
lea eax, [ebx + 3]
push 0
push 0
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
cmp eax, 1
je 0x448076
test eax, eax
je 0x448067
cmp eax, 0xfffffc1c
jne 0x44c0f9
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448035
cmp byte [ebx], 0x54
je case.0x447f0e.108
test byte [ebp + 0x24], 1
jne 0x44b246
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448089
mov eax, dword [edi + 0x60]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x447ed7
mov eax, dword [ebp + 0x28]
mov ebx, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
lea eax, [ebx + 3]
push 0
push 0
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
cmp eax, 1
je case.0x447f0e.108
test eax, eax
je 0x4480e5
cmp eax, 0xfffffc1c
jne 0x44c0f9
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4480b3
test byte [ebp + 0x24], 1
jne 0x44b246
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x447ed7
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x44813b
cmp eax, edx
jle 0x4480fe
mov ecx, dword [edi + 0x50]
dec eax
dec esi
cmp esi, ecx
jae 0x44812b
xor eax, eax
jmp 0x44c0f9
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x44812a
test eax, eax
jg 0x44811d
jmp 0x4480fe
sub esi, eax
cmp esi, dword [edi + 0x50]
jb case.0x447f0e.108
jmp 0x4480fe
mov ecx, dword [0x476a60]
cmp ecx, edx
je 0x4481c1
movzx eax, byte [ebx + 1]
mov edx, dword [edi + 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 0x50]
sub edx, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov edx, dword [ebp + 0x10]
sub edx, eax
mov dword [ebp - 0x60], edx
mov edx, esi
sub edx, eax
xor eax, eax
mov ah, byte [ebx + 2]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x74], 1
mov al, byte [ebx + 3]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x74]
push eax
call ecx
test eax, eax
pop ecx
jg case.0x447f0e.108
jl 0x44c0f9
add ebx, 6
jmp 0x448101
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
lea eax, [ebx + 3]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
cmp eax, 1
je 0x44821b
test eax, eax
je 0x44820c
cmp eax, 0xfffffc1c
jne 0x44c0f9
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4481d9
mov al, byte [ebx]
cmp al, 0x5c
je 0x448229
cmp al, 0x53
jne case.0x447f0e.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448229
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x60]
mov esi, dword [edi + 0x5c]
mov dword [ebp + 0x14], eax
je 0x4480fe
cmp esi, dword [ebp - 0x1c]
je 0x4480fe
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x44826d
mov edx, dword [ebp + 0x1c]
movzx ecx, byte [ebx + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x28]
inc ecx
cmp byte [ebx], 0x56
push ecx
jne 0x44af56
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x20]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44affe
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x447f0e.83
jmp 0x448101
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x28]
inc ebx
inc eax
push eax
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4482e5
jmp 0x4480fe
inc ebx
mov eax, ebx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x4482fc
mov ecx, dword [ebp + 0x28]
inc ecx
push ecx
push 0
push dword [ebp + 0x20]
add eax, 3
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
jmp 0x448101
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
sub ebx, eax
mov al, byte [ebx]
cmp al, 0x60
mov dword [ebp + 0x18], ebx
jb 0x448357
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [ebp + 0x20], ecx
cmp al, 0x57
mov dword [ebp - 0x1c], edx
je 0x44b3b1
cmp al, 0x58
je 0x44b3b1
cmp al, 0x59
je 0x44b3b1
cmp al, 0x5a
je 0x44b3b1
cmp al, 0x5c
je 0x44b3b1
cmp al, 0x5e
je 0x448391
cmp al, 0x61
jne 0x448415
mov ebx, dword [ebp + 0x18]
xor edx, edx
mov dh, byte [ebx + 3]
mov dl, byte [ebx + 4]
lea ecx, [edx + edx]
cmp ecx, dword [edi + 0x14]
mov dword [ebp - 0xc], edx
mov dword [edi + 0x64], edx
jl 0x4483b0
mov dword [edi + 0x2c], 1
jmp 0x4483d8
mov ebx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
sub ebx, edx
mov edx, dword [eax + ebx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [edi + 0xc]
mov eax, esi
sub eax, dword [edi + 0x50]
cmp dword [ebp + 0x14], ecx
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp - 0xc]
jg 0x4483d8
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x448415
cmp dword [ebx + 4], edx
jne 0x448415
mov eax, dword [ebx]
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
push eax
push dword [ebx + 0x10]
push dword [edi + 0xc]
call fcn.0044f750
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x447ed7
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x44842c
cmp esi, dword [ebp - 0x1c]
jne 0x44af7f
add eax, 3
jmp 0x448015
cmp dword [edi + 0x30], edx
je 0x448442
cmp esi, dword [edi + 0x50]
je case.0x447f0e.108
test byte [ebp + 0x1c], 2
je case.0x447f0e.1
mov ecx, dword [edi + 0x50]
cmp esi, ecx
je 0x4484b0
cmp esi, dword [edi + 0x54]
je case.0x447f0e.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x448483
cmp esi, ecx
jbe case.0x447f0e.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044cca4
add esp, 0x14
test eax, eax
je case.0x447f0e.108
jmp 0x4484b0
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x447f0e.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x447f0e.108
cmp eax, 1
je 0x4484b0
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x447f0e.108
inc ebx
jmp 0x448101
cmp esi, dword [edi + 0x50]
jmp 0x4484aa
mov eax, dword [edi + 0x68]
add eax, dword [edi + 0x50]
cmp esi, eax
jmp 0x4484aa
mov dword [ebp + 0x10], esi
jmp 0x4484b0
test byte [ebp + 0x1c], 2
je 0x448516
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x448511
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4484ef
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
jmp 0x448476
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x447f0e.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x447f0e.108
cmp ecx, 1
je 0x4484b0
mov al, byte [esi + 1]
jmp 0x4484a7
cmp dword [edi + 0x34], edx
jmp 0x4484aa
cmp dword [edi + 0x34], edx
jne case.0x447f0e.108
cmp dword [edi + 0x3c], edx
jne case.0x447f0e.23
mov eax, dword [edi + 0x54]
cmp esi, eax
je 0x44858e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448556
cmp esi, eax
jae case.0x447f0e.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
je case.0x447f0e.108
jmp 0x448581
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x447f0e.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x447f0e.108
cmp ecx, 1
je 0x448581
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x447f0e.108
mov eax, dword [edi + 0x54]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x447f0e.108
inc dword [ebp + 0xc]
jmp 0x447ed7
cmp esi, dword [edi + 0x54]
jb case.0x447f0e.108
jmp 0x4484b0
cmp dword [ebp - 0x18], edx
je 0x4486b9
cmp esi, dword [edi + 0x50]
jne 0x4485ba
mov dword [ebp + 0x18], edx
jmp 0x448643
lea eax, [esi - 1]
jmp 0x4485c0
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x4485bf
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x448625
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x466860]
mov ecx, ebx
imul ecx, ecx, 6
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebx*4 + 0x466844]
and ebx, edx
shl ebx, cl
mov edx, ebx
xor ebx, ebx
inc ebx
cmp dword [ebp - 0xc], ebx
mov dword [ebp - 8], edx
mov dword [ebp + 0x18], ebx
jl 0x448622
movzx edx, byte [ebx + eax]
mov ebx, dword [ebp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or dword [ebp - 8], edx
inc ebx
cmp ebx, dword [ebp - 0xc]
mov dword [ebp + 0x18], ebx
jle 0x448604
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x44863f
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44863f
mov dword [ebp + 0x18], 1
jmp 0x448643
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x54]
jb 0x44864c
xor eax, eax
jmp 0x4486b5
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44869a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44869a
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x448681
cmp edx, 0x100
jae 0x4486b0
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x4486b0
xor eax, eax
inc eax
jmp 0x4486b2
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x4486ed
cmp esi, dword [edi + 0x50]
je 0x4486d2
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x4486d5
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x54]
jae 0x4486eb
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x4486eb
xor eax, eax
inc eax
jmp 0x4486ed
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x448702
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x44870a
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x447ed7
jmp case.0x447f0e.108
test byte [ebp + 0x1c], 4
jne 0x448771
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448749
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x448771
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne case.0x447f0e.108
jmp 0x448771
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x54]
sub ecx, eax
cmp esi, ecx
ja 0x448771
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x448771
cmp eax, 1
je case.0x447f0e.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447f0e.108
mov eax, dword [edi + 0x54]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x447f0e.108
cmp dword [ebp - 0x18], 0
je 0x4484b0
cmp esi, eax
jae 0x4484b0
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4484b0
inc esi
cmp esi, dword [edi + 0x54]
jb 0x448791
jmp 0x4484b0
mov eax, esi
inc esi
cmp eax, dword [edi + 0x54]
jae case.0x447f0e.108
jmp 0x4484b0
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44880d
cmp edx, 0xc0
jb 0x44880d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448806
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x4487f4
cmp edx, 0x100
jae 0x44858e
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x448588
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448879
cmp edx, 0xc0
jb 0x448879
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448872
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x448860
cmp edx, 0x100
jae case.0x447f0e.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x447f0e.108
jmp 0x44858e
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4488eb
cmp edx, 0xc0
jb 0x4488eb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4488e4
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x4488d2
cmp edx, 0x100
jae 0x44858e
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x448588
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448957
cmp edx, 0xc0
jb 0x448957
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448950
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x44893e
cmp edx, 0x100
jae case.0x447f0e.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x44888c
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4489c3
cmp edx, 0xc0
jb 0x4489c3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4489bc
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x4489aa
cmp edx, 0x100
jae 0x44858e
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x448588
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448a2f
cmp edx, 0xc0
jb 0x448a2f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448a28
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x448a16
cmp edx, 0x100
jae case.0x447f0e.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x44888c
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448a9b
cmp edx, 0xc0
jb 0x448a9b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448a94
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x448a82
cmp edx, 0xa
jb case.0x447f0e.108
cmp edx, 0xc
jbe 0x44858e
cmp edx, 0xd
je 0x448adb
cmp edx, 0x85
je 0x44858e
cmp edx, 0x2027
jbe case.0x447f0e.108
cmp edx, 0x2029
ja case.0x447f0e.108
jmp 0x44858e
cmp esi, dword [edi + 0x54]
jae 0x44858e
cmp byte [esi], 0xa
jne 0x44858e
inc esi
jmp 0x44858e
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x448b49
cmp eax, 0xc0
jb 0x448b49
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x448b49
jmp 0x448b33
mov ecx, dword [ebp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp + 0x18], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x448b30
mov ecx, 0x180e
cmp eax, ecx
ja 0x448b7f
je case.0x447f0e.108
cmp eax, 9
je case.0x447f0e.108
cmp eax, 0x20
je case.0x447f0e.108
cmp eax, 0xa0
je case.0x447f0e.108
cmp eax, 0x1680
jmp 0x44888c
cmp eax, 0x2000
jb 0x44858e
cmp eax, 0x200a
jbe case.0x447f0e.108
cmp eax, 0x202f
je case.0x447f0e.108
cmp eax, 0x205f
je case.0x447f0e.108
cmp eax, 0x3000
jmp 0x44888c
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x448c0b
cmp eax, 0xc0
jb 0x448c0b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x448c0b
jmp 0x448bf5
mov ecx, dword [ebp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp + 0x18], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x448bf2
mov ecx, 0x180e
cmp eax, ecx
ja 0x448c41
je 0x44858e
cmp eax, 9
je 0x44858e
cmp eax, 0x20
je 0x44858e
cmp eax, 0xa0
je 0x44858e
cmp eax, 0x1680
jmp 0x448588
cmp eax, 0x2000
jb case.0x447f0e.108
cmp eax, 0x200a
jbe 0x44858e
cmp eax, 0x202f
je 0x44858e
cmp eax, 0x205f
je 0x44858e
cmp eax, 0x3000
jmp 0x448588
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448ccb
cmp edx, 0xc0
jb 0x448ccb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448cc4
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x448cb2
cmp edx, 0xa
jb 0x44858e
cmp edx, 0xd
jbe case.0x447f0e.108
cmp edx, 0x85
je case.0x447f0e.108
cmp edx, 0x2027
jbe 0x44858e
cmp edx, 0x2029
jbe case.0x447f0e.108
jmp 0x44858e
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448d5a
cmp edx, 0xc0
jb 0x448d5a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448d53
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x448d41
cmp edx, 0xa
jb case.0x447f0e.108
cmp edx, 0xd
jbe 0x44858e
jmp 0x448ab2
xor edx, edx
mov dh, byte [ebx + 1]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dl, byte [ebx - 1]
add edx, edx
cmp edx, dword [ebp + 0x14]
mov dword [ebp - 0xc], edx
jge 0x448d9c
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x448d9c
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x448da2
mov ebx, dword [edi + 0x54]
sub ebx, esi
inc ebx
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, 0x45
mov dword [ebp - 0x10], ebx
jb 0x448e77
cmp al, 0x4a
jbe 0x448df1
cmp al, 0x4c
ja 0x448e77
xor ecx, ecx
cmp al, 0x4c
mov eax, dword [ebp + 0xc]
sete cl
xor ebx, ebx
mov bh, byte [eax + 1]
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov ch, byte [eax + 3]
mov bl, byte [eax + 2]
mov cl, byte [eax + 4]
test ecx, ecx
mov dword [ebp - 4], ecx
jne 0x448de9
mov dword [ebp - 4], 0x7fffffff
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x448e1e
movzx eax, al
movsx ebx, byte [eax + 0x46642b]
sub eax, 0x45
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x466478]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x448e1e
mov dword [ebp - 4], 0x7fffffff
cmp dword [ebp - 0x10], 0
je 0x447ed7
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x448e58
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447e2d
test eax, eax
pop ecx
pop ecx
je case.0x447f0e.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x448e32
cmp ebx, dword [ebp - 4]
je 0x447ed7
cmp dword [ebp - 0x24], 0
je 0x44b40e
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b3e9
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.00447e2d
test eax, eax
pop ecx
pop ecx
je case.0x447f0e.108
add esi, ebx
jmp 0x447ed7
lea eax, [ebx + 1]
add ebx, 0x21
mov dword [ebp - 0x1c], eax
mov al, byte [ebx]
cmp al, 0x45
mov dword [ebp + 0xc], ebx
jb 0x448f15
cmp al, 0x4a
jbe 0x448ee2
cmp al, 0x4c
ja 0x448f15
xor ecx, ecx
cmp al, 0x4c
sete cl
xor eax, eax
mov ah, byte [ebx + 3]
xor edx, edx
mov dh, byte [ebx + 1]
mov dword [ebp - 0x24], ecx
mov al, byte [ebx + 4]
mov dl, byte [ebx + 2]
test eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], edx
jne 0x448eda
mov dword [ebp - 4], 0x7fffffff
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x448f1e
movzx eax, al
movsx edx, byte [eax + 0x46642b]
sub eax, 0x45
mov ecx, eax
movsx eax, byte [eax + 0x466478]
inc ebx
and ecx, 1
test eax, eax
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x448f1e
mov dword [ebp - 4], 0x7fffffff
jmp 0x448f1e
xor edx, edx
inc edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], edx
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0x18], eax
je 0x448fc3
cmp edx, eax
jl 0x448ffa
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x448f8a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x448f87
jmp 0x448f71
mov ecx, dword [ebp - 0xc]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp - 0xc], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x448f6e
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x448f97
cmp dword [ebp - 8], 0x4d
jmp 0x448fac
mov ecx, eax
xor ebx, ebx
and ecx, 7
inc ebx
shl ebx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x448f36
mov ebx, dword [ebp + 0xc]
jmp 0x448ffa
cmp edx, eax
jl 0x448ffa
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x447f0e.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x448fc7
cmp edx, dword [ebp - 4]
je 0x447ed7
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44b589
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44b527
mov eax, dword [ebp + 0x28]
inc eax
push eax
push 0
push dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
jmp 0x44b511
lea eax, [ebx + 3]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
mov al, byte [ebx]
cmp al, 0x45
mov dword [ebp + 0xc], ebx
jb 0x4490be
cmp al, 0x4a
jbe 0x44908b
cmp al, 0x4c
ja 0x4490be
xor ecx, ecx
cmp al, 0x4c
sete cl
xor eax, eax
mov ah, byte [ebx + 1]
mov dword [ebp - 0x24], ecx
mov al, byte [ebx + 2]
mov dword [ebp - 0x14], eax
xor eax, eax
mov ah, byte [ebx + 3]
mov al, byte [ebx + 4]
cmp eax, edx
mov dword [ebp - 4], eax
jne 0x449083
mov dword [ebp - 4], 0x7fffffff
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x4490c7
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x24], ecx
movsx ecx, byte [eax + 0x466470]
movsx eax, byte [eax + 0x466478]
inc ebx
cmp eax, edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
jne 0x4490c7
mov dword [ebp - 4], 0x7fffffff
jmp 0x4490c7
xor eax, eax
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
mov dword [ebp + 0x18], eax
jl 0x449142
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44911d
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov edx, dword [eax*4 + 0x466844]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x449119
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 8], edx
inc esi
test eax, eax
jg 0x449109
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044cfb9
test eax, eax
pop ecx
pop ecx
je case.0x447f0e.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x4490d2
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x447ed7
cmp dword [ebp - 0x24], edx
je 0x44b788
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
inc eax
push eax
push 0
push dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
jmp 0x44b772
cmp dword [ebp - 0x18], edx
je 0x4491c2
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x449198
and eax, 0x3f
movzx ecx, byte [eax + 0x466860]
inc ecx
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ecx, eax
jg case.0x447f0e.108
jmp 0x4491b9
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x447f0e.108
test ecx, ecx
jg 0x4491a7
jmp 0x447ed7
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x447f0e.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x447f0e.108
jmp 0x448024
cmp dword [ebp - 0x18], edx
je 0x4492d6
xor eax, eax
inc eax
inc ebx
movzx ecx, byte [ebx]
mov edx, ecx
cmp edx, 0xc0
mov dword [ebp - 0x10], eax
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
jb 0x449257
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
xor edx, edx
inc edx
cmp eax, edx
mov dword [ebp - 8], ebx
mov dword [ebp + 0x18], edx
jl 0x44924d
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
movzx edx, byte [ebx + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or dword [ebp - 8], edx
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], eax
jle 0x449230
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x10], eax
mov edx, dword [edi + 0x54]
sub edx, esi
cmp eax, edx
jg case.0x447f0e.108
cmp dword [ebp - 8], 0x80
jae 0x449283
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
mov dl, byte [edx + eax]
inc esi
inc ebx
cmp byte [eax + ecx], dl
mov dword [ebp + 0xc], ebx
jmp 0x44870e
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x4492c5
and eax, 0x3f
movzx edx, byte [eax + 0x466860]
mov eax, dword [edx*4 + 0x466844]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x4492c1
movzx eax, byte [esi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
dec edx
or dword [ebp + 0x18], eax
inc esi
test edx, edx
jg 0x4492b1
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x44870e
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x447f0e.108
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx ecx, byte [ebx + 1]
mov dl, byte [edx + eax]
inc esi
cmp byte [ecx + eax], dl
jmp 0x4491d6
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov bh, byte [eax + 1]
mov bl, byte [eax + 2]
mov dword [ebp - 4], ebx
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x44938a
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov ch, byte [eax + 1]
xor ebx, ebx
mov cl, byte [eax + 2]
mov dword [ebp - 4], ecx
xor ecx, ecx
cmp byte [eax], 0x25
sete cl
mov dword [ebp - 0x24], ecx
jmp 0x449308
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x449383
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44933d
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44938a
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx ebx, byte [eax + 0x466452]
sub eax, 0x1e
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x466478]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44938a
mov dword [ebp - 4], 0x7fffffff
cmp dword [ebp - 0x18], 0
je 0x4494a6
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
movzx eax, byte [eax]
cmp eax, 0xc0
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], eax
jb 0x449408
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x466844]
and edx, eax
shl edx, cl
mov dword [ebp + 0x18], 1
mov eax, edx
mov edx, dword [ebp - 0x10]
cmp edx, 1
mov dword [ebp - 8], eax
jl 0x449404
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [ebp - 0x10]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or dword [ebp - 8], eax
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x4493e1
mov eax, dword [ebp - 8]
inc edx
mov dword [ebp - 0x10], edx
mov edx, dword [edi + 0x54]
mov ecx, ebx
imul ecx, dword [ebp - 0x10]
sub edx, esi
cmp ecx, edx
jg case.0x447f0e.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x4494c2
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x449455
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044dd9a
add esp, 0xc
test eax, eax
jne case.0x447f0e.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x449433
cmp ebx, dword [ebp - 4]
je 0x447ed7
cmp dword [ebp - 0x24], 0
jne 0x44b84d
mov dword [ebp - 0x14], esi
jmp 0x44948e
mov eax, dword [edi + 0x54]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x449493
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044dd9a
add esp, 0xc
test eax, eax
jne 0x449493
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44946d
cmp dword [ebp - 0x1c], 0
jne 0x447ed7
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b8b9
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ebx, eax
jg case.0x447f0e.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
inc dword [ebp + 0xc]
xor edx, edx
mov dword [ebp - 8], eax
inc edx
test byte [ebp + 0x1c], 1
je 0x449568
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x4494f2
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x447f0e.108
inc eax
cmp eax, ebx
jle 0x4494dc
cmp ebx, dword [ebp - 4]
je 0x447ed7
cmp dword [ebp - 0x24], 0
jne 0x44b8de
mov dword [ebp - 0x14], esi
jmp 0x44951d
cmp esi, dword [edi + 0x54]
jae 0x449522
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x449522
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44950a
cmp dword [ebp - 0x1c], 0
jne 0x447ed7
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
dec esi
test eax, eax
jne 0x44c0f9
cmp esi, dword [ebp - 0x14]
jae 0x449539
jmp case.0x447f0e.108
cmp ebx, edx
mov ecx, edx
jl 0x44957f
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x447f0e.108
inc ecx
cmp ecx, ebx
jle 0x44956e
cmp ebx, dword [ebp - 4]
je 0x447ed7
cmp dword [ebp - 0x24], 0
jne 0x44b938
mov dword [ebp - 0x14], esi
jmp 0x4495a6
cmp esi, dword [edi + 0x54]
jae 0x4495ab
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x4495ab
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449597
cmp dword [ebp - 0x1c], 0
jne 0x447ed7
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
dec esi
test eax, eax
jne 0x44c0f9
cmp esi, dword [ebp - 0x14]
jae 0x4495c2
jmp case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x449649
cmp edx, 0xc0
jb 0x449649
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449642
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x449630
test byte [ebp + 0x1c], 1
je 0x44967b
cmp edx, 0x100
jae 0x44965e
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
inc dword [ebp + 0xc]
cmp eax, edx
jne 0x447ed7
jmp case.0x447f0e.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x44966b
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x449710
xor eax, eax
mov ah, byte [ebx + 1]
xor edx, edx
mov al, byte [ebx + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [ebx], 0x32
sete al
mov dword [ebp - 0x24], eax
jmp 0x44968e
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x449709
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x4496b6
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x449710
xor edx, edx
xor eax, eax
mov ah, byte [ebx + 1]
mov dword [ebp - 0x1c], 1
mov al, byte [ebx + 2]
mov dword [ebp - 4], eax
jmp 0x44968e
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x466445]
sub eax, 0x2b
mov ecx, eax
movsx eax, byte [eax + 0x466478]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x449710
mov dword [ebp - 4], 0x7fffffff
mov eax, dword [edi + 0x54]
sub eax, esi
cmp edx, eax
jg case.0x447f0e.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x449908
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x4497cb
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x4497ee
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x4497a6
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x466844]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44979f
movzx ecx, byte [esi]
sub dword [ebp - 0xc], 6
and ecx, 0x3f
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
dec eax
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
or ebx, ecx
inc esi
test eax, eax
mov dword [ebp - 0x10], ebx
jg 0x449785
cmp ebx, 0x100
jae 0x4497b5
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449753
mov ebx, dword [ebp + 0xc]
jmp 0x4497ee
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x4497ee
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x4497d5
cmp edx, dword [ebp - 4]
je 0x447ed7
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44b98b
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x4498be
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x449891
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x449891
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x449870
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44986c
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x449853
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44987f
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x449891
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x449816
cmp dword [ebp - 0x1c], 0
jne 0x447ed7
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44bac5
cmp esi, dword [edi + 0x54]
jae 0x4498c3
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x4498c3
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x4498a8
cmp dword [ebp - 0x1c], ecx
jne 0x447ed7
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x4498d9
jmp case.0x447f0e.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x449981
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x449997
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44996b
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x466844]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x449964
movzx ecx, byte [esi]
sub dword [ebp - 0xc], 6
and ecx, 0x3f
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
dec eax
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
or ebx, ecx
inc esi
test eax, eax
mov dword [ebp - 0x10], ebx
jg 0x44994a
cmp dword [ebp - 8], ebx
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449918
mov ebx, dword [ebp + 0xc]
jmp 0x449997
cmp edx, eax
jl 0x449997
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x447f0e.108
inc eax
cmp eax, edx
jle 0x449985
cmp edx, dword [ebp - 4]
je 0x447ed7
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44bae7
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x449a57
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x449a31
jmp 0x4499c3
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x449a31
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x449a1d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x449a19
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x449a00
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x449a2f
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x4499c1
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x447ed7
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44bc0b
cmp esi, dword [edi + 0x54]
jae 0x449a5c
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x449a5c
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x449a48
cmp dword [ebp - 0x1c], ecx
jne 0x447ed7
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x449a72
jmp case.0x447f0e.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], eax
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
add ebx, 3
jmp 0x449b5a
and dword [ebp - 0x14], 0
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [ebx], 0x3f
sete al
mov dword [ebp - 0x24], eax
add ebx, 3
mov edx, dword [ebp - 0x14]
jmp 0x449b57
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0x7fffffff
inc ebx
jmp 0x449add
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x449aed
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x449af4
and dword [ebp - 0x14], 0
xor eax, eax
mov ah, byte [ebx + 1]
mov dword [ebp - 0x1c], 1
mov al, byte [ebx + 2]
mov dword [ebp - 4], eax
jmp 0x449ada
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x466438]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x466478]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x449b57
mov dword [ebp - 4], 0x7fffffff
xor eax, eax
inc eax
movzx ecx, byte [ebx]
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 0x54]
mov dword [ebp - 0x10], ecx
inc ebx
sub ecx, esi
cmp edx, ecx
mov dword [ebp + 0xc], ebx
jg case.0x447f0e.108
test edx, edx
jle 0x44a41f
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x44a172
cmp ecx, 0xe
ja case.0x44bfca.14
jmp dword [ecx*4 + 0x44c283]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x447f0e.108
test byte [ebp + 0x1c], 4
jne 0x449c00
mov edx, dword [edi + 0x18]
test edx, edx
je 0x449bdc
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne case.0x447f0e.108
inc eax
jmp 0x449c00
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x449c00
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x449c00
cmp edx, eax
je case.0x447f0e.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x447f0e.108
mov ecx, dword [edi + 0x54]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x449c1b
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x449c1b
inc esi
cmp esi, dword [edi + 0x54]
jb 0x449c0b
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x449ba7
mov edx, dword [ebp - 0x14]
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449c87
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449c80
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x449c6e
cmp edx, 0xa
jb case.0x447f0e.108
cmp edx, 0xc
jbe 0x449cc7
cmp edx, 0xd
je 0x449cbc
cmp edx, 0x85
je 0x449cc7
cmp edx, 0x2027
jbe case.0x447f0e.108
cmp edx, 0x2029
ja case.0x447f0e.108
jmp 0x449cc7
cmp esi, dword [ebp - 0x10]
jae 0x449cc7
cmp byte [esi], 0xa
jne 0x449cc7
inc esi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449c39
mov ebx, dword [ebp + 0xc]
jmp 0x449c26
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449d3a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x449d3a
jmp 0x449d24
mov ecx, dword [ebp - 8]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp - 8], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x449d21
mov ecx, 0x180e
cmp eax, ecx
ja 0x449d6d
je case.0x447f0e.108
cmp eax, 9
je case.0x447f0e.108
cmp eax, 0x20
je case.0x447f0e.108
cmp eax, 0xa0
je case.0x447f0e.108
cmp eax, 0x1680
jmp 0x449d9a
cmp eax, 0x2000
jb 0x449da0
cmp eax, 0x200a
jbe case.0x447f0e.108
cmp eax, 0x202f
je case.0x447f0e.108
cmp eax, 0x205f
je case.0x447f0e.108
cmp eax, 0x3000
je case.0x447f0e.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449ce9
jmp 0x449cd6
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449e10
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x449e10
jmp 0x449dfa
mov ecx, dword [ebp - 8]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp - 8], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x449df7
mov ecx, 0x180e
cmp eax, ecx
ja 0x449e33
je 0x449e5e
cmp eax, 9
je 0x449e5e
cmp eax, 0x20
je 0x449e5e
cmp eax, 0xa0
je 0x449e5e
cmp eax, 0x1680
jmp 0x449e58
cmp eax, 0x2000
jb case.0x447f0e.108
cmp eax, 0x200a
jbe 0x449e5e
cmp eax, 0x202f
je 0x449e5e
cmp eax, 0x205f
je 0x449e5e
cmp eax, 0x3000
jne case.0x447f0e.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449dbf
jmp 0x449cd6
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449ecb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449ec4
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x449eb2
cmp edx, 0xa
jb 0x449ef9
cmp edx, 0xd
jbe case.0x447f0e.108
cmp edx, 0x85
je case.0x447f0e.108
cmp edx, 0x2027
jbe 0x449ef9
cmp edx, 0x2029
jbe case.0x447f0e.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449e7d
jmp 0x449cd6
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449f66
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449f5f
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x449f4d
cmp edx, 0xa
jb case.0x447f0e.108
cmp edx, 0xd
jbe 0x449f94
cmp edx, 0x85
je 0x449f94
cmp edx, 0x2027
jbe case.0x447f0e.108
cmp edx, 0x2029
ja case.0x447f0e.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449f18
jmp 0x449cd6
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44a001
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449ffa
movzx ebx, byte [esi]
mov edx, dword [ebp - 8]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 8], edx
jg 0x449fe8
cmp edx, 0x80
jae 0x44a016
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x447f0e.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449fb3
jmp 0x449cd6
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447f0e.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a031
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44a091
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x447f0e.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44a09f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44a091
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a071
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447f0e.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a0b7
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44a117
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x447f0e.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44a125
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44a117
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a0f7
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447f0e.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a13d
jmp 0x44a41f
cmp ecx, 0xe
ja case.0x44bfca.14
jmp dword [ecx*4 + 0x44c2bf]
test byte [ebp + 0x1c], 4
jne case.0x44a17b.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44a1bd
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44a1e4
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne case.0x447f0e.108
inc eax
jmp 0x44a1e4
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x44a1e4
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x44a1e4
cmp ecx, eax
je case.0x447f0e.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x447f0e.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44a193
jmp 0x449c26
add esi, edx
jmp 0x44a41f
cmp edx, eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x447f0e.108
cmp ecx, 0xc
jle 0x44a23d
cmp ecx, 0xd
je 0x44a232
cmp ecx, 0x85
jne case.0x447f0e.108
jmp 0x44a23d
cmp esi, dword [ebp - 0x10]
jae 0x44a23d
cmp byte [esi], 0xa
jne 0x44a23d
inc esi
inc eax
cmp eax, edx
jle 0x44a204
jmp 0x44a41f
cmp edx, eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x447f0e.108
cmp ecx, 0x20
je case.0x447f0e.108
cmp ecx, 0xa0
je case.0x447f0e.108
inc eax
cmp eax, edx
jle 0x44a24f
jmp 0x44a41f
cmp edx, eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x44a2af
cmp ecx, 0x20
je 0x44a2af
cmp ecx, 0xa0
jne case.0x447f0e.108
inc eax
cmp eax, edx
jle 0x44a28c
jmp 0x44a41f
cmp edx, eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x44a2e8
cmp ecx, 0xd
jle case.0x447f0e.108
cmp ecx, 0x85
je case.0x447f0e.108
inc eax
cmp eax, edx
jle 0x44a2c1
jmp 0x44a41f
cmp edx, eax
jl 0x44a41f
cmp esi, dword [ebp - 0x10]
jae case.0x447f0e.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x447f0e.108
cmp ecx, 0xd
jle 0x44a321
cmp ecx, 0x85
jne case.0x447f0e.108
inc eax
cmp eax, edx
jle 0x44a2fa
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a339
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a366
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a393
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a3b9
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a3df
jmp 0x44a41f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a41f
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x447f0e.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a405
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x447ed7
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44bc32
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44ab60
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44bfca.14
jmp dword [eax*4 + 0x44c2fb]
cmp ecx, 0x7fffffff
jge 0x44a514
test byte [ebp + 0x1c], 4
jne 0x44a4e1
cmp edx, ecx
mov ebx, edx
jge 0x44ab4d
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ab4d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a4a1
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne 0x44ab4d
jmp 0x44a4d0
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a4d0
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a4d0
cmp ecx, 1
je 0x44ab4d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44ab4d
jmp 0x44a4d0
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a4d6
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a4c8
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a473
jmp 0x44ab4d
cmp edx, ecx
jge 0x44ab4d
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ab4d
inc esi
cmp esi, eax
jae 0x44a509
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44a509
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a4f9
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a4ec
jmp 0x44ab4d
test byte [ebp + 0x1c], 4
jne 0x44a592
cmp edx, ecx
mov ebx, edx
jge 0x44ab4d
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ab4d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a552
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne 0x44ab4d
jmp 0x44a581
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a581
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a581
cmp ecx, 1
je 0x44ab4d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44ab4d
jmp 0x44a581
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a587
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a579
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a524
jmp 0x44ab4d
mov esi, dword [edi + 0x54]
jmp 0x44ab4d
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44a5a7
mov ecx, eax
add esi, ecx
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a614
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44a613
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44a5fa
inc eax
cmp edx, 0xd
jne 0x44a62b
inc esi
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
cmp byte [esi], 0xa
jne 0x44a658
inc esi
jmp 0x44a658
cmp edx, 0xa
je 0x44a656
cmp edx, 0xb
je 0x44a656
cmp edx, 0xc
je 0x44a656
cmp edx, 0x85
je 0x44a656
cmp edx, 0x2028
je 0x44a656
cmp edx, 0x2029
jne 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a5b9
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a6d2
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0x24], 1
mov edx, ebx
jl 0x44a6d1
mov ebx, dword [ebp - 0x24]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x44a6b8
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44a720
je 0x44a748
cmp edx, 9
je 0x44a748
cmp edx, 0x20
je 0x44a748
cmp edx, 0xa0
je 0x44a748
cmp edx, 0x1680
je 0x44a748
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a677
jmp 0x44ab4d
cmp edx, 0x2000
jb 0x44a6f7
cmp edx, 0x200a
jbe 0x44a748
cmp edx, 0x202f
je 0x44a748
cmp edx, 0x205f
je 0x44a748
cmp edx, 0x3000
jne 0x44a6f7
xor ecx, ecx
inc ecx
jmp 0x44a6f9
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a7b3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0x24], 1
mov edx, ebx
jl 0x44a7b2
mov ebx, dword [ebp - 0x24]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x44a799
inc eax
cmp edx, 0xa
jb 0x44a7da
cmp edx, 0xd
jbe 0x44a7d5
cmp edx, 0x85
je 0x44a7d5
cmp edx, 0x2027
jbe 0x44a7da
cmp edx, 0x2029
ja 0x44a7da
xor ecx, ecx
inc ecx
jmp 0x44a7dc
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a758
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a869
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44a868
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44a84f
inc eax
cmp edx, 0x100
jae 0x44a87e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a80e
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a8f6
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44a8f5
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44a8dc
inc eax
cmp edx, 0x100
jae 0x44ab4d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a89b
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a98b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44a98a
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44a971
inc eax
cmp edx, 0x100
jae 0x44a9a0
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a930
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44aa18
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44aa17
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44a9fe
inc eax
cmp edx, 0x100
jae 0x44ab4d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a9bd
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44aaad
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44aaac
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44aa93
inc eax
cmp edx, 0x100
jae 0x44aac2
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44aa52
jmp 0x44ab4d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44ab4d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44ab4d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ab2f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0xc], 1
mov edx, ebx
jl 0x44ab2e
mov ebx, dword [ebp - 0xc]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x44ab15
inc eax
cmp edx, 0x100
jae 0x44ab4d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44ab4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44aad8
cmp dword [ebp - 0x1c], 0
jne 0x447ed7
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c0d4
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44bfca.14
jmp dword [eax*4 + 0x44c337]
test byte [ebp + 0x1c], 4
jne case.0x44ab6c.13
cmp edx, ecx
mov ebx, edx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44abb0
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne 0x44ae27
jmp 0x44abd5
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44abd5
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44abd5
cmp ecx, 1
je 0x44ae27
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44ae27
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44ab83
jmp 0x44ae27
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44abee
mov ecx, eax
add esi, ecx
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44ae27
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44ac20
inc esi
cmp esi, ecx
jae 0x44ae27
cmp byte [esi], 0xa
jne 0x44ac3b
jmp 0x44ac3a
cmp eax, 0xa
je 0x44ac3a
cmp eax, 0xb
je 0x44ac3a
cmp eax, 0xc
je 0x44ac3a
cmp eax, 0x85
jne 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ac00
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44ae27
movzx eax, byte [esi]
cmp eax, 9
je 0x44ae27
cmp eax, 0x20
je 0x44ae27
cmp eax, 0xa0
je 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ac51
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44ae27
movzx eax, byte [esi]
cmp eax, 9
je 0x44acb0
cmp eax, 0x20
je 0x44acb0
cmp eax, 0xa0
jne 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ac90
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44ae27
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44ae27
cmp eax, 0xb
je 0x44ae27
cmp eax, 0xc
je 0x44ae27
cmp eax, 0xd
je 0x44ae27
cmp eax, 0x85
je 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44acc7
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44ae27
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44ad42
cmp eax, 0xb
je 0x44ad42
cmp eax, 0xc
je 0x44ad42
cmp eax, 0xd
je 0x44ad42
cmp eax, 0x85
jne 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ad18
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ad59
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ad88
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44adb0
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44add0
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44adf0
jmp 0x44ae27
cmp edx, ecx
jge 0x44ae27
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44ae27
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44ae27
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ae10
cmp dword [ebp - 0x1c], 0
jne 0x447ed7
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
dec esi
test eax, eax
jne 0x44c0f9
cmp esi, dword [ebp - 0x14]
jae 0x44ae3e
jmp case.0x447f0e.108
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
lea eax, [ebx + eax + 3]
cmp byte [eax], 0x53
mov dword [ebp + 0xc], eax
jne 0x44ae93
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44ae81
mov dword [ebp + 0xc], eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
add ebx, 3
cmp dword [ebp - 8], 0x62
mov dword [ebp + 0xc], ebx
je 0x44b211
mov dword [ebp + 0x24], edx
jmp 0x44b002
xor eax, eax
mov ah, byte [ebx + 3]
mov al, byte [ebx + 4]
mov dword [ebp - 0xc], eax
add eax, eax
cmp eax, dword [edi + 0x14]
jl 0x44b11a
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44aed5
mov dword [ebp + 0x24], edx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
cmp byte [eax + ebx], 0x53
mov ebx, dword [ebp + 0xc]
jne 0x44af38
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [ebx]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x4667a0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44af20
cmp eax, 0xfffffc1c
jne 0x44c0f9
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
cmp byte [eax + ebx], 0x53
je 0x44aee6
cmp dword [ebp + 0x24], 0
jne 0x44b1e1
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4667a0]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44b002
push 2
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0x18]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov eax, dword [ebp - 0x20]
jmp 0x44829f
mov ecx, dword [ebp + 0x18]
cmp byte [ecx], 0x60
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
inc ecx
cmp byte [eax], 0x56
mov dword [ebp + 0x24], ecx
jne 0x44afd3
mov ebx, dword [ebp + 0x28]
lea eax, [ebx + 1]
push eax
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 0x20]
add eax, 3
push dword [ebp - 0x20]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
cmp dword [ebp + 0x24], eax
jne 0x44b397
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44b002
mov eax, dword [ebp + 0x28]
inc eax
push eax
push ecx
push dword [ebp + 0x20]
push dword [ebp - 0x20]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0x18]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
add dword [ebp + 0xc], 3
and dword [ebp + 0x24], 0
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x18], eax
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jb 0x447eae
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44c0f8
push 0xffffffffffffffeb
jmp 0x44c0f8
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [ebx]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x4667a0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov eax, 0xfffffc1a
jmp 0x44c0f9
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [ebx]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x4667a0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov eax, 0xfffffc19
jmp 0x44c0f9
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [ebx]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x4667a0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov dword [edi + 0x58], esi
mov eax, 0xfffffc1b
jmp 0x44c0f9
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [ebx]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x4667a0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov eax, 0xfffffc1c
jmp 0x44c0f9
mov ebx, eax
mov eax, dword [edi + 0xc]
shl ebx, 2
mov ecx, dword [eax + ebx]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + ebx + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edi + 0x10]
sub ecx, dword [ebp - 0xc]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
mov ecx, dword [edi + 0x64]
mov dword [ebp + 0x18], ecx
mov ecx, esi
sub ecx, dword [edi + 0x50]
cmp dword [ebp - 8], 0x61
mov dword [eax], ecx
jne 0x44b159
mov dword [ebp + 0x24], 2
jmp 0x44b15d
and dword [ebp + 0x24], 0
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x24]
movzx ecx, byte [eax]
push dword [ebp + 0x20]
movzx ecx, byte [ecx + 0x4667a0]
push dword [ebp + 0x1c]
add ecx, eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b19f
cmp eax, 0xfffffc1c
jne 0x44c0f9
mov eax, dword [ebp + 0x18]
mov dword [edi + 0x64], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
mov dword [ebp + 0xc], eax
je 0x44b164
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [ebx + eax], ecx
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + ebx + 4], ecx
mov eax, dword [edi + 0x10]
sub eax, dword [ebp - 0xc]
mov ecx, dword [edi + 0xc]
mov dword [ecx + eax*4], edx
jmp case.0x447f0e.108
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [ebx]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x4667a0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447e8b
add esp, 0x24
jmp 0x44c0f9
mov eax, dword [ebp + 0x28]
inc eax
push eax
push 2
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
jmp 0x44b203
cmp dword [edi + 0x40], 0
je 0x44b237
cmp esi, dword [ebp + 0x10]
je case.0x447f0e.108
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x60], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], esi
xor eax, eax
inc eax
jmp 0x44c0f9
mov eax, dword [edi + 0x4c]
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, eax
cmp ecx, eax
mov dword [ebp + 0x18], ecx
jne 0x44b268
and dword [ebp - 0x38], 0
jmp 0x44b273
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x74]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
mov dword [edi + 0x74], eax
mov eax, dword [edi + 0x10]
add ebx, 3
cmp eax, 0x1e
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], eax
jg 0x44b29b
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44b2b7
shl eax, 2
push eax
call dword [0x474150]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44b2b4
push 0xfffffffffffffffa
jmp 0x44c0f8
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.0044f750
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
mov al, byte [eax]
add esp, 0xc
cmp al, 0x60
sbb ebx, ebx
and ebx, 0xfffffffe
inc ebx
inc ebx
inc ecx
mov dword [ebp - 0x10], ecx
push dword [ebp - 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4667a0]
add eax, dword [ebp + 0x18]
push ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push esi
push eax
push esi
call fcn.00447e8b
add esp, 0x24
cmp eax, 1
je 0x44b373
test eax, eax
je 0x44b31e
cmp eax, 0xfffffc1c
jne 0x44c0f9
lea eax, [ebp - 0x3c]
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [ebp - 0x2c]
push dword [edi + 0xc]
call fcn.0044f750
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x18], eax
mov al, byte [eax]
cmp al, 0x53
je 0x44b2e4
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x447f0e.108
push dword [ebp - 0x2c]
call dword [0x474154]
pop ecx
jmp case.0x447f0e.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44b246
push dword [ebp - 0x2c]
call dword [0x474154]
pop ecx
jmp 0x44b246
inc ebx
push ebx
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp - 0x20]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0x18]
jmp 0x44b203
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x60], eax
jmp 0x44b243
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447f0e.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447e2d
test eax, eax
pop ecx
pop ecx
je case.0x447f0e.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b3bc
jmp 0x44c0f9
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44b43f
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447e2d
test eax, eax
pop ecx
pop ecx
je 0x44b436
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b416
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44b443
jmp case.0x447f0e.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b4d1
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b4d1
jmp 0x44b4bb
mov ecx, dword [ebp - 0x20]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp - 0x20], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x44b4b8
cmp eax, 0xff
jbe 0x44b4de
cmp dword [ebp - 8], 0x4d
jmp 0x44b4f3
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x447f0e.108
push dword [ebp - 0x10]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b474
jmp 0x44c0f9
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b564
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x447f0e.108
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b52d
jmp 0x44c0f9
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44b687
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44b641
cmp esi, dword [edi + 0x54]
mov dword [ebp - 0x20], 1
jae 0x44b641
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44b60b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
cmp edx, 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x20], 1
mov eax, ebx
jl 0x44b604
mov edx, dword [ebp - 0x20]
movzx edx, byte [edx + esi]
and edx, 0x3f
sub ecx, 6
shl edx, cl
or eax, edx
inc dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 0x20], edx
jle 0x44b5e8
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44b618
cmp dword [ebp - 8], 0x4d
jmp 0x44b62d
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x44b641
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b5a1
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44b665
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447f0e.108
jmp 0x44b65a
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b659
push dword [ebp - 0x10]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b64b
jmp 0x44c0f9
cmp edx, dword [ebp - 4]
jge 0x44b6bb
cmp esi, dword [edi + 0x54]
jae 0x44b6b2
movzx eax, byte [esi]
mov ecx, eax
xor ebx, ebx
and ecx, 7
inc ebx
shl ebx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x44b6b2
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b68c
cmp esi, dword [ebp - 0x14]
jb case.0x447f0e.108
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44b6bf
jmp case.0x447f0e.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44b745
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov edx, dword [eax*4 + 0x466844]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44b741
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 8], edx
inc esi
test eax, eax
jg 0x44b731
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044cfb9
test eax, eax
pop ecx
pop ecx
je case.0x447f0e.108
push dword [ebp - 0x10]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b6ee
jmp 0x44c0f9
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44b800
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x54]
jae 0x44b805
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b7e9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
cmp eax, 1
mov dword [ebp - 0x20], 1
mov edx, ebx
jl 0x44b7e6
mov ebx, dword [ebp - 0x20]
movzx ebx, byte [ebx + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
or edx, ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x44b7cd
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044cfb9
test eax, eax
pop ecx
pop ecx
je 0x44b805
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b790
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b828
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447f0e.108
cmp dword [ebp - 0x18], 0
je 0x44b828
jmp 0x44b820
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b81f
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b80b
jmp 0x44c0f9
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b888
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044dd9a
add esp, 0xc
test eax, eax
jne case.0x447f0e.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b856
jmp 0x44c0f9
cmp esi, dword [ebp - 0x14]
je case.0x447f0e.108
sub esi, dword [ebp - 0x10]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b8ad
jmp 0x44c0f9
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b913
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x447f0e.108
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b8e7
jmp 0x44c0f9
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b966
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x447f0e.108
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b941
jmp 0x44c0f9
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44ba54
mov eax, dword [ebp + 0x28]
inc eax
push eax
push 0
push dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
jmp 0x44ba3e
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b9f9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b9f2
movzx ebx, byte [esi]
mov edx, dword [ebp - 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 0x20], edx
jg 0x44b9e0
cmp edx, 0x100
jae 0x44ba08
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
cmp dword [ebp - 8], edx
je case.0x447f0e.108
push dword [ebp - 0x10]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44b9b4
jmp 0x44c0f9
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ba86
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x447f0e.108
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44ba5a
jmp 0x44c0f9
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447f0e.108
jmp 0x44baba
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44bab9
push dword [ebp - 0x10]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44baab
jmp 0x44c0f9
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44bb9d
mov eax, dword [ebp + 0x28]
inc eax
push eax
push ecx
push dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
jmp 0x44bb87
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44bb51
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x466860]
mov ebx, dword [eax*4 + 0x466844]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44bb4a
movzx ebx, byte [esi]
mov edx, dword [ebp - 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
or edx, ebx
inc esi
test eax, eax
mov dword [ebp - 0x20], edx
jg 0x44bb38
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
cmp dword [ebp - 8], edx
je case.0x447f0e.108
push dword [ebp - 0x10]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44bb0c
jmp 0x44c0f9
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44bbcd
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447f0e.108
cmp esi, dword [edi + 0x54]
jae case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x447f0e.108
inc dword [ebp + 0x18]
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44bba5
jmp 0x44c0f9
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447f0e.108
jmp 0x44bbfe
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44bbfd
push dword [ebp - 0x10]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44bbef
jmp 0x44c0f9
push 0xfffffffffffffff2
jmp 0x44c0f8
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44bf49
inc eax
push eax
push 0
push dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
jne 0x44c0f9
mov ebx, 0x100
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447f0e.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x447f0e.108
cmp dword [ebp - 0xc], 0xc
jne 0x44bcda
test byte [ebp + 0x1c], 4
jne 0x44bcda
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44bcb5
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne case.0x447f0e.108
jmp 0x44bcda
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44bcda
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44bcda
cmp ecx, 1
je case.0x447f0e.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447f0e.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44bd27
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x466860]
mov ebx, dword [edx*4 + 0x466844]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44bd22
jmp 0x44bd0c
mov ecx, dword [ebp - 0x20]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
mov dword [ebp - 0x20], ecx
or eax, ebx
inc esi
test edx, edx
jg 0x44bd09
mov ebx, 0x100
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44bfca.14
jmp dword [ecx*4 + 0x44c373]
cmp eax, 0xa
jb case.0x447f0e.108
cmp eax, 0xc
jbe case.0x44bd36.12
cmp eax, 0xd
jne 0x44be95
cmp esi, dword [edi + 0x54]
jae case.0x44bd36.12
cmp byte [esi], 0xa
jne case.0x44bd36.12
inc esi
jmp case.0x44bd36.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44bda6
je case.0x447f0e.108
cmp eax, 9
je case.0x447f0e.108
cmp eax, 0x20
je case.0x447f0e.108
cmp eax, 0xa0
je case.0x447f0e.108
cmp eax, 0x1680
jmp 0x44bf15
cmp eax, 0x2000
jb case.0x44bd36.12
cmp eax, 0x200a
jbe case.0x447f0e.108
cmp eax, 0x202f
je case.0x447f0e.108
cmp eax, 0x205f
je case.0x447f0e.108
cmp eax, 0x3000
jmp 0x44bf15
mov ecx, 0x180e
cmp eax, ecx
ja 0x44be0f
je case.0x44bd36.12
cmp eax, 9
je case.0x44bd36.12
cmp eax, 0x20
je case.0x44bd36.12
cmp eax, 0xa0
je case.0x44bd36.12
cmp eax, 0x1680
jmp 0x44be40
cmp eax, 0x2000
jb case.0x447f0e.108
cmp eax, 0x200a
jbe case.0x44bd36.12
cmp eax, 0x202f
je case.0x44bd36.12
cmp eax, 0x205f
je case.0x44bd36.12
cmp eax, 0x3000
jne case.0x447f0e.108
jmp case.0x44bd36.12
cmp eax, 0xa
jb case.0x44bd36.12
cmp eax, 0xd
jbe case.0x447f0e.108
cmp eax, 0x85
je case.0x447f0e.108
cmp eax, 0x2027
jbe case.0x44bd36.12
cmp eax, 0x2029
jbe case.0x447f0e.108
jmp case.0x44bd36.12
cmp eax, 0xa
jb case.0x447f0e.108
cmp eax, 0xd
jbe case.0x44bd36.12
cmp eax, 0x85
je case.0x44bd36.12
cmp eax, 0x2027
jbe case.0x447f0e.108
cmp eax, 0x2029
ja case.0x447f0e.108
jmp case.0x44bd36.12
cmp eax, ebx
jae case.0x44bd36.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44be40
cmp eax, ebx
jae case.0x447f0e.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bf15
cmp eax, ebx
jae case.0x44bd36.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44be40
cmp eax, ebx
jae case.0x447f0e.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bf15
cmp eax, ebx
jae case.0x44bd36.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44be40
cmp eax, ebx
jae case.0x447f0e.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x447f0e.108
push dword [ebp - 0x10]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44bc6f
jmp 0x44c0f9
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44c09a
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447f0e.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x447f0e.108
test byte [ebp + 0x1c], 4
jne 0x44bfb7
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44bf92
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044cbd9
add esp, 0x14
test eax, eax
jne case.0x447f0e.108
jmp 0x44bfb7
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44bfb7
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44bfb7
cmp ecx, 1
je case.0x447f0e.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447f0e.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44bfca.14
jmp dword [ecx*4 + 0x44c3af]
cmp eax, 0xa
jb case.0x447f0e.108
cmp eax, 0xc
jbe case.0x44bfca.12
cmp eax, 0xd
jne 0x44c053
cmp esi, dword [edi + 0x54]
jae case.0x44bfca.12
cmp byte [esi], 0xa
jne case.0x44bfca.12
inc esi
jmp case.0x44bfca.12
cmp eax, 9
je case.0x447f0e.108
cmp eax, 0x20
je case.0x447f0e.108
cmp eax, 0xa0
jmp 0x44c08e
cmp eax, 9
je case.0x44bfca.12
cmp eax, 0x20
je case.0x44bfca.12
cmp eax, 0xa0
jne case.0x447f0e.108
jmp case.0x44bfca.12
cmp eax, 0xa
jb case.0x44bfca.12
cmp eax, 0xd
jbe case.0x447f0e.108
cmp eax, 0x85
jmp 0x44c08e
cmp eax, 0xa
jb case.0x447f0e.108
cmp eax, 0xd
jbe case.0x44bfca.12
cmp eax, 0x85
jmp 0x44c028
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44c028
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44c08e
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44c028
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44c08e
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44c028
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x447f0e.108
inc dword [ebp + 0x18]
push dword [ebp - 0x10]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44bf53
jmp 0x44c0f9
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447f0e.108
jmp 0x44c0cc
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c0cb
push ebx
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00447e8b
add esp, 0x24
test eax, eax
je 0x44c0bd
jmp 0x44c0f9
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret