Function at 0x4484cc
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 0x44b654
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44b65d
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x448518
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 0x44853f
cmp esi, dword [edi + 0x54]
jb 0x44853f
cmp esi, dword [ebp + 0x10]
jbe 0x44853f
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x44854f.14
movzx eax, byte [ecx + 0x44c854]
jmp dword [eax*4 + 0x44c740]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x44858a
mov eax, dword [edi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x44857c
cmp ecx, 0xffff
je 0x4485a6
cmp ecx, dword [eax + 4]
je 0x4485a6
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x448602
cmp cl, 0x63
jne 0x4485ae
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x44857c
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x44857c
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x448586
cmp cl, 0x65
jne 0x4485bf
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x44860a
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.004484cc
add esp, 0x24
cmp eax, 1
je 0x44b4ae
test eax, eax
je 0x4485f4
cmp eax, 0xfffffc1c
jne 0x44c73a
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 0x44b4d9
cmp byte [ebx], 0x53
je 0x44b4d9
jmp 0x44873f
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x44b869
cmp dword [ebx + 4], 0
jne 0x44b869
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.00451350
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 0x448518
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x448742
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.004484cc
add esp, 0x24
cmp eax, 1
je 0x4486b7
test eax, eax
je 0x4486a8
cmp eax, 0xfffffc1c
jne 0x44c73a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448676
cmp byte [ebx], 0x54
je case.0x44854f.108
test byte [ebp + 0x24], 1
jne 0x44b887
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4486ca
mov eax, dword [edi + 0x60]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x448518
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.004484cc
add esp, 0x24
cmp eax, 1
je case.0x44854f.108
test eax, eax
je 0x448726
cmp eax, 0xfffffc1c
jne 0x44c73a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4486f4
test byte [ebp + 0x24], 1
jne 0x44b887
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x448518
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x44877c
cmp eax, edx
jle 0x44873f
mov ecx, dword [edi + 0x50]
dec eax
dec esi
cmp esi, ecx
jae 0x44876c
xor eax, eax
jmp 0x44c73a
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x44876b
test eax, eax
jg 0x44875e
jmp 0x44873f
sub esi, eax
cmp esi, dword [edi + 0x50]
jb case.0x44854f.108
jmp 0x44873f
mov ecx, dword [0x473ac0]
cmp ecx, edx
je 0x448802
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.0x44854f.108
jl 0x44c73a
add ebx, 6
jmp 0x448742
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.004484cc
add esp, 0x24
cmp eax, 1
je 0x44885c
test eax, eax
je 0x44884d
cmp eax, 0xfffffc1c
jne 0x44c73a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44881a
mov al, byte [ebx]
cmp al, 0x5c
je 0x44886a
cmp al, 0x53
jne case.0x44854f.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44886a
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x60]
mov esi, dword [edi + 0x5c]
mov dword [ebp + 0x14], eax
je 0x44873f
cmp esi, dword [ebp - 0x1c]
je 0x44873f
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x4488ae
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 0x44b597
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44b63f
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x44854f.83
jmp 0x448742
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448926
jmp 0x44873f
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 0x44893d
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
jmp 0x448742
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 0x448998
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 0x44b9f2
cmp al, 0x58
je 0x44b9f2
cmp al, 0x59
je 0x44b9f2
cmp al, 0x5a
je 0x44b9f2
cmp al, 0x5c
je 0x44b9f2
cmp al, 0x5e
je 0x4489d2
cmp al, 0x61
jne 0x448a56
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 0x4489f1
mov dword [edi + 0x2c], 1
jmp 0x448a19
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 0x448a19
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x448a56
cmp dword [ebx + 4], edx
jne 0x448a56
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.0044fd80
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x448518
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x448a6d
cmp esi, dword [ebp - 0x1c]
jne 0x44b5c0
add eax, 3
jmp 0x448656
cmp dword [edi + 0x30], edx
je 0x448a83
cmp esi, dword [edi + 0x50]
je case.0x44854f.108
test byte [ebp + 0x1c], 2
je case.0x44854f.1
mov ecx, dword [edi + 0x50]
cmp esi, ecx
je 0x448af1
cmp esi, dword [edi + 0x54]
je case.0x44854f.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x448ac4
cmp esi, ecx
jbe case.0x44854f.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044d2e5
add esp, 0x14
test eax, eax
je case.0x44854f.108
jmp 0x448af1
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x44854f.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x44854f.108
cmp eax, 1
je 0x448af1
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x44854f.108
inc ebx
jmp 0x448742
cmp esi, dword [edi + 0x50]
jmp 0x448aeb
mov eax, dword [edi + 0x68]
add eax, dword [edi + 0x50]
cmp esi, eax
jmp 0x448aeb
mov dword [ebp + 0x10], esi
jmp 0x448af1
test byte [ebp + 0x1c], 2
je 0x448b57
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x448b52
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448b30
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
jmp 0x448ab7
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x44854f.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44854f.108
cmp ecx, 1
je 0x448af1
mov al, byte [esi + 1]
jmp 0x448ae8
cmp dword [edi + 0x34], edx
jmp 0x448aeb
cmp dword [edi + 0x34], edx
jne case.0x44854f.108
cmp dword [edi + 0x3c], edx
jne case.0x44854f.23
mov eax, dword [edi + 0x54]
cmp esi, eax
je 0x448bcf
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448b97
cmp esi, eax
jae case.0x44854f.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
je case.0x44854f.108
jmp 0x448bc2
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x44854f.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44854f.108
cmp ecx, 1
je 0x448bc2
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x44854f.108
mov eax, dword [edi + 0x54]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x44854f.108
inc dword [ebp + 0xc]
jmp 0x448518
cmp esi, dword [edi + 0x54]
jb case.0x44854f.108
jmp 0x448af1
cmp dword [ebp - 0x18], edx
je 0x448cfa
cmp esi, dword [edi + 0x50]
jne 0x448bfb
mov dword [ebp + 0x18], edx
jmp 0x448c84
lea eax, [esi - 1]
jmp 0x448c01
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x448c00
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x448c66
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x4669c0]
mov ecx, ebx
imul ecx, ecx, 6
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebx*4 + 0x4669a4]
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 0x448c63
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 0x448c45
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x448c80
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x448c80
mov dword [ebp + 0x18], 1
jmp 0x448c84
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x54]
jb 0x448c8d
xor eax, eax
jmp 0x448cf6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x448cdb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x448cdb
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 0x448cc2
cmp edx, 0x100
jae 0x448cf1
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x448cf1
xor eax, eax
inc eax
jmp 0x448cf3
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x448d2e
cmp esi, dword [edi + 0x50]
je 0x448d13
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x448d16
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x54]
jae 0x448d2c
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x448d2c
xor eax, eax
inc eax
jmp 0x448d2e
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x448d43
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x448d4b
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x448518
jmp case.0x44854f.108
test byte [ebp + 0x1c], 4
jne 0x448db2
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448d8a
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x448db2
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne case.0x44854f.108
jmp 0x448db2
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x54]
sub ecx, eax
cmp esi, ecx
ja 0x448db2
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x448db2
cmp eax, 1
je case.0x44854f.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44854f.108
mov eax, dword [edi + 0x54]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x44854f.108
cmp dword [ebp - 0x18], 0
je 0x448af1
cmp esi, eax
jae 0x448af1
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x448af1
inc esi
cmp esi, dword [edi + 0x54]
jb 0x448dd2
jmp 0x448af1
mov eax, esi
inc esi
cmp eax, dword [edi + 0x54]
jae case.0x44854f.108
jmp 0x448af1
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448e4e
cmp edx, 0xc0
jb 0x448e4e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448e47
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 0x448e35
cmp edx, 0x100
jae 0x448bcf
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x448bc9
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448eba
cmp edx, 0xc0
jb 0x448eba
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448eb3
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 0x448ea1
cmp edx, 0x100
jae case.0x44854f.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x44854f.108
jmp 0x448bcf
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448f2c
cmp edx, 0xc0
jb 0x448f2c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448f25
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 0x448f13
cmp edx, 0x100
jae 0x448bcf
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x448bc9
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448f98
cmp edx, 0xc0
jb 0x448f98
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448f91
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 0x448f7f
cmp edx, 0x100
jae case.0x44854f.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x448ecd
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449004
cmp edx, 0xc0
jb 0x449004
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448ffd
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 0x448feb
cmp edx, 0x100
jae 0x448bcf
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x448bc9
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449070
cmp edx, 0xc0
jb 0x449070
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449069
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 0x449057
cmp edx, 0x100
jae case.0x44854f.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x448ecd
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4490dc
cmp edx, 0xc0
jb 0x4490dc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4490d5
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 0x4490c3
cmp edx, 0xa
jb case.0x44854f.108
cmp edx, 0xc
jbe 0x448bcf
cmp edx, 0xd
je 0x44911c
cmp edx, 0x85
je 0x448bcf
cmp edx, 0x2027
jbe case.0x44854f.108
cmp edx, 0x2029
ja case.0x44854f.108
jmp 0x448bcf
cmp esi, dword [edi + 0x54]
jae 0x448bcf
cmp byte [esi], 0xa
jne 0x448bcf
inc esi
jmp 0x448bcf
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44918a
cmp eax, 0xc0
jb 0x44918a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44918a
jmp 0x449174
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 0x449171
mov ecx, 0x180e
cmp eax, ecx
ja 0x4491c0
je case.0x44854f.108
cmp eax, 9
je case.0x44854f.108
cmp eax, 0x20
je case.0x44854f.108
cmp eax, 0xa0
je case.0x44854f.108
cmp eax, 0x1680
jmp 0x448ecd
cmp eax, 0x2000
jb 0x448bcf
cmp eax, 0x200a
jbe case.0x44854f.108
cmp eax, 0x202f
je case.0x44854f.108
cmp eax, 0x205f
je case.0x44854f.108
cmp eax, 0x3000
jmp 0x448ecd
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44924c
cmp eax, 0xc0
jb 0x44924c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44924c
jmp 0x449236
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 0x449233
mov ecx, 0x180e
cmp eax, ecx
ja 0x449282
je 0x448bcf
cmp eax, 9
je 0x448bcf
cmp eax, 0x20
je 0x448bcf
cmp eax, 0xa0
je 0x448bcf
cmp eax, 0x1680
jmp 0x448bc9
cmp eax, 0x2000
jb case.0x44854f.108
cmp eax, 0x200a
jbe 0x448bcf
cmp eax, 0x202f
je 0x448bcf
cmp eax, 0x205f
je 0x448bcf
cmp eax, 0x3000
jmp 0x448bc9
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44930c
cmp edx, 0xc0
jb 0x44930c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449305
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 0x4492f3
cmp edx, 0xa
jb 0x448bcf
cmp edx, 0xd
jbe case.0x44854f.108
cmp edx, 0x85
je case.0x44854f.108
cmp edx, 0x2027
jbe 0x448bcf
cmp edx, 0x2029
jbe case.0x44854f.108
jmp 0x448bcf
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44939b
cmp edx, 0xc0
jb 0x44939b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449394
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 0x449382
cmp edx, 0xa
jb case.0x44854f.108
cmp edx, 0xd
jbe 0x448bcf
jmp 0x4490f3
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 0x4493dd
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x4493dd
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x4493e3
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 0x4494b8
cmp al, 0x4a
jbe 0x449432
cmp al, 0x4c
ja 0x4494b8
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 0x44942a
mov dword [ebp - 4], SysReAllocString
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x44945f
movzx eax, al
movsx ebx, byte [eax + 0x466593]
sub eax, 0x45
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x4665e0]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44945f
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x10], 0
je 0x448518
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x449499
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044846e
test eax, eax
pop ecx
pop ecx
je case.0x44854f.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x449473
cmp ebx, dword [ebp - 4]
je 0x448518
cmp dword [ebp - 0x24], 0
je 0x44ba4f
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ba2a
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.0044846e
test eax, eax
pop ecx
pop ecx
je case.0x44854f.108
add esi, ebx
jmp 0x448518
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 0x449556
cmp al, 0x4a
jbe 0x449523
cmp al, 0x4c
ja 0x449556
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 0x44951b
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44955f
movzx eax, al
movsx edx, byte [eax + 0x466593]
sub eax, 0x45
mov ecx, eax
movsx eax, byte [eax + 0x4665e0]
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 0x44955f
mov dword [ebp - 4], SysReAllocString
jmp 0x44955f
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 0x449604
cmp edx, eax
jl 0x44963b
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x4495cb
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x4495c8
jmp 0x4495b2
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 0x4495af
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x4495d8
cmp dword [ebp - 8], 0x4d
jmp 0x4495ed
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.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449577
mov ebx, dword [ebp + 0xc]
jmp 0x44963b
cmp edx, eax
jl 0x44963b
cmp esi, dword [edi + 0x54]
jae case.0x44854f.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.0x44854f.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x449608
cmp edx, dword [ebp - 4]
je 0x448518
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44bbca
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44bb68
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 0x44bb52
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 0x4496ff
cmp al, 0x4a
jbe 0x4496cc
cmp al, 0x4c
ja 0x4496ff
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 0x4496c4
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x449708
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x24], ecx
movsx ecx, byte [eax + 0x4665d8]
movsx eax, byte [eax + 0x4665e0]
inc ebx
cmp eax, edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
jne 0x449708
mov dword [ebp - 4], SysReAllocString
jmp 0x449708
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 0x449783
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44975e
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov edx, dword [eax*4 + 0x4669a4]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44975a
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 0x44974a
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044d5fa
test eax, eax
pop ecx
pop ecx
je case.0x44854f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449713
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x448518
cmp dword [ebp - 0x24], edx
je 0x44bdc9
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 0x44bdb3
cmp dword [ebp - 0x18], edx
je 0x449803
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x4497d9
and eax, 0x3f
movzx ecx, byte [eax + 0x4669c0]
inc ecx
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ecx, eax
jg case.0x44854f.108
jmp 0x4497fa
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x44854f.108
test ecx, ecx
jg 0x4497e8
jmp 0x448518
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x44854f.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x44854f.108
jmp 0x448665
cmp dword [ebp - 0x18], edx
je 0x449917
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 0x449898
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44988e
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 0x449871
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.0x44854f.108
cmp dword [ebp - 8], 0x80
jae 0x4498c4
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 0x448d4f
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x449906
and eax, 0x3f
movzx edx, byte [eax + 0x4669c0]
mov eax, dword [edx*4 + 0x4669a4]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x449902
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 0x4498f2
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x448d4f
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x44854f.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 0x449817
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 0x4499cb
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 0x449949
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x4499c4
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44997e
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x4499cb
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx ebx, byte [eax + 0x4665ba]
sub eax, 0x1e
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x4665e0]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x4499cb
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x18], 0
je 0x449ae7
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 0x449a49
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x4669a4]
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 0x449a45
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 0x449a22
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.0x44854f.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x449b03
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x449a96
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044e55c
add esp, 0xc
test eax, eax
jne case.0x44854f.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x449a74
cmp ebx, dword [ebp - 4]
je 0x448518
cmp dword [ebp - 0x24], 0
jne 0x44be8e
mov dword [ebp - 0x14], esi
jmp 0x449acf
mov eax, dword [edi + 0x54]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x449ad4
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044e55c
add esp, 0xc
test eax, eax
jne 0x449ad4
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449aae
cmp dword [ebp - 0x1c], 0
jne 0x448518
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44befa
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ebx, eax
jg case.0x44854f.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 0x449ba9
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x449b33
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x44854f.108
inc eax
cmp eax, ebx
jle 0x449b1d
cmp ebx, dword [ebp - 4]
je 0x448518
cmp dword [ebp - 0x24], 0
jne 0x44bf1f
mov dword [ebp - 0x14], esi
jmp 0x449b5e
cmp esi, dword [edi + 0x54]
jae 0x449b63
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x449b63
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449b4b
cmp dword [ebp - 0x1c], 0
jne 0x448518
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
dec esi
test eax, eax
jne 0x44c73a
cmp esi, dword [ebp - 0x14]
jae 0x449b7a
jmp case.0x44854f.108
cmp ebx, edx
mov ecx, edx
jl 0x449bc0
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x44854f.108
inc ecx
cmp ecx, ebx
jle 0x449baf
cmp ebx, dword [ebp - 4]
je 0x448518
cmp dword [ebp - 0x24], 0
jne 0x44bf79
mov dword [ebp - 0x14], esi
jmp 0x449be7
cmp esi, dword [edi + 0x54]
jae 0x449bec
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x449bec
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449bd8
cmp dword [ebp - 0x1c], 0
jne 0x448518
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
dec esi
test eax, eax
jne 0x44c73a
cmp esi, dword [ebp - 0x14]
jae 0x449c03
jmp case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x449c8a
cmp edx, 0xc0
jb 0x449c8a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449c83
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 0x449c71
test byte [ebp + 0x1c], 1
je 0x449cbc
cmp edx, 0x100
jae 0x449c9f
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 0x448518
jmp case.0x44854f.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x449cac
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x449d51
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 0x449ccf
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x449d4a
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x449cf7
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x449d51
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 0x449ccf
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x4665ad]
sub eax, 0x2b
mov ecx, eax
movsx eax, byte [eax + 0x4665e0]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x449d51
mov dword [ebp - 4], SysReAllocString
mov eax, dword [edi + 0x54]
sub eax, esi
cmp edx, eax
jg case.0x44854f.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x449f49
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x449e0c
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x449e2f
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x449de7
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x4669a4]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x449de0
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 0x449dc6
cmp ebx, 0x100
jae 0x449df6
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449d94
mov ebx, dword [ebp + 0xc]
jmp 0x449e2f
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x449e2f
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449e16
cmp edx, dword [ebp - 4]
je 0x448518
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44bfcc
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x449eff
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x449ed2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x449ed2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x449eb1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x449ead
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 0x449e94
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x449ec0
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x449ed2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x449e57
cmp dword [ebp - 0x1c], 0
jne 0x448518
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44c106
cmp esi, dword [edi + 0x54]
jae 0x449f04
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x449f04
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x449ee9
cmp dword [ebp - 0x1c], ecx
jne 0x448518
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x449f1a
jmp case.0x44854f.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x449fc2
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x449fd8
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x449fac
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x4669a4]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x449fa5
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 0x449f8b
cmp dword [ebp - 8], ebx
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449f59
mov ebx, dword [ebp + 0xc]
jmp 0x449fd8
cmp edx, eax
jl 0x449fd8
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44854f.108
inc eax
cmp eax, edx
jle 0x449fc6
cmp edx, dword [ebp - 4]
je 0x448518
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44c128
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44a098
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44a072
jmp 0x44a004
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a072
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a05e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44a05a
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 0x44a041
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44a070
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a002
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x448518
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44c24c
cmp esi, dword [edi + 0x54]
jae 0x44a09d
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x44a09d
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a089
cmp dword [ebp - 0x1c], ecx
jne 0x448518
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44a0b3
jmp case.0x44854f.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 0x44a19b
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 0x44a198
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], SysReAllocString
inc ebx
jmp 0x44a11e
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x44a12e
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44a135
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 0x44a11b
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x4665a0]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x4665e0]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x44a198
mov dword [ebp - 4], SysReAllocString
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.0x44854f.108
test edx, edx
jle 0x44aa60
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x44a7b3
cmp ecx, 0xe
ja case.0x44c60b.14
jmp dword [ecx*4 + 0x44c8c4]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x44854f.108
test byte [ebp + 0x1c], 4
jne 0x44a241
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44a21d
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne case.0x44854f.108
inc eax
jmp 0x44a241
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44a241
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44a241
cmp edx, eax
je case.0x44854f.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44854f.108
mov ecx, dword [edi + 0x54]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x44a25c
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44a25c
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a24c
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44a1e8
mov edx, dword [ebp - 0x14]
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44a2c8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a2c1
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 0x44a2af
cmp edx, 0xa
jb case.0x44854f.108
cmp edx, 0xc
jbe 0x44a308
cmp edx, 0xd
je 0x44a2fd
cmp edx, 0x85
je 0x44a308
cmp edx, 0x2027
jbe case.0x44854f.108
cmp edx, 0x2029
ja case.0x44854f.108
jmp 0x44a308
cmp esi, dword [ebp - 0x10]
jae 0x44a308
cmp byte [esi], 0xa
jne 0x44a308
inc esi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a27a
mov ebx, dword [ebp + 0xc]
jmp 0x44a267
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44a37b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44a37b
jmp 0x44a365
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 0x44a362
mov ecx, 0x180e
cmp eax, ecx
ja 0x44a3ae
je case.0x44854f.108
cmp eax, 9
je case.0x44854f.108
cmp eax, 0x20
je case.0x44854f.108
cmp eax, 0xa0
je case.0x44854f.108
cmp eax, 0x1680
jmp 0x44a3db
cmp eax, 0x2000
jb 0x44a3e1
cmp eax, 0x200a
jbe case.0x44854f.108
cmp eax, 0x202f
je case.0x44854f.108
cmp eax, 0x205f
je case.0x44854f.108
cmp eax, 0x3000
je case.0x44854f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a32a
jmp 0x44a317
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44a451
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44a451
jmp 0x44a43b
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 0x44a438
mov ecx, 0x180e
cmp eax, ecx
ja 0x44a474
je 0x44a49f
cmp eax, 9
je 0x44a49f
cmp eax, 0x20
je 0x44a49f
cmp eax, 0xa0
je 0x44a49f
cmp eax, 0x1680
jmp 0x44a499
cmp eax, 0x2000
jb case.0x44854f.108
cmp eax, 0x200a
jbe 0x44a49f
cmp eax, 0x202f
je 0x44a49f
cmp eax, 0x205f
je 0x44a49f
cmp eax, 0x3000
jne case.0x44854f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a400
jmp 0x44a317
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44a50c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a505
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 0x44a4f3
cmp edx, 0xa
jb 0x44a53a
cmp edx, 0xd
jbe case.0x44854f.108
cmp edx, 0x85
je case.0x44854f.108
cmp edx, 0x2027
jbe 0x44a53a
cmp edx, 0x2029
jbe case.0x44854f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a4be
jmp 0x44a317
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44a5a7
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a5a0
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 0x44a58e
cmp edx, 0xa
jb case.0x44854f.108
cmp edx, 0xd
jbe 0x44a5d5
cmp edx, 0x85
je 0x44a5d5
cmp edx, 0x2027
jbe case.0x44854f.108
cmp edx, 0x2029
ja case.0x44854f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a559
jmp 0x44a317
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44a642
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a63b
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 0x44a629
cmp edx, 0x80
jae 0x44a657
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x44854f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a5f4
jmp 0x44a317
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44854f.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a672
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44a6d2
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x44854f.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44a6e0
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44a6d2
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a6b2
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44854f.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a6f8
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44a758
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44854f.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44a766
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44a758
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a738
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44854f.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a77e
jmp 0x44aa60
cmp ecx, 0xe
ja case.0x44c60b.14
jmp dword [ecx*4 + 0x44c900]
test byte [ebp + 0x1c], 4
jne case.0x44a7bc.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44a7fe
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44a825
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne case.0x44854f.108
inc eax
jmp 0x44a825
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x44a825
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x44a825
cmp ecx, eax
je case.0x44854f.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44854f.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44a7d4
jmp 0x44a267
add esi, edx
jmp 0x44aa60
cmp edx, eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x44854f.108
cmp ecx, 0xc
jle 0x44a87e
cmp ecx, 0xd
je 0x44a873
cmp ecx, 0x85
jne case.0x44854f.108
jmp 0x44a87e
cmp esi, dword [ebp - 0x10]
jae 0x44a87e
cmp byte [esi], 0xa
jne 0x44a87e
inc esi
inc eax
cmp eax, edx
jle 0x44a845
jmp 0x44aa60
cmp edx, eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x44854f.108
cmp ecx, 0x20
je case.0x44854f.108
cmp ecx, 0xa0
je case.0x44854f.108
inc eax
cmp eax, edx
jle 0x44a890
jmp 0x44aa60
cmp edx, eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x44a8f0
cmp ecx, 0x20
je 0x44a8f0
cmp ecx, 0xa0
jne case.0x44854f.108
inc eax
cmp eax, edx
jle 0x44a8cd
jmp 0x44aa60
cmp edx, eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x44a929
cmp ecx, 0xd
jle case.0x44854f.108
cmp ecx, 0x85
je case.0x44854f.108
inc eax
cmp eax, edx
jle 0x44a902
jmp 0x44aa60
cmp edx, eax
jl 0x44aa60
cmp esi, dword [ebp - 0x10]
jae case.0x44854f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x44854f.108
cmp ecx, 0xd
jle 0x44a962
cmp ecx, 0x85
jne case.0x44854f.108
inc eax
cmp eax, edx
jle 0x44a93b
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a97a
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a9a7
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a9d4
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a9fa
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44aa20
jmp 0x44aa60
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aa60
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x44854f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44aa46
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x448518
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44c273
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44b1a1
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44c60b.14
jmp dword [eax*4 + 0x44c93c]
cmp ecx, 0x7fffffff
jge 0x44ab55
test byte [ebp + 0x1c], 4
jne 0x44ab22
cmp edx, ecx
mov ebx, edx
jge 0x44b18e
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b18e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44aae2
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne 0x44b18e
jmp 0x44ab11
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44ab11
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44ab11
cmp ecx, 1
je 0x44b18e
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44b18e
jmp 0x44ab11
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44ab17
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44ab09
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44aab4
jmp 0x44b18e
cmp edx, ecx
jge 0x44b18e
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b18e
inc esi
cmp esi, eax
jae 0x44ab4a
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44ab4a
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44ab3a
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ab2d
jmp 0x44b18e
test byte [ebp + 0x1c], 4
jne 0x44abd3
cmp edx, ecx
mov ebx, edx
jge 0x44b18e
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b18e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44ab93
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne 0x44b18e
jmp 0x44abc2
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44abc2
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44abc2
cmp ecx, 1
je 0x44b18e
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44b18e
jmp 0x44abc2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44abc8
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44abba
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44ab65
jmp 0x44b18e
mov esi, dword [edi + 0x54]
jmp 0x44b18e
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44abe8
mov ecx, eax
add esi, ecx
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ac55
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44ac54
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 0x44ac3b
inc eax
cmp edx, 0xd
jne 0x44ac6c
inc esi
cmp esi, dword [edi + 0x54]
jae 0x44b18e
cmp byte [esi], 0xa
jne 0x44ac99
inc esi
jmp 0x44ac99
cmp edx, 0xa
je 0x44ac97
cmp edx, 0xb
je 0x44ac97
cmp edx, 0xc
je 0x44ac97
cmp edx, 0x85
je 0x44ac97
cmp edx, 0x2028
je 0x44ac97
cmp edx, 0x2029
jne 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44abfa
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ad13
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44ad12
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 0x44acf9
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44ad61
je 0x44ad89
cmp edx, 9
je 0x44ad89
cmp edx, 0x20
je 0x44ad89
cmp edx, 0xa0
je 0x44ad89
cmp edx, 0x1680
je 0x44ad89
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44acb8
jmp 0x44b18e
cmp edx, 0x2000
jb 0x44ad38
cmp edx, 0x200a
jbe 0x44ad89
cmp edx, 0x202f
je 0x44ad89
cmp edx, 0x205f
je 0x44ad89
cmp edx, 0x3000
jne 0x44ad38
xor ecx, ecx
inc ecx
jmp 0x44ad3a
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44adf4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44adf3
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 0x44adda
inc eax
cmp edx, 0xa
jb 0x44ae1b
cmp edx, 0xd
jbe 0x44ae16
cmp edx, 0x85
je 0x44ae16
cmp edx, 0x2027
jbe 0x44ae1b
cmp edx, 0x2029
ja 0x44ae1b
xor ecx, ecx
inc ecx
jmp 0x44ae1d
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ad99
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44aeaa
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44aea9
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 0x44ae90
inc eax
cmp edx, 0x100
jae 0x44aebf
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ae4f
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44af37
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44af36
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 0x44af1d
inc eax
cmp edx, 0x100
jae 0x44b18e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44aedc
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44afcc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44afcb
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 0x44afb2
inc eax
cmp edx, 0x100
jae 0x44afe1
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44af71
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b059
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44b058
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 0x44b03f
inc eax
cmp edx, 0x100
jae 0x44b18e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44affe
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b0ee
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44b0ed
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 0x44b0d4
inc eax
cmp edx, 0x100
jae 0x44b103
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b093
jmp 0x44b18e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b18e
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44b18e
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b170
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44b16f
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 0x44b156
inc eax
cmp edx, 0x100
jae 0x44b18e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44b18e
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b119
cmp dword [ebp - 0x1c], 0
jne 0x448518
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c715
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44c60b.14
jmp dword [eax*4 + 0x44c978]
test byte [ebp + 0x1c], 4
jne case.0x44b1ad.13
cmp edx, ecx
mov ebx, edx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44b1f1
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne 0x44b468
jmp 0x44b216
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44b216
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44b216
cmp ecx, 1
je 0x44b468
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44b468
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b1c4
jmp 0x44b468
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44b22f
mov ecx, eax
add esi, ecx
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44b468
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44b261
inc esi
cmp esi, ecx
jae 0x44b468
cmp byte [esi], 0xa
jne 0x44b27c
jmp 0x44b27b
cmp eax, 0xa
je 0x44b27b
cmp eax, 0xb
je 0x44b27b
cmp eax, 0xc
je 0x44b27b
cmp eax, 0x85
jne 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b241
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44b468
movzx eax, byte [esi]
cmp eax, 9
je 0x44b468
cmp eax, 0x20
je 0x44b468
cmp eax, 0xa0
je 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b292
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44b468
movzx eax, byte [esi]
cmp eax, 9
je 0x44b2f1
cmp eax, 0x20
je 0x44b2f1
cmp eax, 0xa0
jne 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b2d1
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44b468
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44b468
cmp eax, 0xb
je 0x44b468
cmp eax, 0xc
je 0x44b468
cmp eax, 0xd
je 0x44b468
cmp eax, 0x85
je 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b308
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44b468
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44b383
cmp eax, 0xb
je 0x44b383
cmp eax, 0xc
je 0x44b383
cmp eax, 0xd
je 0x44b383
cmp eax, 0x85
jne 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b359
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b39a
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b3c9
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b3f1
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b411
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b431
jmp 0x44b468
cmp edx, ecx
jge 0x44b468
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44b468
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44b468
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b451
cmp dword [ebp - 0x1c], 0
jne 0x448518
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
dec esi
test eax, eax
jne 0x44c73a
cmp esi, dword [ebp - 0x14]
jae 0x44b47f
jmp case.0x44854f.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 0x44b4d4
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44b4c2
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 0x44b852
mov dword [ebp + 0x24], edx
jmp 0x44b643
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 0x44b75b
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44b516
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 0x44b579
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 + 0x466900]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004484cc
add esp, 0x24
test eax, eax
je 0x44b561
cmp eax, 0xfffffc1c
jne 0x44c73a
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 0x44b527
cmp dword [ebp + 0x24], 0
jne 0x44b822
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x466900]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44b643
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov eax, dword [ebp - 0x20]
jmp 0x4488e0
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 0x44b614
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
cmp dword [ebp + 0x24], eax
jne 0x44b9d8
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44b643
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
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 0x4484ef
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44c739
push 0xffffffffffffffeb
jmp 0x44c739
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 + 0x466900]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov eax, 0xfffffc1a
jmp 0x44c73a
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 + 0x466900]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov eax, 0xfffffc19
jmp 0x44c73a
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 + 0x466900]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov dword [edi + 0x58], esi
mov eax, 0xfffffc1b
jmp 0x44c73a
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 + 0x466900]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov eax, 0xfffffc1c
jmp 0x44c73a
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 0x44b79a
mov dword [ebp + 0x24], 2
jmp 0x44b79e
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 + 0x466900]
push dword [ebp + 0x1c]
add ecx, eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push esi
call fcn.004484cc
add esp, 0x24
test eax, eax
je 0x44b7e0
cmp eax, 0xfffffc1c
jne 0x44c73a
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 0x44b7a5
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.0x44854f.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 + 0x466900]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004484cc
add esp, 0x24
jmp 0x44c73a
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 0x44b844
cmp dword [edi + 0x40], 0
je 0x44b878
cmp esi, dword [ebp + 0x10]
je case.0x44854f.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 0x44c73a
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 0x44b8a9
and dword [ebp - 0x38], 0
jmp 0x44b8b4
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 0x44b8dc
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44b8f8
shl eax, 2
push eax
call dword [0x471150]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44b8f5
push 0xfffffffffffffffa
jmp 0x44c739
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.0044fd80
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 + 0x466900]
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.004484cc
add esp, 0x24
cmp eax, 1
je 0x44b9b4
test eax, eax
je 0x44b95f
cmp eax, 0xfffffc1c
jne 0x44c73a
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.0044fd80
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 0x44b925
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x44854f.108
push dword [ebp - 0x2c]
call dword [0x471154]
pop ecx
jmp case.0x44854f.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44b887
push dword [ebp - 0x2c]
call dword [0x471154]
pop ecx
jmp 0x44b887
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 0x44b844
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x60], eax
jmp 0x44b884
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44854f.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044846e
test eax, eax
pop ecx
pop ecx
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44b9fd
jmp 0x44c73a
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44ba80
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044846e
test eax, eax
pop ecx
pop ecx
je 0x44ba77
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44ba57
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44ba84
jmp case.0x44854f.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44bb12
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44bb12
jmp 0x44bafc
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 0x44baf9
cmp eax, 0xff
jbe 0x44bb1f
cmp dword [ebp - 8], 0x4d
jmp 0x44bb34
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.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44bab5
jmp 0x44c73a
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44bba5
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.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.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44bb6e
jmp 0x44c73a
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44bcc8
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44bc82
cmp esi, dword [edi + 0x54]
mov dword [ebp - 0x20], 1
jae 0x44bc82
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44bc4c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
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 0x44bc45
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 0x44bc29
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44bc59
cmp dword [ebp - 8], 0x4d
jmp 0x44bc6e
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 0x44bc82
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bbe2
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44bca6
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44854f.108
jmp 0x44bc9b
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44bc9a
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.004484cc
add esp, 0x24
test eax, eax
je 0x44bc8c
jmp 0x44c73a
cmp edx, dword [ebp - 4]
jge 0x44bcfc
cmp esi, dword [edi + 0x54]
jae 0x44bcf3
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 0x44bcf3
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bccd
cmp esi, dword [ebp - 0x14]
jb case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44bd00
jmp case.0x44854f.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44bd86
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov edx, dword [eax*4 + 0x4669a4]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44bd82
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 0x44bd72
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044d5fa
test eax, eax
pop ecx
pop ecx
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44bd2f
jmp 0x44c73a
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44be41
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x54]
jae 0x44be46
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44be2a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
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 0x44be27
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 0x44be0e
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044d5fa
test eax, eax
pop ecx
pop ecx
je 0x44be46
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bdd1
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44be69
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44854f.108
cmp dword [ebp - 0x18], 0
je 0x44be69
jmp 0x44be61
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44be60
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.004484cc
add esp, 0x24
test eax, eax
je 0x44be4c
jmp 0x44c73a
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44bec9
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044e55c
add esp, 0xc
test eax, eax
jne case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44be97
jmp 0x44c73a
cmp esi, dword [ebp - 0x14]
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44beee
jmp 0x44c73a
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44bf54
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44bf28
jmp 0x44c73a
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44bfa7
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44bf82
jmp 0x44c73a
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44c095
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 0x44c07f
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c03a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c033
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 0x44c021
cmp edx, 0x100
jae 0x44c049
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
cmp dword [ebp - 8], edx
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44bff5
jmp 0x44c73a
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c0c7
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44c09b
jmp 0x44c73a
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44854f.108
jmp 0x44c0fb
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c0fa
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.004484cc
add esp, 0x24
test eax, eax
je 0x44c0ec
jmp 0x44c73a
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44c1de
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 0x44c1c8
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c192
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4669c0]
mov ebx, dword [eax*4 + 0x4669a4]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c18b
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 0x44c179
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
cmp dword [ebp - 8], edx
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44c14d
jmp 0x44c73a
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44c20e
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44854f.108
cmp esi, dword [edi + 0x54]
jae case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44c1e6
jmp 0x44c73a
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44854f.108
jmp 0x44c23f
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c23e
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.004484cc
add esp, 0x24
test eax, eax
je 0x44c230
jmp 0x44c73a
push 0xfffffffffffffff2
jmp 0x44c739
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44c58a
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.004484cc
add esp, 0x24
test eax, eax
jne 0x44c73a
mov ebx, 0x100
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44854f.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x44854f.108
cmp dword [ebp - 0xc], 0xc
jne 0x44c31b
test byte [ebp + 0x1c], 4
jne 0x44c31b
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c2f6
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne case.0x44854f.108
jmp 0x44c31b
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c31b
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c31b
cmp ecx, 1
je case.0x44854f.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44854f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44c368
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4669c0]
mov ebx, dword [edx*4 + 0x4669a4]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44c363
jmp 0x44c34d
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 0x44c34a
mov ebx, 0x100
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44c60b.14
jmp dword [ecx*4 + 0x44c9b4]
cmp eax, 0xa
jb case.0x44854f.108
cmp eax, 0xc
jbe case.0x44c377.12
cmp eax, 0xd
jne 0x44c4d6
cmp esi, dword [edi + 0x54]
jae case.0x44c377.12
cmp byte [esi], 0xa
jne case.0x44c377.12
inc esi
jmp case.0x44c377.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44c3e7
je case.0x44854f.108
cmp eax, 9
je case.0x44854f.108
cmp eax, 0x20
je case.0x44854f.108
cmp eax, 0xa0
je case.0x44854f.108
cmp eax, 0x1680
jmp 0x44c556
cmp eax, 0x2000
jb case.0x44c377.12
cmp eax, 0x200a
jbe case.0x44854f.108
cmp eax, 0x202f
je case.0x44854f.108
cmp eax, 0x205f
je case.0x44854f.108
cmp eax, 0x3000
jmp 0x44c556
mov ecx, 0x180e
cmp eax, ecx
ja 0x44c450
je case.0x44c377.12
cmp eax, 9
je case.0x44c377.12
cmp eax, 0x20
je case.0x44c377.12
cmp eax, 0xa0
je case.0x44c377.12
cmp eax, 0x1680
jmp 0x44c481
cmp eax, 0x2000
jb case.0x44854f.108
cmp eax, 0x200a
jbe case.0x44c377.12
cmp eax, 0x202f
je case.0x44c377.12
cmp eax, 0x205f
je case.0x44c377.12
cmp eax, 0x3000
jne case.0x44854f.108
jmp case.0x44c377.12
cmp eax, 0xa
jb case.0x44c377.12
cmp eax, 0xd
jbe case.0x44854f.108
cmp eax, 0x85
je case.0x44854f.108
cmp eax, 0x2027
jbe case.0x44c377.12
cmp eax, 0x2029
jbe case.0x44854f.108
jmp case.0x44c377.12
cmp eax, 0xa
jb case.0x44854f.108
cmp eax, 0xd
jbe case.0x44c377.12
cmp eax, 0x85
je case.0x44c377.12
cmp eax, 0x2027
jbe case.0x44854f.108
cmp eax, 0x2029
ja case.0x44854f.108
jmp case.0x44c377.12
cmp eax, ebx
jae case.0x44c377.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44c481
cmp eax, ebx
jae case.0x44854f.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44c556
cmp eax, ebx
jae case.0x44c377.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44c481
cmp eax, ebx
jae case.0x44854f.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44c556
cmp eax, ebx
jae case.0x44c377.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44c481
cmp eax, ebx
jae case.0x44854f.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44c2b0
jmp 0x44c73a
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44c6db
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44854f.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x44854f.108
test byte [ebp + 0x1c], 4
jne 0x44c5f8
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c5d3
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044d21a
add esp, 0x14
test eax, eax
jne case.0x44854f.108
jmp 0x44c5f8
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c5f8
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c5f8
cmp ecx, 1
je case.0x44854f.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44854f.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44c60b.14
jmp dword [ecx*4 + 0x44c9f0]
cmp eax, 0xa
jb case.0x44854f.108
cmp eax, 0xc
jbe case.0x44c60b.12
cmp eax, 0xd
jne 0x44c694
cmp esi, dword [edi + 0x54]
jae case.0x44c60b.12
cmp byte [esi], 0xa
jne case.0x44c60b.12
inc esi
jmp case.0x44c60b.12
cmp eax, 9
je case.0x44854f.108
cmp eax, 0x20
je case.0x44854f.108
cmp eax, 0xa0
jmp 0x44c6cf
cmp eax, 9
je case.0x44c60b.12
cmp eax, 0x20
je case.0x44c60b.12
cmp eax, 0xa0
jne case.0x44854f.108
jmp case.0x44c60b.12
cmp eax, 0xa
jb case.0x44c60b.12
cmp eax, 0xd
jbe case.0x44854f.108
cmp eax, 0x85
jmp 0x44c6cf
cmp eax, 0xa
jb case.0x44854f.108
cmp eax, 0xd
jbe case.0x44c60b.12
cmp eax, 0x85
jmp 0x44c669
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44c669
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44c6cf
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44c669
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44c6cf
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44c669
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44854f.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.004484cc
add esp, 0x24
test eax, eax
je 0x44c594
jmp 0x44c73a
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44854f.108
jmp 0x44c70d
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c70c
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.004484cc
add esp, 0x24
test eax, eax
je 0x44c6fe
jmp 0x44c73a
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret