Function at 0x447aa9
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 0x44ac31
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44ac3a
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x447af5
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 0x447b1c
cmp esi, dword [edi + 0x54]
jb 0x447b1c
cmp esi, dword [ebp + 0x10]
jbe 0x447b1c
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x447b2c.14
movzx eax, byte [ecx + 0x44be31]
jmp dword [eax*4 + 0x44bd1d]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x447b67
mov eax, dword [edi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x447b59
cmp ecx, 0xffff
je 0x447b83
cmp ecx, dword [eax + 4]
je 0x447b83
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x447bdf
cmp cl, 0x63
jne 0x447b8b
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x447b59
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x447b59
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x447b63
cmp cl, 0x65
jne 0x447b9c
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x447be7
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.00447aa9
add esp, 0x24
cmp eax, 1
je 0x44aa8b
test eax, eax
je 0x447bd1
cmp eax, 0xfffffc1c
jne 0x44bd17
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 0x44aab6
cmp byte [ebx], 0x53
je 0x44aab6
jmp 0x447d1c
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x44ae46
cmp dword [ebx + 4], 0
jne 0x44ae46
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.00450420
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 0x447af5
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x447d1f
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.00447aa9
add esp, 0x24
cmp eax, 1
je 0x447c94
test eax, eax
je 0x447c85
cmp eax, 0xfffffc1c
jne 0x44bd17
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447c53
cmp byte [ebx], 0x54
je case.0x447b2c.108
test byte [ebp + 0x24], 1
jne 0x44ae64
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447ca7
mov eax, dword [edi + 0x60]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x447af5
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.00447aa9
add esp, 0x24
cmp eax, 1
je case.0x447b2c.108
test eax, eax
je 0x447d03
cmp eax, 0xfffffc1c
jne 0x44bd17
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447cd1
test byte [ebp + 0x24], 1
jne 0x44ae64
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x447af5
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x447d59
cmp eax, edx
jle 0x447d1c
mov ecx, dword [edi + 0x50]
dec eax
dec esi
cmp esi, ecx
jae 0x447d49
xor eax, eax
jmp 0x44bd17
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x447d48
test eax, eax
jg 0x447d3b
jmp 0x447d1c
sub esi, eax
cmp esi, dword [edi + 0x50]
jb case.0x447b2c.108
jmp 0x447d1c
mov ecx, dword [0x472a60]
cmp ecx, edx
je 0x447ddf
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.0x447b2c.108
jl 0x44bd17
add ebx, 6
jmp 0x447d1f
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.00447aa9
add esp, 0x24
cmp eax, 1
je 0x447e39
test eax, eax
je 0x447e2a
cmp eax, 0xfffffc1c
jne 0x44bd17
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447df7
mov al, byte [ebx]
cmp al, 0x5c
je 0x447e47
cmp al, 0x53
jne case.0x447b2c.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447e47
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x60]
mov esi, dword [edi + 0x5c]
mov dword [ebp + 0x14], eax
je 0x447d1c
cmp esi, dword [ebp - 0x1c]
je 0x447d1c
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x447e8b
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 0x44ab74
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44ac1c
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x447b2c.83
jmp 0x447d1f
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447f03
jmp 0x447d1c
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 0x447f1a
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
jmp 0x447d1f
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 0x447f75
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 0x44afcf
cmp al, 0x58
je 0x44afcf
cmp al, 0x59
je 0x44afcf
cmp al, 0x5a
je 0x44afcf
cmp al, 0x5c
je 0x44afcf
cmp al, 0x5e
je 0x447faf
cmp al, 0x61
jne 0x448033
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 0x447fce
mov dword [edi + 0x2c], 1
jmp 0x447ff6
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 0x447ff6
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x448033
cmp dword [ebx + 4], edx
jne 0x448033
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.0044f370
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x447af5
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x44804a
cmp esi, dword [ebp - 0x1c]
jne 0x44ab9d
add eax, 3
jmp 0x447c33
cmp dword [edi + 0x30], edx
je 0x448060
cmp esi, dword [edi + 0x50]
je case.0x447b2c.108
test byte [ebp + 0x1c], 2
je case.0x447b2c.1
mov ecx, dword [edi + 0x50]
cmp esi, ecx
je 0x4480ce
cmp esi, dword [edi + 0x54]
je case.0x447b2c.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4480a1
cmp esi, ecx
jbe case.0x447b2c.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044c8c2
add esp, 0x14
test eax, eax
je case.0x447b2c.108
jmp 0x4480ce
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x447b2c.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x447b2c.108
cmp eax, 1
je 0x4480ce
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x447b2c.108
inc ebx
jmp 0x447d1f
cmp esi, dword [edi + 0x50]
jmp 0x4480c8
mov eax, dword [edi + 0x68]
add eax, dword [edi + 0x50]
cmp esi, eax
jmp 0x4480c8
mov dword [ebp + 0x10], esi
jmp 0x4480ce
test byte [ebp + 0x1c], 2
je 0x448134
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44812f
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44810d
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
jmp 0x448094
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x447b2c.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x447b2c.108
cmp ecx, 1
je 0x4480ce
mov al, byte [esi + 1]
jmp 0x4480c5
cmp dword [edi + 0x34], edx
jmp 0x4480c8
cmp dword [edi + 0x34], edx
jne case.0x447b2c.108
cmp dword [edi + 0x3c], edx
jne case.0x447b2c.23
mov eax, dword [edi + 0x54]
cmp esi, eax
je 0x4481ac
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448174
cmp esi, eax
jae case.0x447b2c.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
je case.0x447b2c.108
jmp 0x44819f
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x447b2c.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x447b2c.108
cmp ecx, 1
je 0x44819f
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x447b2c.108
mov eax, dword [edi + 0x54]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x447b2c.108
inc dword [ebp + 0xc]
jmp 0x447af5
cmp esi, dword [edi + 0x54]
jb case.0x447b2c.108
jmp 0x4480ce
cmp dword [ebp - 0x18], edx
je 0x4482d7
cmp esi, dword [edi + 0x50]
jne 0x4481d8
mov dword [ebp + 0x18], edx
jmp 0x448261
lea eax, [esi - 1]
jmp 0x4481de
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x4481dd
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x448243
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x465818]
mov ecx, ebx
imul ecx, ecx, 6
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebx*4 + 0x4657fc]
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 0x448240
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 0x448222
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x44825d
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44825d
mov dword [ebp + 0x18], 1
jmp 0x448261
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x54]
jb 0x44826a
xor eax, eax
jmp 0x4482d3
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4482b8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x4482b8
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 0x44829f
cmp edx, 0x100
jae 0x4482ce
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x4482ce
xor eax, eax
inc eax
jmp 0x4482d0
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x44830b
cmp esi, dword [edi + 0x50]
je 0x4482f0
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x4482f3
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x54]
jae 0x448309
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x448309
xor eax, eax
inc eax
jmp 0x44830b
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x448320
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x448328
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x447af5
jmp case.0x447b2c.108
test byte [ebp + 0x1c], 4
jne 0x44838f
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448367
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44838f
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne case.0x447b2c.108
jmp 0x44838f
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x54]
sub ecx, eax
cmp esi, ecx
ja 0x44838f
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44838f
cmp eax, 1
je case.0x447b2c.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447b2c.108
mov eax, dword [edi + 0x54]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x447b2c.108
cmp dword [ebp - 0x18], 0
je 0x4480ce
cmp esi, eax
jae 0x4480ce
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4480ce
inc esi
cmp esi, dword [edi + 0x54]
jb 0x4483af
jmp 0x4480ce
mov eax, esi
inc esi
cmp eax, dword [edi + 0x54]
jae case.0x447b2c.108
jmp 0x4480ce
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44842b
cmp edx, 0xc0
jb 0x44842b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448424
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 0x448412
cmp edx, 0x100
jae 0x4481ac
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x4481a6
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448497
cmp edx, 0xc0
jb 0x448497
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448490
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 0x44847e
cmp edx, 0x100
jae case.0x447b2c.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x447b2c.108
jmp 0x4481ac
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448509
cmp edx, 0xc0
jb 0x448509
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448502
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 0x4484f0
cmp edx, 0x100
jae 0x4481ac
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x4481a6
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448575
cmp edx, 0xc0
jb 0x448575
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44856e
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 0x44855c
cmp edx, 0x100
jae case.0x447b2c.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x4484aa
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4485e1
cmp edx, 0xc0
jb 0x4485e1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4485da
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 0x4485c8
cmp edx, 0x100
jae 0x4481ac
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x4481a6
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44864d
cmp edx, 0xc0
jb 0x44864d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448646
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 0x448634
cmp edx, 0x100
jae case.0x447b2c.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x4484aa
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4486b9
cmp edx, 0xc0
jb 0x4486b9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4486b2
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 0x4486a0
cmp edx, 0xa
jb case.0x447b2c.108
cmp edx, 0xc
jbe 0x4481ac
cmp edx, 0xd
je 0x4486f9
cmp edx, 0x85
je 0x4481ac
cmp edx, 0x2027
jbe case.0x447b2c.108
cmp edx, 0x2029
ja case.0x447b2c.108
jmp 0x4481ac
cmp esi, dword [edi + 0x54]
jae 0x4481ac
cmp byte [esi], 0xa
jne 0x4481ac
inc esi
jmp 0x4481ac
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x448767
cmp eax, 0xc0
jb 0x448767
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x448767
jmp 0x448751
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 0x44874e
mov ecx, 0x180e
cmp eax, ecx
ja 0x44879d
je case.0x447b2c.108
cmp eax, 9
je case.0x447b2c.108
cmp eax, 0x20
je case.0x447b2c.108
cmp eax, 0xa0
je case.0x447b2c.108
cmp eax, 0x1680
jmp 0x4484aa
cmp eax, 0x2000
jb 0x4481ac
cmp eax, 0x200a
jbe case.0x447b2c.108
cmp eax, 0x202f
je case.0x447b2c.108
cmp eax, 0x205f
je case.0x447b2c.108
cmp eax, 0x3000
jmp 0x4484aa
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x448829
cmp eax, 0xc0
jb 0x448829
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x448829
jmp 0x448813
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 0x448810
mov ecx, 0x180e
cmp eax, ecx
ja 0x44885f
je 0x4481ac
cmp eax, 9
je 0x4481ac
cmp eax, 0x20
je 0x4481ac
cmp eax, 0xa0
je 0x4481ac
cmp eax, 0x1680
jmp 0x4481a6
cmp eax, 0x2000
jb case.0x447b2c.108
cmp eax, 0x200a
jbe 0x4481ac
cmp eax, 0x202f
je 0x4481ac
cmp eax, 0x205f
je 0x4481ac
cmp eax, 0x3000
jmp 0x4481a6
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4488e9
cmp edx, 0xc0
jb 0x4488e9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4488e2
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 0x4488d0
cmp edx, 0xa
jb 0x4481ac
cmp edx, 0xd
jbe case.0x447b2c.108
cmp edx, 0x85
je case.0x447b2c.108
cmp edx, 0x2027
jbe 0x4481ac
cmp edx, 0x2029
jbe case.0x447b2c.108
jmp 0x4481ac
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448978
cmp edx, 0xc0
jb 0x448978
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x448971
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 0x44895f
cmp edx, 0xa
jb case.0x447b2c.108
cmp edx, 0xd
jbe 0x4481ac
jmp 0x4486d0
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 0x4489ba
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x4489ba
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x4489c0
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 0x448a95
cmp al, 0x4a
jbe 0x448a0f
cmp al, 0x4c
ja 0x448a95
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 0x448a07
mov dword [ebp - 4], connect
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x448a3c
movzx eax, al
movsx ebx, byte [eax + 0x4653eb]
sub eax, 0x45
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x465438]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x448a3c
mov dword [ebp - 4], connect
cmp dword [ebp - 0x10], 0
je 0x447af5
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x448a76
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447a4b
test eax, eax
pop ecx
pop ecx
je case.0x447b2c.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x448a50
cmp ebx, dword [ebp - 4]
je 0x447af5
cmp dword [ebp - 0x24], 0
je 0x44b02c
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b007
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.00447a4b
test eax, eax
pop ecx
pop ecx
je case.0x447b2c.108
add esi, ebx
jmp 0x447af5
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 0x448b33
cmp al, 0x4a
jbe 0x448b00
cmp al, 0x4c
ja 0x448b33
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 0x448af8
mov dword [ebp - 4], connect
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x448b3c
movzx eax, al
movsx edx, byte [eax + 0x4653eb]
sub eax, 0x45
mov ecx, eax
movsx eax, byte [eax + 0x465438]
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 0x448b3c
mov dword [ebp - 4], connect
jmp 0x448b3c
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 0x448be1
cmp edx, eax
jl 0x448c18
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x448ba8
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x448ba5
jmp 0x448b8f
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 0x448b8c
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x448bb5
cmp dword [ebp - 8], 0x4d
jmp 0x448bca
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.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x448b54
mov ebx, dword [ebp + 0xc]
jmp 0x448c18
cmp edx, eax
jl 0x448c18
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.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.0x447b2c.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x448be5
cmp edx, dword [ebp - 4]
je 0x447af5
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44b1a7
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44b145
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 0x44b12f
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 0x448cdc
cmp al, 0x4a
jbe 0x448ca9
cmp al, 0x4c
ja 0x448cdc
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 0x448ca1
mov dword [ebp - 4], connect
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x448ce5
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x24], ecx
movsx ecx, byte [eax + 0x465430]
movsx eax, byte [eax + 0x465438]
inc ebx
cmp eax, edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
jne 0x448ce5
mov dword [ebp - 4], connect
jmp 0x448ce5
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 0x448d60
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x448d3b
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov edx, dword [eax*4 + 0x4657fc]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x448d37
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 0x448d27
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044cbd7
test eax, eax
pop ecx
pop ecx
je case.0x447b2c.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x448cf0
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x447af5
cmp dword [ebp - 0x24], edx
je 0x44b3a6
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 0x44b390
cmp dword [ebp - 0x18], edx
je 0x448de0
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x448db6
and eax, 0x3f
movzx ecx, byte [eax + 0x465818]
inc ecx
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ecx, eax
jg case.0x447b2c.108
jmp 0x448dd7
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x447b2c.108
test ecx, ecx
jg 0x448dc5
jmp 0x447af5
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x447b2c.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x447b2c.108
jmp 0x447c42
cmp dword [ebp - 0x18], edx
je 0x448ef4
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 0x448e75
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x448e6b
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 0x448e4e
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.0x447b2c.108
cmp dword [ebp - 8], 0x80
jae 0x448ea1
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 0x44832c
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x448ee3
and eax, 0x3f
movzx edx, byte [eax + 0x465818]
mov eax, dword [edx*4 + 0x4657fc]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x448edf
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 0x448ecf
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x44832c
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x447b2c.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 0x448df4
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 0x448fa8
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 0x448f26
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x448fa1
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x448f5b
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x448fa8
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx ebx, byte [eax + 0x465412]
sub eax, 0x1e
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x465438]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x448fa8
mov dword [ebp - 4], connect
cmp dword [ebp - 0x18], 0
je 0x4490c4
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 0x449026
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x4657fc]
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 0x449022
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 0x448fff
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.0x447b2c.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x4490e0
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x449073
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044db43
add esp, 0xc
test eax, eax
jne case.0x447b2c.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x449051
cmp ebx, dword [ebp - 4]
je 0x447af5
cmp dword [ebp - 0x24], 0
jne 0x44b46b
mov dword [ebp - 0x14], esi
jmp 0x4490ac
mov eax, dword [edi + 0x54]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x4490b1
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044db43
add esp, 0xc
test eax, eax
jne 0x4490b1
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44908b
cmp dword [ebp - 0x1c], 0
jne 0x447af5
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b4d7
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ebx, eax
jg case.0x447b2c.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 0x449186
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x449110
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x447b2c.108
inc eax
cmp eax, ebx
jle 0x4490fa
cmp ebx, dword [ebp - 4]
je 0x447af5
cmp dword [ebp - 0x24], 0
jne 0x44b4fc
mov dword [ebp - 0x14], esi
jmp 0x44913b
cmp esi, dword [edi + 0x54]
jae 0x449140
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x449140
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449128
cmp dword [ebp - 0x1c], 0
jne 0x447af5
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
dec esi
test eax, eax
jne 0x44bd17
cmp esi, dword [ebp - 0x14]
jae 0x449157
jmp case.0x447b2c.108
cmp ebx, edx
mov ecx, edx
jl 0x44919d
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x447b2c.108
inc ecx
cmp ecx, ebx
jle 0x44918c
cmp ebx, dword [ebp - 4]
je 0x447af5
cmp dword [ebp - 0x24], 0
jne 0x44b556
mov dword [ebp - 0x14], esi
jmp 0x4491c4
cmp esi, dword [edi + 0x54]
jae 0x4491c9
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x4491c9
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x4491b5
cmp dword [ebp - 0x1c], 0
jne 0x447af5
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
dec esi
test eax, eax
jne 0x44bd17
cmp esi, dword [ebp - 0x14]
jae 0x4491e0
jmp case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x449267
cmp edx, 0xc0
jb 0x449267
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449260
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 0x44924e
test byte [ebp + 0x1c], 1
je 0x449299
cmp edx, 0x100
jae 0x44927c
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 0x447af5
jmp case.0x447b2c.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x449289
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x44932e
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 0x4492ac
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x449327
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x4492d4
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x44932e
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 0x4492ac
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x465405]
sub eax, 0x2b
mov ecx, eax
movsx eax, byte [eax + 0x465438]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44932e
mov dword [ebp - 4], connect
mov eax, dword [edi + 0x54]
sub eax, esi
cmp edx, eax
jg case.0x447b2c.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x449526
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x4493e9
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44940c
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x4493c4
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x4657fc]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x4493bd
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 0x4493a3
cmp ebx, 0x100
jae 0x4493d3
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449371
mov ebx, dword [ebp + 0xc]
jmp 0x44940c
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x44940c
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x4493f3
cmp edx, dword [ebp - 4]
je 0x447af5
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44b5a9
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x4494dc
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x4494af
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x4494af
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44948e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44948a
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 0x449471
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44949d
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x4494af
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x449434
cmp dword [ebp - 0x1c], 0
jne 0x447af5
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44b6e3
cmp esi, dword [edi + 0x54]
jae 0x4494e1
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x4494e1
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x4494c6
cmp dword [ebp - 0x1c], ecx
jne 0x447af5
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x4494f7
jmp case.0x447b2c.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x44959f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x4495b5
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x449589
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x4657fc]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x449582
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 0x449568
cmp dword [ebp - 8], ebx
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449536
mov ebx, dword [ebp + 0xc]
jmp 0x4495b5
cmp edx, eax
jl 0x4495b5
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x447b2c.108
inc eax
cmp eax, edx
jle 0x4495a3
cmp edx, dword [ebp - 4]
je 0x447af5
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44b705
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x449675
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44964f
jmp 0x4495e1
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44964f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44963b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x449637
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 0x44961e
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44964d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x4495df
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x447af5
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44b829
cmp esi, dword [edi + 0x54]
jae 0x44967a
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x44967a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x449666
cmp dword [ebp - 0x1c], ecx
jne 0x447af5
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x449690
jmp case.0x447b2c.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 0x449778
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 0x449775
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], connect
inc ebx
jmp 0x4496fb
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x44970b
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x449712
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 0x4496f8
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x4653f8]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x465438]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x449775
mov dword [ebp - 4], connect
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.0x447b2c.108
test edx, edx
jle 0x44a03d
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x449d90
cmp ecx, 0xe
ja case.0x44bbe8.14
jmp dword [ecx*4 + 0x44bea1]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x447b2c.108
test byte [ebp + 0x1c], 4
jne 0x44981e
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4497fa
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne case.0x447b2c.108
inc eax
jmp 0x44981e
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44981e
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44981e
cmp edx, eax
je case.0x447b2c.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x447b2c.108
mov ecx, dword [edi + 0x54]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x449839
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x449839
inc esi
cmp esi, dword [edi + 0x54]
jb 0x449829
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x4497c5
mov edx, dword [ebp - 0x14]
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x4498a5
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44989e
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 0x44988c
cmp edx, 0xa
jb case.0x447b2c.108
cmp edx, 0xc
jbe 0x4498e5
cmp edx, 0xd
je 0x4498da
cmp edx, 0x85
je 0x4498e5
cmp edx, 0x2027
jbe case.0x447b2c.108
cmp edx, 0x2029
ja case.0x447b2c.108
jmp 0x4498e5
cmp esi, dword [ebp - 0x10]
jae 0x4498e5
cmp byte [esi], 0xa
jne 0x4498e5
inc esi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449857
mov ebx, dword [ebp + 0xc]
jmp 0x449844
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449958
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x449958
jmp 0x449942
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 0x44993f
mov ecx, 0x180e
cmp eax, ecx
ja 0x44998b
je case.0x447b2c.108
cmp eax, 9
je case.0x447b2c.108
cmp eax, 0x20
je case.0x447b2c.108
cmp eax, 0xa0
je case.0x447b2c.108
cmp eax, 0x1680
jmp 0x4499b8
cmp eax, 0x2000
jb 0x4499be
cmp eax, 0x200a
jbe case.0x447b2c.108
cmp eax, 0x202f
je case.0x447b2c.108
cmp eax, 0x205f
je case.0x447b2c.108
cmp eax, 0x3000
je case.0x447b2c.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449907
jmp 0x4498f4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449a2e
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x449a2e
jmp 0x449a18
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 0x449a15
mov ecx, 0x180e
cmp eax, ecx
ja 0x449a51
je 0x449a7c
cmp eax, 9
je 0x449a7c
cmp eax, 0x20
je 0x449a7c
cmp eax, 0xa0
je 0x449a7c
cmp eax, 0x1680
jmp 0x449a76
cmp eax, 0x2000
jb case.0x447b2c.108
cmp eax, 0x200a
jbe 0x449a7c
cmp eax, 0x202f
je 0x449a7c
cmp eax, 0x205f
je 0x449a7c
cmp eax, 0x3000
jne case.0x447b2c.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x4499dd
jmp 0x4498f4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449ae9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449ae2
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 0x449ad0
cmp edx, 0xa
jb 0x449b17
cmp edx, 0xd
jbe case.0x447b2c.108
cmp edx, 0x85
je case.0x447b2c.108
cmp edx, 0x2027
jbe 0x449b17
cmp edx, 0x2029
jbe case.0x447b2c.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449a9b
jmp 0x4498f4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449b84
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449b7d
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 0x449b6b
cmp edx, 0xa
jb case.0x447b2c.108
cmp edx, 0xd
jbe 0x449bb2
cmp edx, 0x85
je 0x449bb2
cmp edx, 0x2027
jbe case.0x447b2c.108
cmp edx, 0x2029
ja case.0x447b2c.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449b36
jmp 0x4498f4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449c1f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449c18
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 0x449c06
cmp edx, 0x80
jae 0x449c34
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x447b2c.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449bd1
jmp 0x4498f4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447b2c.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449c4f
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x449caf
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x447b2c.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x449cbd
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x449caf
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449c8f
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447b2c.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449cd5
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x449d35
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x447b2c.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x449d43
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x449d35
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449d15
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447b2c.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449d5b
jmp 0x44a03d
cmp ecx, 0xe
ja case.0x44bbe8.14
jmp dword [ecx*4 + 0x44bedd]
test byte [ebp + 0x1c], 4
jne case.0x449d99.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov edx, dword [edi + 0x18]
test edx, edx
je 0x449ddb
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x449e02
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne case.0x447b2c.108
inc eax
jmp 0x449e02
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x449e02
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x449e02
cmp ecx, eax
je case.0x447b2c.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x447b2c.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x449db1
jmp 0x449844
add esi, edx
jmp 0x44a03d
cmp edx, eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x447b2c.108
cmp ecx, 0xc
jle 0x449e5b
cmp ecx, 0xd
je 0x449e50
cmp ecx, 0x85
jne case.0x447b2c.108
jmp 0x449e5b
cmp esi, dword [ebp - 0x10]
jae 0x449e5b
cmp byte [esi], 0xa
jne 0x449e5b
inc esi
inc eax
cmp eax, edx
jle 0x449e22
jmp 0x44a03d
cmp edx, eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x447b2c.108
cmp ecx, 0x20
je case.0x447b2c.108
cmp ecx, 0xa0
je case.0x447b2c.108
inc eax
cmp eax, edx
jle 0x449e6d
jmp 0x44a03d
cmp edx, eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x449ecd
cmp ecx, 0x20
je 0x449ecd
cmp ecx, 0xa0
jne case.0x447b2c.108
inc eax
cmp eax, edx
jle 0x449eaa
jmp 0x44a03d
cmp edx, eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x449f06
cmp ecx, 0xd
jle case.0x447b2c.108
cmp ecx, 0x85
je case.0x447b2c.108
inc eax
cmp eax, edx
jle 0x449edf
jmp 0x44a03d
cmp edx, eax
jl 0x44a03d
cmp esi, dword [ebp - 0x10]
jae case.0x447b2c.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x447b2c.108
cmp ecx, 0xd
jle 0x449f3f
cmp ecx, 0x85
jne case.0x447b2c.108
inc eax
cmp eax, edx
jle 0x449f18
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449f57
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449f84
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449fb1
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449fd7
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449ffd
jmp 0x44a03d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03d
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x447b2c.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a023
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x447af5
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44b850
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44a77e
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44bbe8.14
jmp dword [eax*4 + 0x44bf19]
cmp ecx, 0x7fffffff
jge 0x44a132
test byte [ebp + 0x1c], 4
jne 0x44a0ff
cmp edx, ecx
mov ebx, edx
jge 0x44a76b
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44a76b
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a0bf
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne 0x44a76b
jmp 0x44a0ee
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a0ee
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a0ee
cmp ecx, 1
je 0x44a76b
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44a76b
jmp 0x44a0ee
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a0f4
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a0e6
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a091
jmp 0x44a76b
cmp edx, ecx
jge 0x44a76b
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44a76b
inc esi
cmp esi, eax
jae 0x44a127
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44a127
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a117
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a10a
jmp 0x44a76b
test byte [ebp + 0x1c], 4
jne 0x44a1b0
cmp edx, ecx
mov ebx, edx
jge 0x44a76b
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44a76b
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a170
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne 0x44a76b
jmp 0x44a19f
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a19f
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a19f
cmp ecx, 1
je 0x44a76b
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44a76b
jmp 0x44a19f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a1a5
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a197
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a142
jmp 0x44a76b
mov esi, dword [edi + 0x54]
jmp 0x44a76b
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44a1c5
mov ecx, eax
add esi, ecx
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a232
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a231
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 0x44a218
inc eax
cmp edx, 0xd
jne 0x44a249
inc esi
cmp esi, dword [edi + 0x54]
jae 0x44a76b
cmp byte [esi], 0xa
jne 0x44a276
inc esi
jmp 0x44a276
cmp edx, 0xa
je 0x44a274
cmp edx, 0xb
je 0x44a274
cmp edx, 0xc
je 0x44a274
cmp edx, 0x85
je 0x44a274
cmp edx, 0x2028
je 0x44a274
cmp edx, 0x2029
jne 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a1d7
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a2f0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a2ef
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 0x44a2d6
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44a33e
je 0x44a366
cmp edx, 9
je 0x44a366
cmp edx, 0x20
je 0x44a366
cmp edx, 0xa0
je 0x44a366
cmp edx, 0x1680
je 0x44a366
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a295
jmp 0x44a76b
cmp edx, 0x2000
jb 0x44a315
cmp edx, 0x200a
jbe 0x44a366
cmp edx, 0x202f
je 0x44a366
cmp edx, 0x205f
je 0x44a366
cmp edx, 0x3000
jne 0x44a315
xor ecx, ecx
inc ecx
jmp 0x44a317
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a3d1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a3d0
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 0x44a3b7
inc eax
cmp edx, 0xa
jb 0x44a3f8
cmp edx, 0xd
jbe 0x44a3f3
cmp edx, 0x85
je 0x44a3f3
cmp edx, 0x2027
jbe 0x44a3f8
cmp edx, 0x2029
ja 0x44a3f8
xor ecx, ecx
inc ecx
jmp 0x44a3fa
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a376
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a487
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a486
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 0x44a46d
inc eax
cmp edx, 0x100
jae 0x44a49c
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a42c
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a514
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a513
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 0x44a4fa
inc eax
cmp edx, 0x100
jae 0x44a76b
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a4b9
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a5a9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a5a8
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 0x44a58f
inc eax
cmp edx, 0x100
jae 0x44a5be
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a54e
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a636
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a635
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 0x44a61c
inc eax
cmp edx, 0x100
jae 0x44a76b
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a5db
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a6cb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a6ca
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 0x44a6b1
inc eax
cmp edx, 0x100
jae 0x44a6e0
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a670
jmp 0x44a76b
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a76b
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a76b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a74d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44a74c
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 0x44a733
inc eax
cmp edx, 0x100
jae 0x44a76b
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44a76b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a6f6
cmp dword [ebp - 0x1c], 0
jne 0x447af5
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44bcf2
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44bbe8.14
jmp dword [eax*4 + 0x44bf55]
test byte [ebp + 0x1c], 4
jne case.0x44a78a.13
cmp edx, ecx
mov ebx, edx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a7ce
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne 0x44aa45
jmp 0x44a7f3
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a7f3
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a7f3
cmp ecx, 1
je 0x44aa45
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44aa45
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a7a1
jmp 0x44aa45
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44a80c
mov ecx, eax
add esi, ecx
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa45
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44a83e
inc esi
cmp esi, ecx
jae 0x44aa45
cmp byte [esi], 0xa
jne 0x44a859
jmp 0x44a858
cmp eax, 0xa
je 0x44a858
cmp eax, 0xb
je 0x44a858
cmp eax, 0xc
je 0x44a858
cmp eax, 0x85
jne 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a81e
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa45
movzx eax, byte [esi]
cmp eax, 9
je 0x44aa45
cmp eax, 0x20
je 0x44aa45
cmp eax, 0xa0
je 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a86f
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa45
movzx eax, byte [esi]
cmp eax, 9
je 0x44a8ce
cmp eax, 0x20
je 0x44a8ce
cmp eax, 0xa0
jne 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a8ae
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa45
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44aa45
cmp eax, 0xb
je 0x44aa45
cmp eax, 0xc
je 0x44aa45
cmp eax, 0xd
je 0x44aa45
cmp eax, 0x85
je 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a8e5
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa45
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44a960
cmp eax, 0xb
je 0x44a960
cmp eax, 0xc
je 0x44a960
cmp eax, 0xd
je 0x44a960
cmp eax, 0x85
jne 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a936
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a977
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a9a6
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a9ce
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a9ee
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44aa0e
jmp 0x44aa45
cmp edx, ecx
jge 0x44aa45
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa45
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44aa45
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44aa2e
cmp dword [ebp - 0x1c], 0
jne 0x447af5
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
dec esi
test eax, eax
jne 0x44bd17
cmp esi, dword [ebp - 0x14]
jae 0x44aa5c
jmp case.0x447b2c.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 0x44aab1
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44aa9f
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 0x44ae2f
mov dword [ebp + 0x24], edx
jmp 0x44ac20
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 0x44ad38
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44aaf3
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 0x44ab56
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 + 0x465758]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447aa9
add esp, 0x24
test eax, eax
je 0x44ab3e
cmp eax, 0xfffffc1c
jne 0x44bd17
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 0x44ab04
cmp dword [ebp + 0x24], 0
jne 0x44adff
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x465758]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44ac20
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov eax, dword [ebp - 0x20]
jmp 0x447ebd
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 0x44abf1
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
cmp dword [ebp + 0x24], eax
jne 0x44afb5
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44ac20
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
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 0x447acc
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44bd16
push 0xffffffffffffffeb
jmp 0x44bd16
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 + 0x465758]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov eax, 0xfffffc1a
jmp 0x44bd17
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 + 0x465758]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov eax, 0xfffffc19
jmp 0x44bd17
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 + 0x465758]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov dword [edi + 0x58], esi
mov eax, 0xfffffc1b
jmp 0x44bd17
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 + 0x465758]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov eax, 0xfffffc1c
jmp 0x44bd17
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 0x44ad77
mov dword [ebp + 0x24], 2
jmp 0x44ad7b
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 + 0x465758]
push dword [ebp + 0x1c]
add ecx, eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push esi
call fcn.00447aa9
add esp, 0x24
test eax, eax
je 0x44adbd
cmp eax, 0xfffffc1c
jne 0x44bd17
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 0x44ad82
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.0x447b2c.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 + 0x465758]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00447aa9
add esp, 0x24
jmp 0x44bd17
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 0x44ae21
cmp dword [edi + 0x40], 0
je 0x44ae55
cmp esi, dword [ebp + 0x10]
je case.0x447b2c.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 0x44bd17
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 0x44ae86
and dword [ebp - 0x38], 0
jmp 0x44ae91
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 0x44aeb9
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44aed5
shl eax, 2
push eax
call dword [0x470150]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44aed2
push 0xfffffffffffffffa
jmp 0x44bd16
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.0044f370
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 + 0x465758]
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.00447aa9
add esp, 0x24
cmp eax, 1
je 0x44af91
test eax, eax
je 0x44af3c
cmp eax, 0xfffffc1c
jne 0x44bd17
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.0044f370
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 0x44af02
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x447b2c.108
push dword [ebp - 0x2c]
call dword [0x470154]
pop ecx
jmp case.0x447b2c.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44ae64
push dword [ebp - 0x2c]
call dword [0x470154]
pop ecx
jmp 0x44ae64
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 0x44ae21
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x60], eax
jmp 0x44ae61
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2c.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447a4b
test eax, eax
pop ecx
pop ecx
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44afda
jmp 0x44bd17
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44b05d
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447a4b
test eax, eax
pop ecx
pop ecx
je 0x44b054
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b034
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44b061
jmp case.0x447b2c.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b0ef
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b0ef
jmp 0x44b0d9
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 0x44b0d6
cmp eax, 0xff
jbe 0x44b0fc
cmp dword [ebp - 8], 0x4d
jmp 0x44b111
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.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b092
jmp 0x44bd17
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b182
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.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.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b14b
jmp 0x44bd17
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44b2a5
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44b25f
cmp esi, dword [edi + 0x54]
mov dword [ebp - 0x20], 1
jae 0x44b25f
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44b229
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
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 0x44b222
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 0x44b206
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44b236
cmp dword [ebp - 8], 0x4d
jmp 0x44b24b
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 0x44b25f
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b1bf
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44b283
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2c.108
jmp 0x44b278
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b277
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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b269
jmp 0x44bd17
cmp edx, dword [ebp - 4]
jge 0x44b2d9
cmp esi, dword [edi + 0x54]
jae 0x44b2d0
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 0x44b2d0
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b2aa
cmp esi, dword [ebp - 0x14]
jb case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44b2dd
jmp case.0x447b2c.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44b363
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov edx, dword [eax*4 + 0x4657fc]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44b35f
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 0x44b34f
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044cbd7
test eax, eax
pop ecx
pop ecx
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b30c
jmp 0x44bd17
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44b41e
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x54]
jae 0x44b423
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b407
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
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 0x44b404
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 0x44b3eb
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044cbd7
test eax, eax
pop ecx
pop ecx
je 0x44b423
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b3ae
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b446
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2c.108
cmp dword [ebp - 0x18], 0
je 0x44b446
jmp 0x44b43e
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b43d
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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b429
jmp 0x44bd17
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b4a6
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044db43
add esp, 0xc
test eax, eax
jne case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b474
jmp 0x44bd17
cmp esi, dword [ebp - 0x14]
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b4cb
jmp 0x44bd17
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b531
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b505
jmp 0x44bd17
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b584
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b55f
jmp 0x44bd17
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44b672
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 0x44b65c
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b617
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b610
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 0x44b5fe
cmp edx, 0x100
jae 0x44b626
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
cmp dword [ebp - 8], edx
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b5d2
jmp 0x44bd17
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b6a4
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b678
jmp 0x44bd17
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2c.108
jmp 0x44b6d8
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b6d7
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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b6c9
jmp 0x44bd17
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44b7bb
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 0x44b7a5
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b76f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x465818]
mov ebx, dword [eax*4 + 0x4657fc]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b768
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 0x44b756
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
cmp dword [ebp - 8], edx
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b72a
jmp 0x44bd17
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44b7eb
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2c.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b7c3
jmp 0x44bd17
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2c.108
jmp 0x44b81c
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b81b
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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b80d
jmp 0x44bd17
push 0xfffffffffffffff2
jmp 0x44bd16
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44bb67
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.00447aa9
add esp, 0x24
test eax, eax
jne 0x44bd17
mov ebx, 0x100
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2c.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x447b2c.108
cmp dword [ebp - 0xc], 0xc
jne 0x44b8f8
test byte [ebp + 0x1c], 4
jne 0x44b8f8
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44b8d3
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne case.0x447b2c.108
jmp 0x44b8f8
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44b8f8
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44b8f8
cmp ecx, 1
je case.0x447b2c.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447b2c.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b945
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x465818]
mov ebx, dword [edx*4 + 0x4657fc]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b940
jmp 0x44b92a
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 0x44b927
mov ebx, 0x100
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44bbe8.14
jmp dword [ecx*4 + 0x44bf91]
cmp eax, 0xa
jb case.0x447b2c.108
cmp eax, 0xc
jbe case.0x44b954.12
cmp eax, 0xd
jne 0x44bab3
cmp esi, dword [edi + 0x54]
jae case.0x44b954.12
cmp byte [esi], 0xa
jne case.0x44b954.12
inc esi
jmp case.0x44b954.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44b9c4
je case.0x447b2c.108
cmp eax, 9
je case.0x447b2c.108
cmp eax, 0x20
je case.0x447b2c.108
cmp eax, 0xa0
je case.0x447b2c.108
cmp eax, 0x1680
jmp 0x44bb33
cmp eax, 0x2000
jb case.0x44b954.12
cmp eax, 0x200a
jbe case.0x447b2c.108
cmp eax, 0x202f
je case.0x447b2c.108
cmp eax, 0x205f
je case.0x447b2c.108
cmp eax, 0x3000
jmp 0x44bb33
mov ecx, 0x180e
cmp eax, ecx
ja 0x44ba2d
je case.0x44b954.12
cmp eax, 9
je case.0x44b954.12
cmp eax, 0x20
je case.0x44b954.12
cmp eax, 0xa0
je case.0x44b954.12
cmp eax, 0x1680
jmp 0x44ba5e
cmp eax, 0x2000
jb case.0x447b2c.108
cmp eax, 0x200a
jbe case.0x44b954.12
cmp eax, 0x202f
je case.0x44b954.12
cmp eax, 0x205f
je case.0x44b954.12
cmp eax, 0x3000
jne case.0x447b2c.108
jmp case.0x44b954.12
cmp eax, 0xa
jb case.0x44b954.12
cmp eax, 0xd
jbe case.0x447b2c.108
cmp eax, 0x85
je case.0x447b2c.108
cmp eax, 0x2027
jbe case.0x44b954.12
cmp eax, 0x2029
jbe case.0x447b2c.108
jmp case.0x44b954.12
cmp eax, 0xa
jb case.0x447b2c.108
cmp eax, 0xd
jbe case.0x44b954.12
cmp eax, 0x85
je case.0x44b954.12
cmp eax, 0x2027
jbe case.0x447b2c.108
cmp eax, 0x2029
ja case.0x447b2c.108
jmp case.0x44b954.12
cmp eax, ebx
jae case.0x44b954.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44ba5e
cmp eax, ebx
jae case.0x447b2c.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bb33
cmp eax, ebx
jae case.0x44b954.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44ba5e
cmp eax, ebx
jae case.0x447b2c.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bb33
cmp eax, ebx
jae case.0x44b954.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44ba5e
cmp eax, ebx
jae case.0x447b2c.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44b88d
jmp 0x44bd17
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44bcb8
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2c.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x447b2c.108
test byte [ebp + 0x1c], 4
jne 0x44bbd5
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44bbb0
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f7
add esp, 0x14
test eax, eax
jne case.0x447b2c.108
jmp 0x44bbd5
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44bbd5
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44bbd5
cmp ecx, 1
je case.0x447b2c.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447b2c.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44bbe8.14
jmp dword [ecx*4 + 0x44bfcd]
cmp eax, 0xa
jb case.0x447b2c.108
cmp eax, 0xc
jbe case.0x44bbe8.12
cmp eax, 0xd
jne 0x44bc71
cmp esi, dword [edi + 0x54]
jae case.0x44bbe8.12
cmp byte [esi], 0xa
jne case.0x44bbe8.12
inc esi
jmp case.0x44bbe8.12
cmp eax, 9
je case.0x447b2c.108
cmp eax, 0x20
je case.0x447b2c.108
cmp eax, 0xa0
jmp 0x44bcac
cmp eax, 9
je case.0x44bbe8.12
cmp eax, 0x20
je case.0x44bbe8.12
cmp eax, 0xa0
jne case.0x447b2c.108
jmp case.0x44bbe8.12
cmp eax, 0xa
jb case.0x44bbe8.12
cmp eax, 0xd
jbe case.0x447b2c.108
cmp eax, 0x85
jmp 0x44bcac
cmp eax, 0xa
jb case.0x447b2c.108
cmp eax, 0xd
jbe case.0x44bbe8.12
cmp eax, 0x85
jmp 0x44bc46
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bc46
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bcac
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bc46
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bcac
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44bc46
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x447b2c.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.00447aa9
add esp, 0x24
test eax, eax
je 0x44bb71
jmp 0x44bd17
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2c.108
jmp 0x44bcea
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44bce9
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.00447aa9
add esp, 0x24
test eax, eax
je 0x44bcdb
jmp 0x44bd17
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret