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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
push ebx
push esi
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
push edi
jae 0x4496e6
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x4496ef
test byte [ebp + 0x20], 2
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
je 0x446d47
test byte [ebp + 0x20], 4
je 0x446d34
mov ecx, dword [esi + 0x70]
cmp ecx, 0x3e8
jge 0x4496f6
mov eax, dword [esi + 0x6c]
lea eax, [eax + ecx*8]
inc ecx
mov dword [esi + 0x70], ecx
jmp 0x446d37
lea eax, [ebp - 0x80]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 4], ebx
mov dword [eax], ecx
mov dword [ebp + 0x1c], eax
jmp 0x446d47
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
movzx ecx, byte [edi]
xor eax, eax
cmp dword [esi + 0x44], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
je 0x446d6f
cmp ebx, dword [esi + 0x54]
jb 0x446d6f
cmp ebx, dword [esi + 0x58]
jbe 0x446d6f
xor edx, edx
inc edx
mov dword [esi + 0x48], edx
jmp 0x446d72
xor edx, edx
inc edx
cmp ecx, 0x62
ja case.0x446d82.13
movzx eax, byte [ecx + 0x44a56a]
jmp dword [eax*4 + 0x44a47e]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x5f
jne 0x446db4
mov eax, dword [esi + 0x74]
xor ecx, ecx
test eax, eax
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x446e0f
cmp ecx, 0xffff
je 0x446daf
cmp ecx, dword [eax + 4]
jne 0x446e0f
push 3
pop eax
jmp 0x446e19
cmp cl, 0x5e
jne 0x446dd3
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
add eax, eax
cmp eax, dword [ebp + 0x10]
jge 0x446e0f
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x446daf
jmp 0x446e0f
cmp cl, 0x60
jne 0x446de4
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x446e23
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
cmp eax, 1
je 0x44954f
test eax, eax
jne 0x44a479
xor edx, edx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
test edx, edx
jne 0x449578
cmp byte [edi], 0x4e
je 0x449578
jmp 0x446f44
mov edi, dword [esi + 0x74]
test edi, edi
je 0x4497bc
cmp dword [edi + 4], 0
jne 0x4497bc
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.0044ef20
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0x18], eax
mov eax, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0xc], eax
jmp 0x446d47
movzx eax, byte [edi + 1]
mov dword [ebp + 0x18], eax
inc edi
inc edi
jmp 0x446f47
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [edi + 3]
push 0
push 0
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
cmp eax, 1
je 0x446ec4
test eax, eax
jne 0x44a479
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446e8f
cmp byte [edi], 0x4f
je 0x4497b5
test byte [ebp + 0x20], 1
jne 0x4497d0
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446ed7
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x10], eax
jmp 0x446d47
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [edi + 3]
push 0
push 0
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
cmp eax, 1
je 0x4497b5
test eax, eax
jne 0x44a479
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446f01
test byte [ebp + 0x20], 1
jne 0x4497d0
add edi, 3
mov dword [ebp + 0xc], edi
jmp 0x446d47
xor eax, eax
cmp dword [ebp - 0x2c], 0
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
je 0x446f81
test eax, eax
jle 0x446f44
mov ecx, dword [esi + 0x50]
dec eax
dec ebx
cmp ebx, ecx
jb 0x4497b5
jmp 0x446f71
dec ebx
mov dl, byte [ebx]
and dl, 0xc0
cmp dl, 0x80
je 0x446f70
test eax, eax
jg 0x446f64
jmp 0x446f44
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jb 0x4497b5
jmp 0x446f44
cmp dword [0x4740e0], 0
je 0x44700e
movzx eax, byte [edi + 1]
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x74], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 0x50]
sub ecx, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov ecx, dword [esi + 0x58]
sub ecx, eax
mov dword [ebp - 0x64], ecx
mov ecx, ebx
sub ecx, eax
xor eax, eax
mov ah, byte [edi + 2]
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x60], ecx
mov al, byte [edi + 3]
mov dword [ebp - 0x50], eax
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x78]
push eax
call dword [0x4740e0]
test eax, eax
pop ecx
jg 0x4497b5
jl 0x44a479
add edi, 6
jmp 0x446f47
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [edi + 3]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
cmp eax, 1
je 0x44705c
test eax, eax
jne 0x44a479
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x447026
mov al, byte [edi]
cmp al, 0x57
je 0x44706a
cmp al, 0x4e
jne 0x4497b5
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x44706a
cmp byte [edi], 0x4f
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x10], eax
je 0x446f44
cmp ebx, dword [ebp - 0x24]
je 0x446f44
lea ecx, [edi + 3]
cmp byte [ecx], 0x13
mov dword [ebp - 0x14], ecx
jne 0x4470ae
mov edx, dword [ebp + 0x18]
movzx ecx, byte [edi + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [ebp + 0x18], ecx
mov ecx, dword [ebp + 0x24]
inc ecx
cmp byte [edi], 0x51
push ecx
jne 0x44963d
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push eax
push dword [ebp - 0x14]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
mov eax, dword [ebp - 8]
mov dword [ebp + 0xc], eax
jmp 0x4496d4
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x446d82.78
jmp 0x446f47
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x24]
inc edi
inc eax
push eax
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x447120
jmp 0x446f44
inc edi
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x4e
je 0x447137
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push 0
push dword [ebp + 0x1c]
add eax, 3
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
jmp 0x446f47
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub edi, eax
mov al, byte [edi]
cmp al, 0x5b
mov dword [ebp - 8], edi
jb 0x447197
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx]
mov dword [ebp + 0x1c], ecx
jmp 0x44719b
and dword [ebp - 0x24], 0
cmp al, 0x52
je 0x44991c
cmp al, 0x53
je 0x44991c
cmp al, 0x54
je 0x44991c
cmp al, 0x55
je 0x44991c
cmp al, 0x57
je 0x44991c
cmp al, 0x59
je 0x4471d2
cmp al, 0x5c
jne 0x447256
mov edi, dword [ebp - 8]
xor edx, edx
mov dh, byte [edi + 3]
mov dl, byte [edi + 4]
lea ecx, [edx + edx]
cmp ecx, dword [esi + 0x14]
mov dword [ebp - 0x28], edx
mov dword [esi + 0x64], edx
jl 0x4471f1
mov dword [esi + 0x2c], 1
jmp 0x447219
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub edi, edx
mov edx, dword [eax + edi*4]
mov dword [eax + ecx*4], edx
mov edx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x50]
cmp dword [ebp + 0x10], ecx
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp - 0x28]
jg 0x447219
add ecx, 2
mov dword [ebp + 0x10], ecx
mov edi, dword [esi + 0x74]
test edi, edi
je 0x447256
cmp dword [edi + 4], edx
jne 0x447256
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.0044dc10
mov eax, dword [edi + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x30]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x446d47
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0x4f
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0x18], eax
je 0x44726d
cmp ebx, dword [ebp - 0x24]
jne 0x449663
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x446d47
cmp dword [esi + 0x30], 0
je 0x447287
cmp ebx, dword [esi + 0x50]
je 0x4497b5
test byte [ebp + 0x18], 2
je case.0x446d82.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x4472fa
cmp ebx, dword [esi + 0x54]
je 0x4497b5
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4472c8
cmp ebx, ecx
jbe 0x4497b5
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
push ebx
call fcn.0044af4f
add esp, 0x14
test eax, eax
je 0x4497b5
jmp 0x4472fa
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb 0x4497b5
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov cl, byte [ecx]
cmp cl, byte [esi + 0x20]
jne 0x4497b5
cmp eax, edx
je 0x4472fa
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 1]
cmp al, byte [esi + 0x21]
jne 0x4497b5
inc edi
jmp 0x446f47
cmp ebx, dword [esi + 0x50]
jmp 0x4472f4
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x4472f4
test byte [ebp + 0x18], 2
je 0x44735b
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x447355
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x447334
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
jmp 0x4472bb
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4497b5
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4497b5
cmp ecx, edx
je 0x4472fa
mov al, byte [ebx + 1]
jmp 0x4472f1
cmp dword [esi + 0x34], 0
jmp 0x4472f4
cmp dword [esi + 0x34], 0
jne 0x4497b5
cmp dword [esi + 0x3c], 0
jne case.0x446d82.18
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x4472fa
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44739d
cmp ebx, eax
jae 0x4497b5
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
je 0x4497b5
jmp 0x4473c5
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4497b5
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4497b5
cmp ecx, edx
je 0x4473c5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne 0x4497b5
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x44730b
cmp ebx, dword [esi + 0x54]
jb 0x4497b5
jmp 0x4472fa
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x4472fa
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x447414
cmp ebx, eax
jae 0x4497b5
push dword [ebp - 0x2c]
lea edi, [esi + 0x1c]
push edi
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
je 0x4497b5
jmp 0x44743f
lea edi, [esi + 0x1c]
mov ecx, dword [edi]
sub eax, ecx
cmp ebx, eax
ja 0x4497b5
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4497b5
cmp ecx, 1
je 0x44743f
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne 0x4497b5
mov eax, dword [esi + 0x54]
sub eax, dword [edi]
cmp ebx, eax
jne 0x4497b5
mov edi, dword [ebp + 0xc]
jmp 0x4472fa
cmp dword [ebp - 0x2c], 0
je 0x447570
cmp ebx, dword [esi + 0x50]
je 0x4474ef
lea eax, [ebx - 1]
jmp 0x44746d
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x44746c
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x4474d9
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x464738]
mov edi, edx
imul edi, edi, 6
mov dword [ebp - 0x1c], edx
mov edx, dword [edx*4 + 0x464720]
and edx, ecx
mov ecx, edi
shl edx, cl
mov ecx, edx
xor edx, edx
inc edx
cmp dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
jl 0x4474d3
movzx edx, byte [edx + eax]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
or dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x14]
inc edx
cmp edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
jle 0x4474b3
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp + 0xc]
xor edx, edx
inc edx
cmp ecx, 0x100
jae 0x4474ef
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 0x10
je 0x4474ef
mov dword [ebp - 8], edx
jmp 0x4474f3
and dword [ebp - 8], 0
cmp ebx, dword [esi + 0x54]
jae 0x44759c
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x44755a
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x28], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x447557
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
mov dword [ebp - 0x10], ecx
jle 0x447536
mov edi, dword [ebp + 0xc]
cmp ecx, 0x100
jae 0x44759c
mov eax, dword [esi + 0x28]
test byte [ecx + eax], 0x10
je 0x44759c
xor edx, edx
inc edx
jmp 0x44759e
cmp ebx, dword [esi + 0x50]
je 0x447587
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x447587
mov dword [ebp - 8], edx
jmp 0x44758b
and dword [ebp - 8], 0
cmp ebx, dword [esi + 0x54]
jae 0x44759c
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jne 0x44759e
xor edx, edx
mov al, byte [edi]
inc edi
cmp al, 4
mov dword [ebp + 0xc], edi
jne 0x4475b2
xor eax, eax
cmp edx, dword [ebp - 8]
sete al
jmp 0x4475ba
xor eax, eax
cmp edx, dword [ebp - 8]
setne al
test eax, eax
je 0x446d47
jmp 0x4497b5
test byte [ebp + 0x18], 4
jne 0x44761e
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4475f7
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44761e
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x4497b5
jmp 0x44761e
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja 0x44761e
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne 0x44761e
cmp eax, edx
je 0x4497b5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4497b5
mov eax, dword [esi + 0x54]
mov ecx, ebx
inc ebx
cmp ecx, eax
jae 0x4497b5
cmp dword [ebp - 0x2c], 0
je 0x4472fa
cmp ebx, eax
jae 0x4472fa
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x4472fa
inc ebx
cmp ebx, dword [esi + 0x54]
jb 0x44763e
jmp 0x4472fa
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae 0x4497b5
jmp 0x4472fa
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x4476c8
cmp edx, 0xc0
jb 0x4476c8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x4476c1
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x4476a7
cmp edx, 0x100
jae 0x4472fa
mov eax, dword [esi + 0x28]
test byte [edx + eax], 4
jmp 0x4472f4
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x447742
cmp edx, 0xc0
jb 0x447742
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x44773b
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x447721
cmp edx, 0x100
jae 0x4497b5
mov eax, dword [esi + 0x28]
test byte [edx + eax], 4
jmp 0x4472c0
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x4477bc
cmp edx, 0xc0
jb 0x4477bc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x4477b5
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x44779b
cmp edx, 0x100
jae 0x4472fa
mov eax, dword [esi + 0x28]
test byte [edx + eax], 1
jmp 0x4472f4
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x447836
cmp edx, 0xc0
jb 0x447836
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x44782f
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x447815
cmp edx, 0x100
jae 0x4497b5
mov eax, dword [esi + 0x28]
test byte [edx + eax], 1
jmp 0x4472c0
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x4478b0
cmp edx, 0xc0
jb 0x4478b0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x4478a9
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x44788f
cmp edx, 0x100
jae 0x4472fa
mov eax, dword [esi + 0x28]
test byte [edx + eax], 0x10
jmp 0x4472f4
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x44792a
cmp edx, 0xc0
jb 0x44792a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x447923
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x447909
cmp edx, 0x100
jae 0x4497b5
mov eax, dword [esi + 0x28]
test byte [edx + eax], 0x10
jmp 0x4472c0
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x4479a4
cmp edx, 0xc0
jb 0x4479a4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 8], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
jmp 0x44799d
movzx ecx, byte [ebx]
sub dword [ebp - 8], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
test eax, eax
mov dword [ebp - 0x10], edx
jg 0x447983
cmp edx, 0xa
jb 0x4497b5
cmp edx, 0xc
jbe 0x4472fa
cmp edx, 0xd
je 0x4479e4
cmp edx, 0x85
je 0x4472fa
cmp edx, 0x2027
jbe 0x4497b5
cmp edx, 0x2029
ja 0x4497b5
jmp 0x4472fa
cmp ebx, dword [esi + 0x54]
jae 0x4472fa
cmp byte [ebx], 0xa
jne 0x4472fa
inc ebx
jmp 0x4472fa
xor eax, eax
mov ah, byte [edi + 1]
add edi, 3
mov dword [ebp + 0xc], edi
mov al, byte [edi - 1]
add eax, eax
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
jge 0x447a27
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x447a27
mov eax, dword [eax + 4]
sub eax, ecx
jmp 0x447a2d
mov eax, dword [esi + 0x54]
sub eax, ebx
inc eax
mov dword [ebp - 0x24], eax
mov al, byte [edi]
cmp al, 0x40
jb 0x447b00
cmp al, 0x45
jbe 0x447a79
cmp al, 0x47
ja 0x447b00
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 0x20], ecx
mov al, byte [edi + 2]
mov dword [ebp - 0x18], eax
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x447a71
mov dword [ebp - 0xc], connect
add edi, 5
mov dword [ebp + 0xc], edi
jmp 0x447aa9
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, edx
mov dword [ebp - 0x20], ecx
movsx ecx, byte [eax + 0x464354]
movsx eax, byte [eax + 0x46435c]
inc edi
test eax, eax
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
jne 0x447aa9
mov dword [ebp - 0xc], connect
cmp dword [ebp - 0x24], 0
je 0x446d47
cmp dword [ebp - 0x18], edx
mov edi, edx
jl 0x447ade
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
push ebx
mov ecx, esi
call fcn.00446c78
test eax, eax
pop ecx
pop ecx
je 0x4497b5
add ebx, dword [ebp - 0x24]
inc edi
cmp edi, dword [ebp - 0x18]
jle 0x447aba
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc]
je 0x446d47
cmp dword [ebp - 0x20], 0
je 0x44997b
mov edi, dword [ebp + 0x24]
mov dword [ebp - 4], eax
inc edi
jmp 0x449959
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
push ebx
mov ecx, esi
call fcn.00446c78
test eax, eax
pop ecx
pop ecx
je 0x4497b5
add ebx, dword [ebp - 0x24]
jmp 0x446d47
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp - 8], eax
mov al, byte [edi]
cmp al, 0x40
mov dword [ebp + 0xc], edi
jb 0x447ba2
cmp al, 0x45
jbe 0x447b70
cmp al, 0x47
ja 0x447ba2
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 0x20], ecx
mov al, byte [edi + 2]
mov dword [ebp - 0x18], eax
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x447b68
mov dword [ebp - 0xc], connect
add edi, 5
mov dword [ebp + 0xc], edi
jmp 0x447ba8
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, edx
mov dword [ebp - 0x20], ecx
movsx ecx, byte [eax + 0x464354]
movsx eax, byte [eax + 0x46435c]
inc edi
test eax, eax
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
jne 0x447ba8
mov dword [ebp - 0xc], connect
jmp 0x447ba8
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 4], edx
je 0x447c4a
cmp dword [ebp - 0x18], edx
jl 0x447c87
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edi, byte [ebx]
inc ebx
cmp edi, 0xc0
jb 0x447c10
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov ecx, eax
imul ecx, ecx, 6
and edx, edi
shl edx, cl
test eax, eax
mov edi, edx
jle 0x447c10
jmp 0x447bfa
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ebx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
mov dword [ebp - 0x14], ecx
or edi, edx
inc ebx
test eax, eax
jg 0x447bf7
cmp edi, 0xff
jbe 0x447c1e
cmp dword [ebp - 0x24], 0x48
jmp 0x447c33
xor eax, eax
mov ecx, edi
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [ebp - 8]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, al
je 0x4497b5
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jle 0x447bbe
jmp 0x447c84
cmp dword [ebp - 0x18], edx
jl 0x447c87
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4497b5
movzx edi, byte [ebx]
xor edx, edx
mov ecx, edi
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 8]
shr edi, 3
mov cl, byte [edi + ecx]
inc ebx
test cl, dl
je 0x4497b5
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x18]
jle 0x447c52
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc]
je 0x446d47
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
je 0x449aed
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x24]
inc eax
cmp dword [ebp - 0x2c], ecx
push eax
push ecx
push dword [ebp + 0x1c]
mov dword [ebp - 0x18], eax
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
je 0x449adc
jmp 0x449a7d
lea eax, [edi + 3]
mov dword [ebp - 8], eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
mov al, byte [edi]
cmp al, 0x40
mov dword [ebp + 0xc], edi
jb 0x447d4a
cmp al, 0x45
jbe 0x447d18
cmp al, 0x47
ja 0x447d4a
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 0x20], ecx
mov al, byte [edi + 2]
mov dword [ebp - 0x18], eax
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x447d10
mov dword [ebp - 0xc], connect
add edi, 5
mov dword [ebp + 0xc], edi
jmp 0x447d50
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, edx
mov dword [ebp - 0x20], ecx
movsx ecx, byte [eax + 0x464354]
movsx eax, byte [eax + 0x46435c]
inc edi
test eax, eax
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
jne 0x447d50
mov dword [ebp - 0xc], connect
jmp 0x447d50
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], edx
mov dword [ebp - 4], edx
jl 0x447dca
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
mov dword [ebp - 0x10], eax
jb 0x447daa
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
and edx, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], edx
jmp 0x447da6
movzx edx, byte [ebx]
sub dword [ebp - 0x28], 6
mov ecx, dword [ebp - 0x28]
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 0x10], edx
inc ebx
test eax, eax
jg 0x447d92
push dword [ebp - 8]
push dword [ebp - 0x10]
call fcn.0044b270
test eax, eax
pop ecx
pop ecx
je 0x4497b5
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jle 0x447d58
mov ecx, dword [ebp - 0xc]
cmp dword [ebp - 0x18], ecx
je 0x446d47
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
je 0x449cd7
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x449cb4
cmp dword [ebp - 0x2c], 0
je 0x447e3c
inc edi
movzx eax, byte [edi]
cmp eax, 0xc0
mov dword [ebp + 0xc], edi
jb 0x447e12
and eax, 0x3f
movzx edx, byte [eax + 0x464738]
inc edx
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp edx, eax
jg 0x4497b5
jmp 0x447e33
mov cl, byte [ebx]
mov al, byte [edi]
dec edx
inc ebx
inc edi
cmp al, cl
mov dword [ebp + 0xc], edi
jne 0x4497b5
test edx, edx
jg 0x447e21
jmp 0x446d47
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl 0x4497b5
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne 0x4497b5
jmp 0x446e7e
cmp dword [ebp - 0x2c], 0
je 0x447f5f
inc edi
movzx ecx, byte [edi]
mov eax, edx
mov edx, ecx
cmp edx, 0xc0
mov dword [ebp - 0x24], eax
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], edx
jb 0x447ed6
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and ecx, edx
mov edx, ecx
mov ecx, edi
shl edx, cl
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], ecx
jl 0x447ecc
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 8]
movzx edx, byte [edx + ecx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
or dword [ebp - 0x10], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
jle 0x447ead
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x24], eax
mov edx, dword [esi + 0x54]
sub edx, ebx
cmp eax, edx
jg 0x4497b5
cmp dword [ebp - 0x10], 0x80
jae 0x447f02
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
mov dl, byte [edx + eax]
inc ebx
inc edi
cmp byte [eax + ecx], dl
mov dword [ebp + 0xc], edi
jmp 0x4475bc
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x447f4e
and eax, 0x3f
movzx edx, byte [eax + 0x464738]
mov eax, edx
imul eax, eax, 6
mov dword [ebp - 0x28], eax
mov eax, dword [edx*4 + 0x464720]
and eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
shl eax, cl
mov dword [ebp - 8], eax
jmp 0x447f4a
movzx eax, byte [ebx]
sub dword [ebp - 0x28], 6
mov ecx, dword [ebp - 0x28]
and eax, 0x3f
shl eax, cl
dec edx
or dword [ebp - 8], eax
inc ebx
test edx, edx
jg 0x447f36
add edi, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
mov dword [ebp + 0xc], edi
jmp 0x4475bc
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl 0x4497b5
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx ecx, byte [edi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jmp 0x447e4f
xor edx, edx
mov dh, byte [edi + 1]
mov dl, byte [edi + 2]
mov dword [ebp - 0xc], edx
add edi, 3
mov dword [ebp + 0xc], edi
jmp 0x448005
mov dword [ebp - 0x28], edx
xor eax, eax
mov ah, byte [edi + 1]
xor edx, edx
mov al, byte [edi + 2]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp byte [edi], 0x20
sete al
mov dword [ebp - 0x20], eax
jmp 0x447f8d
mov dword [ebp - 0x28], 1
xor edx, edx
inc edi
mov dword [ebp + 0xc], edi
jmp 0x447ffe
xor edx, edx
inc edx
mov dword [ebp - 0x28], edx
jmp 0x447fbb
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
inc edi
jmp 0x447f90
movzx eax, byte [edi]
movsx edx, byte [eax + 0x46433b]
sub eax, 0x19
mov ecx, eax
movsx eax, byte [eax + 0x46435c]
inc edi
and ecx, 1
test eax, eax
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0xc], eax
jne 0x448005
mov dword [ebp - 0xc], connect
cmp dword [ebp - 0x2c], 0
je 0x448126
movzx eax, byte [edi]
cmp eax, 0xc0
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], eax
jb 0x448080
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edi, eax
imul edi, edi, 6
mov dword [ebp - 0x1c], eax
mov eax, dword [eax*4 + 0x464720]
and eax, dword [ebp - 0x10]
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 8], eax
jl 0x448076
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
movzx eax, byte [eax + ecx]
sub edi, 6
and eax, 0x3f
mov ecx, edi
shl eax, cl
or dword [ebp - 0x10], eax
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1c]
jle 0x448054
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x54]
mov dword [ebp - 8], eax
mov ecx, eax
mov eax, edx
imul eax, dword [ebp - 0x24]
sub ecx, ebx
cmp eax, ecx
jg 0x4497b5
add edi, dword [ebp - 0x24]
xor eax, eax
inc eax
cmp dword [ebp - 0x24], eax
mov dword [ebp + 0xc], edi
jle 0x448145
cmp edx, eax
mov dword [ebp - 4], eax
jl 0x4480ce
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4497b5
add ebx, dword [ebp - 0x24]
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x4480b1
cmp edx, dword [ebp - 0xc]
je 0x446d44
cmp dword [ebp - 0x20], 0
jne 0x449d99
cmp edx, dword [ebp - 0xc]
mov dword [ebp - 0x20], ebx
jge 0x448112
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x4480f7
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
ja 0x448112
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x448112
add ebx, dword [ebp - 0x24]
inc edx
cmp edx, dword [ebp - 0xc]
jl 0x4480f4
xor edi, edi
cmp dword [ebp - 0x28], edi
jne 0x446d44
mov esi, dword [ebp + 0x24]
inc esi
jmp 0x449e08
mov eax, dword [esi + 0x54]
mov dword [ebp - 8], eax
sub eax, ebx
cmp edx, eax
jg 0x4497b5
movzx ecx, byte [edi]
inc edi
xor eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0xc], edi
inc eax
jmp 0x448148
mov ecx, dword [ebp - 0x10]
test byte [ebp + 0x18], 1
je 0x4481f8
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp - 4], eax
jl 0x448182
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [ecx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x448166
cmp edx, dword [ebp - 0xc]
je 0x446d47
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
jne 0x449e2b
mov dword [ebp - 0x20], ebx
jmp 0x4481b1
cmp ebx, dword [ebp - 8]
jae 0x4481b6
movzx edi, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edi + eax]
cmp dword [ebp - 0x10], eax
jne 0x4481b6
inc ebx
inc edx
cmp edx, dword [ebp - 0xc]
jl 0x44819b
cmp dword [ebp - 0x28], ecx
jne 0x446d47
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
dec ebx
test eax, eax
jne 0x44a479
cmp ebx, dword [ebp - 0x20]
jae 0x4481cc
jmp 0x4497b5
cmp edx, eax
mov dword [ebp - 4], eax
jl 0x448213
movzx eax, byte [ebx]
inc ebx
cmp ecx, eax
jne 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x4481ff
cmp edx, dword [ebp - 0xc]
je 0x446d47
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
jne 0x449e87
mov dword [ebp - 0x20], ebx
jmp 0x44823b
cmp ebx, dword [ebp - 8]
jae 0x448240
movzx eax, byte [ebx]
cmp dword [ebp - 0x10], eax
jne 0x448240
inc ebx
inc edx
cmp edx, dword [ebp - 0xc]
jl 0x44822c
cmp dword [ebp - 0x28], ecx
jne 0x446d47
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
dec ebx
test eax, eax
jne 0x44a479
cmp ebx, dword [ebp - 0x20]
jae 0x448256
jmp 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx ecx, byte [ebx]
inc edi
inc ebx
cmp dword [ebp - 0x2c], 0
je 0x4482e1
cmp ecx, 0xc0
jb 0x4482e1
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, eax
imul edx, edx, 6
mov dword [ebp - 8], edx
mov edx, dword [eax*4 + 0x464720]
and edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
mov ecx, edx
jmp 0x4482da
movzx edx, byte [ebx]
sub dword [ebp - 8], 6
mov ecx, dword [ebp - 8]
and edx, 0x3f
shl edx, cl
mov ecx, dword [ebp - 0x10]
dec eax
or ecx, edx
inc ebx
test eax, eax
mov dword [ebp - 0x10], ecx
jg 0x4482c4
test byte [ebp + 0x18], 1
je 0x448311
cmp ecx, 0x100
jae 0x4482f6
mov eax, dword [esi + 0x24]
movzx ecx, byte [eax + ecx]
movzx eax, byte [edi]
mov edx, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc edi
cmp eax, ecx
mov dword [ebp + 0xc], edi
jne 0x446d47
jmp 0x4497b5
movzx eax, byte [edi]
jmp 0x448300
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov edi, ecx
mov dword [ebp - 0xc], edi
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x4483bd
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov ch, byte [eax + 1]
xor edi, edi
mov cl, byte [eax + 2]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
cmp byte [eax], 0x2d
sete cl
mov dword [ebp - 0x20], ecx
jmp 0x448326
mov dword [ebp - 0x28], 1
xor edi, edi
inc dword [ebp + 0xc]
jmp 0x4483b6
xor edi, edi
inc edi
mov dword [ebp - 0x28], edi
jmp 0x448357
xor eax, eax
inc eax
xor edi, edi
inc dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
jmp 0x4483bd
mov eax, dword [ebp + 0xc]
xor edi, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov dword [ebp - 0x28], 1
mov cl, byte [eax + 2]
mov dword [ebp - 0xc], ecx
jmp 0x448326
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx edi, byte [eax + 0x46432e]
sub eax, 0x26
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x46435c]
and ecx, 1
test eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0xc], eax
jne 0x4483bd
mov dword [ebp - 0xc], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp edi, eax
jg 0x4497b5
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
inc dword [ebp + 0xc]
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], ecx
je 0x4485b8
cmp dword [ebp - 0x2c], 0
mov eax, dword [esi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 0x10], ecx
je 0x44846f
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebp - 4], eax
jl 0x44848c
movzx ecx, byte [ebx]
inc ebx
cmp ecx, 0xc0
jb 0x44844d
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, eax
imul edx, edx, 6
mov dword [ebp - 8], edx
mov edx, dword [eax*4 + 0x464720]
and edx, ecx
mov ecx, dword [ebp - 8]
shl edx, cl
mov ecx, edx
jmp 0x448446
movzx edx, byte [ebx]
sub dword [ebp - 8], 6
mov ecx, dword [ebp - 8]
and edx, 0x3f
shl edx, cl
mov ecx, dword [ebp - 0x14]
dec eax
or ecx, edx
inc ebx
test eax, eax
mov dword [ebp - 0x14], ecx
jg 0x448430
cmp ecx, 0x100
jae 0x44845c
mov eax, dword [esi + 0x24]
movzx ecx, byte [eax + ecx]
cmp dword [ebp - 0x10], ecx
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x4483fe
jmp 0x44848c
xor ecx, ecx
inc ecx
cmp edi, ecx
jl 0x44848c
movzx edx, byte [ebx]
movzx edx, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], edx
je 0x4497b5
inc ecx
cmp ecx, edi
jle 0x448476
cmp edi, dword [ebp - 0xc]
je 0x446d47
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x449edc
cmp dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
je 0x448571
cmp edi, dword [ebp - 0xc]
mov dword [ebp - 4], edi
jge 0x448549
xor edi, edi
inc edi
cmp ebx, dword [esi + 0x54]
jae 0x448549
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x448524
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 8], 1
mov ecx, edx
mov dword [ebp - 0x14], ecx
jl 0x44851f
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x14]
or ecx, edx
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
jle 0x4484fe
lea edi, [eax + 1]
xor eax, eax
cmp ecx, 0x100
jae 0x448533
mov edx, dword [esi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 0x10], ecx
je 0x448549
add ebx, edi
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0xc]
jl 0x4484b8
cmp dword [ebp - 0x28], eax
jne 0x446d47
mov edi, dword [ebp + 0x24]
inc edi
jmp 0x449ff8
cmp ebx, dword [esi + 0x54]
jae 0x448576
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 0x10], ecx
je 0x448576
inc ebx
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x44855b
cmp dword [ebp - 0x28], eax
jne 0x446d47
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
dec ebx
cmp ebx, dword [ebp - 0x20]
jae 0x44858c
jmp 0x4497b5
xor eax, eax
inc eax
cmp dword [ebp - 0x2c], 0
je 0x448627
cmp edi, eax
mov dword [ebp - 4], eax
jl 0x44863c
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x448611
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], edx
jmp 0x44860d
movzx edx, byte [ebx]
sub dword [ebp - 0x24], 6
mov ecx, dword [ebp - 0x24]
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 8], edx
inc ebx
test eax, eax
jg 0x4485f9
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x4485c8
jmp 0x44863c
cmp edi, eax
jl 0x44863c
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
je 0x4497b5
inc eax
cmp eax, edi
jle 0x44862b
cmp edi, dword [ebp - 0xc]
je 0x446d47
xor edx, edx
cmp dword [ebp - 0x20], edx
jne 0x44a01a
cmp dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], ebx
je 0x4486fd
cmp edi, dword [ebp - 0xc]
mov dword [ebp - 4], edi
jge 0x4486dc
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x4486dc
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x4486ca
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 8], 1
mov ecx, edx
mov dword [ebp - 0x14], ecx
jl 0x4486c7
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x14]
or ecx, edx
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
jle 0x4486a6
inc eax
xor edx, edx
cmp dword [ebp - 0x10], ecx
je 0x4486dc
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x448664
cmp dword [ebp - 0x28], edx
jne 0x446d47
mov edi, dword [ebp + 0x24]
inc edi
jmp 0x44a121
cmp ebx, dword [esi + 0x54]
jae 0x448702
movzx eax, byte [ebx]
cmp dword [ebp - 0x10], eax
je 0x448702
inc ebx
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x4486ee
cmp dword [ebp - 0x28], edx
jne 0x446d47
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
dec ebx
cmp ebx, dword [ebp - 0x20]
jae 0x448718
jmp 0x4497b5
xor ecx, ecx
mov ch, byte [edi + 1]
mov dword [ebp - 0x20], edx
mov cl, byte [edi + 2]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], ecx
add edi, 3
jmp 0x4487d0
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp byte [edi], 0x3a
sete al
mov dword [ebp - 0x20], eax
jmp 0x448752
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
inc edi
jmp 0x4487c9
mov ecx, edx
jmp 0x448776
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], edx
inc edi
jmp 0x4487d0
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 0x28], edx
mov al, byte [edi + 2]
mov dword [ebp - 0xc], eax
jmp 0x448752
movzx eax, byte [edi]
sub eax, 0x33
mov ecx, eax
and ecx, edx
mov dword [ebp - 0x20], ecx
movsx ecx, byte [eax + 0x464354]
movsx eax, byte [eax + 0x46435c]
inc edi
test eax, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
jne 0x4487d0
mov dword [ebp - 0xc], connect
movzx eax, byte [edi]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x54]
mov dword [ebp - 8], eax
inc edi
sub eax, ebx
cmp ecx, eax
mov dword [ebp + 0xc], edi
jg 0x4497b5
test ecx, ecx
jle 0x448d06
mov eax, dword [ebp - 0x24]
add eax, 0xfffffffb
cmp dword [ebp - 0x2c], 0
je 0x448b3e
cmp eax, 0xa
ja case.0x44a3ac.13
jmp dword [eax*4 + 0x44a5ce]
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [ebp - 8]
cmp ebx, eax
jae 0x4497b5
test byte [ebp + 0x18], 4
jne 0x448879
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448854
push dword [ebp - 0x2c]
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x4497b5
mov ecx, dword [ebp - 0x18]
jmp 0x448879
mov edx, dword [esi + 0x1c]
sub eax, edx
cmp ebx, eax
ja 0x448879
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x448879
cmp edx, 1
je 0x4497b5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4497b5
mov eax, dword [esi + 0x54]
inc ebx
cmp ebx, eax
jae 0x448891
mov dl, byte [ebx]
and dl, 0xc0
cmp dl, 0x80
jne 0x448891
inc ebx
cmp ebx, dword [esi + 0x54]
jb 0x448881
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448820
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x448908
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, cl
test eax, eax
mov dword [ebp - 0x10], edx
jle 0x448905
movzx ecx, byte [ebx]
sub dword [ebp - 0x1c], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
jmp 0x4488e2
mov ecx, dword [ebp - 0x18]
cmp edx, 0xa
jb 0x4497b5
cmp edx, 0xc
jbe 0x448948
cmp edx, 0xd
je 0x44893d
cmp edx, 0x85
je 0x448948
cmp edx, 0x2027
jbe 0x4497b5
cmp edx, 0x2029
ja 0x4497b5
jmp 0x448948
cmp ebx, dword [ebp - 8]
jae 0x448948
cmp byte [ebx], 0xa
jne 0x448948
inc ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x4488a9
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x4489c3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax*4 + 0x464720]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, cl
test eax, eax
mov dword [ebp - 0x10], edx
jle 0x4489c0
movzx ecx, byte [ebx]
sub dword [ebp - 0x1c], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0x10]
or edx, ecx
inc ebx
jmp 0x44899d
mov ecx, dword [ebp - 0x18]
cmp edx, 0x80
jae 0x4489d8
mov eax, dword [esi + 0x28]
test byte [edx + eax], 4
jne 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448964
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
mov al, byte [ebx]
cmp al, 0x80
jae 0x4497b5
mov edx, dword [esi + 0x28]
movzx eax, al
mov al, byte [eax + edx]
and al, 4
inc ebx
test al, al
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x4489f0
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
mov al, byte [ebx]
cmp al, 0x80
jae 0x448a52
mov edx, dword [esi + 0x28]
movzx eax, al
mov al, byte [eax + edx]
and al, 1
inc ebx
test al, al
jne 0x4497b5
cmp ebx, dword [ebp - 8]
jae 0x448a65
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x448a65
inc ebx
cmp ebx, dword [esi + 0x54]
jb 0x448a57
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448a2f
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
mov al, byte [ebx]
cmp al, 0x80
jae 0x4497b5
mov edx, dword [esi + 0x28]
movzx eax, al
mov al, byte [eax + edx]
and al, 1
inc ebx
test al, al
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448a7d
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
mov al, byte [ebx]
cmp al, 0x80
jae 0x448adf
mov edx, dword [esi + 0x28]
movzx eax, al
mov al, byte [eax + edx]
and al, 0x10
inc ebx
test al, al
jne 0x4497b5
cmp ebx, dword [ebp - 8]
jae 0x448af2
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x448af2
inc ebx
cmp ebx, dword [esi + 0x54]
jb 0x448ae4
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448abc
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
mov al, byte [ebx]
cmp al, 0x80
jae 0x4497b5
mov edx, dword [esi + 0x28]
movzx eax, al
mov al, byte [eax + edx]
and al, 0x10
inc ebx
test al, al
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448b0a
jmp 0x448d06
cmp eax, 0xa
ja case.0x44a3ac.13
jmp dword [eax*4 + 0x44a5fa]
test byte [ebp + 0x18], 4
jne case.0x448b47.7
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448b8b
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x448bb3
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x4497b5
mov ecx, dword [ebp - 0x18]
jmp 0x448bb3
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x448bb3
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x448bb3
cmp eax, 1
je 0x4497b5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4497b5
inc ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448b5f
jmp 0x448d06
add ebx, ecx
jmp 0x448d06
cmp ecx, edx
jl 0x448d06
cmp ebx, dword [ebp - 8]
jae 0x4497b5
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x4497b5
cmp eax, 0xc
jle 0x448c08
cmp eax, 0xd
je 0x448bfd
cmp eax, 0x85
jne 0x4497b5
jmp 0x448c08
cmp ebx, dword [ebp - 8]
jae 0x448c08
cmp byte [ebx], 0xa
jne 0x448c08
inc ebx
inc edx
cmp edx, ecx
jle 0x448bd0
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448c20
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448c4d
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448c7a
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448ca0
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448cc6
jmp 0x448d06
cmp ecx, edx
mov dword [ebp - 4], edx
jl 0x448d06
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je 0x4497b5
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x448cec
cmp ecx, dword [ebp - 0xc]
je 0x446d47
xor edx, edx
cmp dword [ebp - 0x20], edx
jne 0x44a14a
mov eax, dword [ebp - 0x24]
add eax, 0xfffffffb
cmp dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], ebx
je 0x449340
cmp eax, 0xa
ja case.0x44a3ac.13
jmp dword [eax*4 + 0x44a626]
mov eax, dword [ebp - 0xc]
cmp eax, 0x7fffffff
jge 0x448e01
test byte [ebp + 0x18], 4
jne 0x448dce
cmp ecx, eax
mov dword [ebp - 4], ecx
jge 0x449329
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x449329
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x448d89
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x449329
jmp 0x448db8
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x448db8
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x448db8
cmp ecx, 1
je 0x449329
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x449329
jmp 0x448db8
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x448dbe
inc ebx
cmp ebx, dword [esi + 0x54]
jb 0x448db0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x448d5b
jmp 0x449329
cmp ecx, eax
jge 0x449329
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x449329
inc ebx
cmp ebx, eax
jae 0x448df6
mov dl, byte [ebx]
and dl, 0xc0
cmp dl, 0x80
jne 0x448df6
inc ebx
cmp ebx, dword [esi + 0x54]
jb 0x448de6
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x448dd9
jmp 0x449329
test byte [ebp + 0x18], 4
jne 0x448e79
cmp ecx, eax
mov dword [ebp - 4], ecx
jge 0x449329
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x449329
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x448e40
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x449329
jmp 0x448e65
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x448e65
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x448e65
cmp ecx, 1
je 0x449329
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x449329
inc ebx
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x448e12
jmp 0x449329
mov eax, dword [ebp - 0xc]
sub eax, ecx
mov ecx, eax
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jbe 0x448e88
mov ecx, eax
add ebx, ecx
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x448f06
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x448f02
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x448ee1
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0xd
jne 0x448f1d
inc ebx
cmp ebx, dword [esi + 0x54]
jae 0x449329
cmp byte [ebx], 0xa
jne 0x448f4a
inc ebx
jmp 0x448f4a
cmp ecx, 0xa
je 0x448f48
cmp ecx, 0xb
je 0x448f48
cmp ecx, 0xc
je 0x448f48
cmp ecx, 0x85
je 0x448f48
cmp ecx, 0x2028
je 0x448f48
cmp ecx, 0x2029
jne 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x448e9b
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x448fd5
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x448fd1
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x448fb0
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0x100
jae 0x448fea
mov edx, dword [esi + 0x28]
test byte [ecx + edx], 4
jne 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x448f6a
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x449077
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x449073
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x449052
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0x100
jae 0x449329
mov edx, dword [esi + 0x28]
test byte [ecx + edx], 4
je 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x44900c
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x44911d
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x449119
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x4490f8
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0x100
jae 0x449132
mov edx, dword [esi + 0x28]
test byte [ecx + edx], 1
jne 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x4490b2
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x4491bf
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x4491bb
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x44919a
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0x100
jae 0x449329
mov edx, dword [esi + 0x28]
test byte [ecx + edx], 1
je 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x449154
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x449265
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x449261
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x449240
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0x100
jae 0x44927a
mov edx, dword [esi + 0x28]
test byte [ecx + edx], 0x10
jne 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x4491fa
jmp 0x449329
cmp ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jge 0x449329
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449329
movzx ecx, byte [ebx]
cmp ecx, 0xc0
jb 0x449307
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov edi, eax
imul edi, edi, 6
and edx, ecx
mov ecx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x1c], 1
mov ecx, edx
mov dword [ebp - 0x10], ecx
jl 0x449303
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
mov ecx, dword [ebp - 0x10]
or ecx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
jle 0x4492e2
mov edi, dword [ebp + 0xc]
inc eax
cmp ecx, 0x100
jae 0x449329
mov edx, dword [esi + 0x28]
test byte [ecx + edx], 0x10
je 0x449329
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x44929c
cmp dword [ebp - 0x28], 0
jne 0x446d47
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x44a45a
cmp eax, 0xa
ja case.0x44a3ac.13
jmp dword [eax*4 + 0x44a652]
test byte [ebp + 0x18], 4
jne case.0x449349.7
cmp ecx, dword [ebp - 0xc]
mov edi, ecx
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44938e
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x44950c
jmp 0x4493b3
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4493b3
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4493b3
cmp ecx, 1
je 0x44950c
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x44950c
inc ebx
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x449361
jmp 0x44950c
mov eax, dword [ebp - 0xc]
sub eax, ecx
mov ecx, eax
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jbe 0x4493d1
mov ecx, eax
add ebx, ecx
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x44950c
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x449404
inc ebx
cmp ebx, edx
jae 0x44950c
cmp byte [ebx], 0xa
jne 0x44941f
jmp 0x44941e
cmp eax, 0xa
je 0x44941e
cmp eax, 0xb
je 0x44941e
cmp eax, 0xc
je 0x44941e
cmp eax, 0x85
jne 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x4493e4
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
movzx edx, byte [ebx]
mov edi, dword [esi + 0x28]
test byte [edx + edi], 4
jne 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x449436
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
movzx edx, byte [ebx]
mov edi, dword [esi + 0x28]
test byte [edx + edi], 4
je 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x449466
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
movzx edx, byte [ebx]
mov edi, dword [esi + 0x28]
test byte [edx + edi], 1
jne 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x449492
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
movzx edx, byte [ebx]
mov edi, dword [esi + 0x28]
test byte [edx + edi], 1
je 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x4494b3
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
movzx edx, byte [ebx]
mov edi, dword [esi + 0x28]
test byte [edx + edi], 0x10
jne 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x4494d4
jmp 0x44950c
cmp ecx, dword [ebp - 0xc]
jge 0x44950c
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44950c
movzx edx, byte [ebx]
mov edi, dword [esi + 0x28]
test byte [edx + edi], 0x10
je 0x44950c
inc ebx
inc ecx
cmp ecx, dword [ebp - 0xc]
jl 0x4494f5
cmp dword [ebp - 0x28], 0
jne 0x446d47
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
dec ebx
test eax, eax
jne 0x44a479
cmp ebx, dword [ebp - 0x20]
jae 0x449523
jmp 0x4497b5
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea eax, [edi + eax + 3]
cmp byte [eax], 0x4e
mov dword [ebp + 0xc], eax
jne 0x449575
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x4e
je 0x449563
mov dword [ebp + 0xc], eax
mov edi, dword [ebp + 0xc]
add edi, 3
cmp dword [ebp - 0x24], 0x5d
mov dword [ebp + 0xc], edi
jne 0x449630
push 2
pop eax
jmp 0x449632
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
mov dword [ebp - 0x28], eax
add eax, eax
cmp eax, dword [esi + 0x14]
jl 0x4496fd
cmp ecx, 0x5b
jl 0x4495b4
mov dword [ebp + 0x20], 2
jmp 0x4495b8
and dword [ebp + 0x20], 0
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
cmp byte [eax + edi], 0x4e
jne 0x449617
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x464688]
push dword [ebp + 0x1c]
add eax, edi
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp + 0xc], edi
mov al, byte [edi + 2]
cmp byte [eax + edi], 0x4e
je 0x4495d0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x464688]
add dword [ebp + 0xc], eax
or dword [ebp + 0x20], 4
jmp 0x4496db
xor eax, eax
or eax, 4
mov dword [ebp + 0x20], eax
jmp 0x4496db
push 2
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push eax
push dword [ebp - 8]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
mov eax, dword [ebp - 0x14]
jmp 0x4470dd
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [ecx], 0x51
mov dword [ebp + 0x20], eax
jne 0x4496ac
mov eax, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 0x1c]
add eax, 3
push dword [ebp - 0x30]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
mov eax, dword [ebp - 8]
mov dword [ebp + 0xc], eax
jmp 0x449627
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push eax
push dword [ebp + 0x1c]
push dword [ebp - 0x30]
push esi
push dword [ebp + 0x10]
push dword [ebp - 8]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
add dword [ebp + 0xc], 3
mov dword [ebp + 0x20], 4
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x446cf3
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x44a478
push 0xffffffffffffffeb
jmp 0x44a478
push 0xffffffffffffffea
jmp 0x44a478
mov edi, eax
mov eax, dword [esi + 0xc]
shl edi, 2
mov ecx, dword [eax + edi]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + edi + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x28]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 0x64]
mov dword [ebp + 0x14], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x50]
cmp dword [ebp - 0x24], 0x5c
mov dword [eax], ecx
jne 0x44973c
mov dword [ebp + 0x20], 2
jmp 0x449740
and dword [ebp + 0x20], 0
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x20]
movzx ecx, byte [eax]
push dword [ebp + 0x1c]
movzx ecx, byte [ecx + 0x464688]
push dword [ebp + 0x18]
add ecx, eax
push esi
push dword [ebp + 0x10]
push ecx
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
mov eax, dword [ebp + 0x14]
mov dword [esi + 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], 0x4e
mov dword [ebp + 0xc], eax
je 0x449747
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword [edi + eax], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x1c]
mov dword [edi + eax + 4], ecx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edx
xor eax, eax
jmp 0x44a479
cmp dword [esi + 0x40], 0
je 0x4497c7
cmp ebx, dword [esi + 0x58]
je 0x4497b5
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
xor eax, eax
inc eax
jmp 0x44a479
mov eax, dword [esi + 0x4c]
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add ecx, eax
cmp ecx, eax
mov dword [ebp + 0x14], ecx
jne 0x4497f2
and dword [ebp - 0x44], 0
jmp 0x4497fd
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
add edi, 3
cmp eax, 0x1e
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x34], eax
jg 0x449825
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x38], ecx
jmp 0x449841
shl eax, 2
push eax
call dword [0x4710e8]
test eax, eax
pop ecx
mov dword [ebp - 0x38], eax
jne 0x44983e
push 0xfffffffffffffffa
jmp 0x44a478
mov eax, dword [ebp - 0x34]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp - 0x38]
call fcn.0044dc10
mov eax, dword [esi + 0x58]
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov dword [esi + 0x58], ebx
mov al, byte [eax]
cmp al, 0x5b
sbb edi, edi
and edi, 0xfffffffe
inc edi
inc edi
inc ecx
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x18]
movzx eax, al
movzx eax, byte [eax + 0x464688]
add eax, dword [ebp + 0x14]
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446cd6
add esp, 0x20
cmp eax, 1
je 0x4498f8
test eax, eax
jne 0x44a479
lea eax, [ebp - 0x48]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x34]
shl eax, 2
push eax
push dword [ebp - 0x38]
push dword [esi + 0xc]
call fcn.0044dc10
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x14], eax
mov al, byte [eax]
cmp al, 0x4e
je 0x449871
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xf8]
cmp dword [ebp - 0x38], eax
je 0x4497b5
push dword [ebp - 0x38]
call dword [0x4710ec]
pop ecx
jmp 0x4497b5
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xf8]
cmp dword [ebp - 0x38], eax
je 0x4497d0
push dword [ebp - 0x38]
call dword [0x4710ec]
pop ecx
jmp 0x4497d0
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x60], eax
mov dword [esi + 0x5c], ebx
mov eax, edx
jmp 0x44a479
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 4], eax
jge 0x4497b5
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
push ebx
mov ecx, esi
call fcn.00446c78
test eax, eax
pop ecx
pop ecx
je 0x4497b5
add ebx, dword [ebp - 0x24]
inc dword [ebp - 4]
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44992c
jmp 0x44a479
cmp eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov edi, eax
jge 0x4499ae
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
push ebx
mov ecx, esi
call fcn.00446c78
test eax, eax
pop ecx
pop ecx
je 0x4499a5
add ebx, dword [ebp - 0x24]
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x449985
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
sub ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x20]
jae 0x4499b2
jmp 0x4497b5
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edi, byte [ebx]
inc ebx
cmp edi, 0xc0
jb 0x449a3e
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov ecx, eax
imul ecx, ecx, 6
and edx, edi
shl edx, cl
test eax, eax
mov edi, edx
jle 0x449a3e
jmp 0x449a28
mov ecx, dword [ebp + 0x14]
movzx edx, byte [ebx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
mov dword [ebp + 0x14], ecx
or edi, edx
inc ebx
test eax, eax
jg 0x449a25
cmp edi, 0xff
jbe 0x449a4c
cmp dword [ebp - 0x24], 0x48
jmp 0x449a61
xor eax, eax
mov ecx, edi
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [ebp - 8]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, al
je 0x4497b5
push dword [ebp - 0x18]
inc dword [ebp - 4]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x4499e0
jmp 0x44a479
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx edi, byte [ebx]
xor eax, eax
mov ecx, edi
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [ebp - 8]
shr edi, 3
mov cl, byte [edi + ecx]
inc ebx
test cl, al
je 0x4497b5
push dword [ebp - 0x18]
inc dword [ebp - 4]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449a92
jmp 0x44a479
cmp dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], ebx
je 0x449bd7
mov dword [ebp - 4], eax
jmp 0x449b8f
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x54]
jae 0x449b98
movzx edi, byte [ebx]
cmp edi, 0xc0
jb 0x449b62
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov ecx, eax
imul ecx, ecx, 6
and edx, edi
shl edx, cl
cmp eax, 1
mov dword [ebp - 0x14], eax
mov dword [ebp + 0x14], 1
mov edi, edx
jl 0x449b61
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + ebx]
and eax, 0x3f
sub ecx, 6
shl eax, cl
or edi, eax
inc dword [ebp + 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 0x14], eax
jle 0x449b45
inc eax
cmp edi, 0xff
jbe 0x449b70
cmp dword [ebp - 0x24], 0x48
jmp 0x449b85
xor edx, edx
mov ecx, edi
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 8]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, dl
je 0x449b98
add ebx, eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x449b01
mov edi, dword [ebp + 0x24]
inc edi
jmp 0x449bb5
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x20]
je 0x4497b5
jmp 0x449bad
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x449bac
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449b9e
jmp 0x44a479
cmp eax, dword [ebp - 0xc]
jge 0x449c0b
cmp ebx, dword [esi + 0x54]
jae 0x449c02
movzx edi, byte [ebx]
xor edx, edx
mov ecx, edi
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 8]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, dl
je 0x449c02
inc ebx
inc eax
cmp eax, dword [ebp - 0xc]
jl 0x449bdc
cmp ebx, dword [ebp - 0x20]
jb 0x4497b5
mov edi, dword [ebp + 0x24]
inc edi
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
jne 0x44a479
dec ebx
cmp ebx, dword [ebp - 0x20]
jae 0x449c0f
jmp 0x4497b5
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 4], eax
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
mov dword [ebp - 0x10], eax
jb 0x449c99
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
and edx, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0x10], edx
jmp 0x449c95
movzx edx, byte [ebx]
sub dword [ebp + 0x14], 6
mov ecx, dword [ebp + 0x14]
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 0x10], edx
inc ebx
test eax, eax
jg 0x449c81
push dword [ebp - 8]
push dword [ebp - 0x10]
call fcn.0044b270
test eax, eax
pop ecx
pop ecx
je 0x4497b5
inc dword [ebp - 4]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449c3b
jmp 0x44a479
cmp eax, ecx
mov dword [ebp - 0x20], ebx
jge 0x449d5a
xor edi, edi
inc edi
cmp ebx, dword [esi + 0x54]
jae 0x449d5a
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp - 0x10], eax
jb 0x449d3c
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
and edx, dword [ebp - 0x10]
mov edi, eax
imul edi, edi, 6
mov ecx, edi
shl edx, cl
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp + 0x14], ecx
jl 0x449d39
mov ecx, dword [ebp + 0x14]
movzx edx, byte [ecx + ebx]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
or dword [ebp - 0x10], edx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], eax
jle 0x449d1d
lea edi, [eax + 1]
push dword [ebp - 8]
push dword [ebp - 0x10]
call fcn.0044b270
test eax, eax
pop ecx
pop ecx
je 0x449d5a
add ebx, edi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jl 0x449cde
mov edi, dword [ebp + 0x24]
inc edi
jmp 0x449d77
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x20]
je 0x4497b5
jmp 0x449d6f
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x449d6e
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449d60
jmp 0x44a479
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], eax
push eax
jmp 0x449dd9
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 4], eax
jge 0x4497b5
mov eax, dword [ebp + 0x14]
cmp ebx, dword [eax + 0x54]
jae 0x4497b5
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4497b5
add ebx, dword [ebp - 0x24]
inc dword [ebp - 4]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449da6
jmp 0x44a479
cmp ebx, dword [ebp - 0x20]
je 0x4497b5
sub ebx, dword [ebp - 0x24]
push esi
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
cmp eax, edi
je 0x449dfc
jmp 0x44a479
mov eax, dword [ebp + 0x24]
inc eax
push eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], eax
push ecx
jmp 0x449e6a
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 4], eax
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x4497b5
push dword [ebp - 0x18]
inc dword [ebp - 4]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449e39
jmp 0x44a479
mov eax, dword [ebp + 0x24]
inc eax
push eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], eax
push ecx
jmp 0x449ebf
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 4], eax
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x4497b5
push dword [ebp - 0x18]
inc dword [ebp - 4]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449e95
jmp 0x44a479
cmp dword [ebp - 0x2c], eax
mov dword [ebp - 4], edi
je 0x449f8d
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x449f68
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x449f36
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x464738]
mov edx, dword [edi*4 + 0x464720]
mov ecx, edi
imul ecx, ecx, 6
and edx, eax
shl edx, cl
mov eax, edx
jmp 0x449f2f
movzx edx, byte [ebx]
mov eax, dword [ebp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec edi
or eax, edx
inc ebx
test edi, edi
mov dword [ebp + 0x14], eax
jg 0x449f1d
cmp eax, 0x100
jae 0x449f44
mov ecx, dword [esi + 0x24]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0xc]
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
cmp dword [ebp - 0x10], eax
je 0x4497b5
inc dword [ebp - 4]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449ef2
jmp 0x44a479
mov edi, dword [ebp + 0x24]
inc edi
jmp 0x449fbf
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x4497b5
inc dword [ebp - 4]
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449f93
jmp 0x44a479
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x20]
je 0x4497b5
jmp 0x449ff0
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x449fef
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x449fe1
jmp 0x44a479
cmp dword [ebp - 0x2c], edx
mov dword [ebp - 4], edi
je 0x44a0bd
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x44a098
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x44a074
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x464738]
mov edx, dword [edi*4 + 0x464720]
mov ecx, edi
imul ecx, ecx, 6
and edx, eax
shl edx, cl
mov eax, edx
jmp 0x44a06d
movzx edx, byte [ebx]
mov eax, dword [ebp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec edi
or eax, edx
inc ebx
test edi, edi
mov dword [ebp + 0x14], eax
jg 0x44a05b
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0xc]
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
cmp dword [ebp - 0x10], eax
je 0x4497b5
inc dword [ebp - 4]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44a030
jmp 0x44a479
mov edi, dword [ebp + 0x24]
inc edi
jmp 0x44a0e8
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jge 0x4497b5
cmp ebx, dword [esi + 0x54]
jae 0x4497b5
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x4497b5
inc dword [ebp - 4]
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44a0c3
jmp 0x44a479
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x20]
je 0x4497b5
jmp 0x44a119
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x44a118
push edi
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44a10a
jmp 0x44a479
push 0xfffffffffffffff2
jmp 0x44a478
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x24]
inc eax
cmp dword [ebp - 0x2c], edx
push eax
push edx
push dword [ebp + 0x1c]
mov dword [ebp - 0x18], eax
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
je 0x44a42e
jmp 0x44a320
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jge 0x4497b5
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4497b5
cmp dword [ebp - 0x24], 0xb
jne 0x44a1de
test byte [ebp + 0x18], 4
jne 0x44a1de
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44a1b9
push dword [ebp - 0x2c]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x4497b5
jmp 0x44a1de
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44a1de
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44a1de
cmp ecx, 1
je 0x4497b5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4497b5
movzx edi, byte [ebx]
inc ebx
cmp edi, 0xc0
jb 0x44a227
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x464738]
mov edx, dword [eax*4 + 0x464720]
mov ecx, eax
imul ecx, ecx, 6
and edx, edi
shl edx, cl
test eax, eax
mov edi, edx
jle 0x44a227
jmp 0x44a211
mov ecx, dword [ebp + 0x14]
movzx edx, byte [ebx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
mov dword [ebp + 0x14], ecx
or edi, edx
inc ebx
test eax, eax
jg 0x44a20e
mov eax, dword [ebp - 0x24]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x44a3ac.13
jmp dword [eax*4 + 0x44a67e]
cmp edi, 0xa
jb 0x4497b5
cmp edi, 0xc
jbe case.0x44a236.11
cmp edi, 0xd
je 0x44a27d
cmp edi, 0x85
je case.0x44a236.11
cmp edi, 0x2027
jbe 0x4497b5
cmp edi, 0x2029
ja 0x4497b5
jmp case.0x44a236.11
cmp ebx, dword [esi + 0x54]
jae case.0x44a236.11
cmp byte [ebx], 0xa
jne case.0x44a236.11
inc ebx
jmp case.0x44a236.11
cmp edi, 0x100
jae case.0x44a236.11
mov eax, dword [esi + 0x28]
test byte [edi + eax], 4
jne 0x4497b5
jmp case.0x44a236.11
cmp edi, 0x100
jae 0x4497b5
mov eax, dword [esi + 0x28]
test byte [edi + eax], 4
jmp 0x44a304
cmp edi, 0x100
jae case.0x44a236.11
mov eax, dword [esi + 0x28]
test byte [edi + eax], 1
jmp 0x44a29d
cmp edi, 0x100
jae 0x4497b5
mov eax, dword [esi + 0x28]
test byte [edi + eax], 1
jmp 0x44a304
cmp edi, 0x100
jae case.0x44a236.11
mov eax, dword [esi + 0x28]
test byte [edi + eax], 0x10
jmp 0x44a29d
cmp edi, 0x100
jae 0x4497b5
mov eax, dword [esi + 0x28]
test byte [edi + eax], 0x10
je 0x4497b5
push dword [ebp - 0x18]
inc dword [ebp - 4]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44a173
jmp 0x44a479
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 4], eax
jge 0x4497b5
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4497b5
test byte [ebp + 0x18], 4
jne 0x44a399
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44a374
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0044ae84
add esp, 0x14
test eax, eax
jne 0x4497b5
jmp 0x44a399
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44a399
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44a399
cmp ecx, 1
je 0x4497b5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x4497b5
mov ecx, dword [ebp - 0x24]
movzx eax, byte [ebx]
add ecx, 0xfffffffb
inc ebx
cmp ecx, 0xa
ja case.0x44a3ac.13
jmp dword [ecx*4 + 0x44a6aa]
cmp eax, 0xa
jb 0x4497b5
cmp eax, 0xc
jbe case.0x44a3ac.11
cmp eax, 0xd
je 0x44a3cd
cmp eax, 0x85
jmp 0x44a3e1
cmp ebx, dword [esi + 0x54]
jae case.0x44a3ac.11
cmp byte [ebx], 0xa
jne case.0x44a3ac.11
inc ebx
jmp case.0x44a3ac.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jne 0x4497b5
jmp case.0x44a3ac.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x44a414
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44a3e1
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44a414
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44a3e1
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x4497b5
push dword [ebp - 0x18]
inc dword [ebp - 4]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44a335
jmp 0x44a479
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x20]
je 0x4497b5
jmp 0x44a44f
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x44a44e
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446cd6
add esp, 0x20
test eax, eax
je 0x44a440
jmp 0x44a479
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret