Function at 0x447aa7
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 0x44ac2f
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44ac38
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x447af3
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 0x447b1a
cmp esi, dword [edi + 0x54]
jb 0x447b1a
cmp esi, dword [ebp + 0x10]
jbe 0x447b1a
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x447b2a.14
movzx eax, byte [ecx + 0x44be2f]
jmp dword [eax*4 + 0x44bd1b]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x447b65
mov eax, dword [edi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x447b57
cmp ecx, 0xffff
je 0x447b81
cmp ecx, dword [eax + 4]
je 0x447b81
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x447bdd
cmp cl, 0x63
jne 0x447b89
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x447b57
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x447b57
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x447b61
cmp cl, 0x65
jne 0x447b9a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x447be5
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.00447aa7
add esp, 0x24
cmp eax, 1
je 0x44aa89
test eax, eax
je 0x447bcf
cmp eax, 0xfffffc1c
jne 0x44bd15
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 0x44aab4
cmp byte [ebx], 0x53
je 0x44aab4
jmp 0x447d1a
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x44ae44
cmp dword [ebx + 4], 0
jne 0x44ae44
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 0x447af3
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x447d1d
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.00447aa7
add esp, 0x24
cmp eax, 1
je 0x447c92
test eax, eax
je 0x447c83
cmp eax, 0xfffffc1c
jne 0x44bd15
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447c51
cmp byte [ebx], 0x54
je case.0x447b2a.108
test byte [ebp + 0x24], 1
jne 0x44ae62
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447ca5
mov eax, dword [edi + 0x60]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x447af3
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.00447aa7
add esp, 0x24
cmp eax, 1
je case.0x447b2a.108
test eax, eax
je 0x447d01
cmp eax, 0xfffffc1c
jne 0x44bd15
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447ccf
test byte [ebp + 0x24], 1
jne 0x44ae62
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x447af3
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x447d57
cmp eax, edx
jle 0x447d1a
mov ecx, dword [edi + 0x50]
dec eax
dec esi
cmp esi, ecx
jae 0x447d47
xor eax, eax
jmp 0x44bd15
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x447d46
test eax, eax
jg 0x447d39
jmp 0x447d1a
sub esi, eax
cmp esi, dword [edi + 0x50]
jb case.0x447b2a.108
jmp 0x447d1a
mov ecx, dword [0x472a60]
cmp ecx, edx
je 0x447ddd
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.0x447b2a.108
jl 0x44bd15
add ebx, 6
jmp 0x447d1d
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.00447aa7
add esp, 0x24
cmp eax, 1
je 0x447e37
test eax, eax
je 0x447e28
cmp eax, 0xfffffc1c
jne 0x44bd15
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447df5
mov al, byte [ebx]
cmp al, 0x5c
je 0x447e45
cmp al, 0x53
jne case.0x447b2a.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447e45
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x60]
mov esi, dword [edi + 0x5c]
mov dword [ebp + 0x14], eax
je 0x447d1a
cmp esi, dword [ebp - 0x1c]
je 0x447d1a
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x447e89
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 0x44ab72
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44ac1a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x447b2a.83
jmp 0x447d1d
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x447f01
jmp 0x447d1a
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 0x447f18
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
jmp 0x447d1d
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 0x447f73
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 0x44afcd
cmp al, 0x58
je 0x44afcd
cmp al, 0x59
je 0x44afcd
cmp al, 0x5a
je 0x44afcd
cmp al, 0x5c
je 0x44afcd
cmp al, 0x5e
je 0x447fad
cmp al, 0x61
jne 0x448031
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 0x447fcc
mov dword [edi + 0x2c], 1
jmp 0x447ff4
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 0x447ff4
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x448031
cmp dword [ebx + 4], edx
jne 0x448031
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 0x447af3
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x448048
cmp esi, dword [ebp - 0x1c]
jne 0x44ab9b
add eax, 3
jmp 0x447c31
cmp dword [edi + 0x30], edx
je 0x44805e
cmp esi, dword [edi + 0x50]
je case.0x447b2a.108
test byte [ebp + 0x1c], 2
je case.0x447b2a.1
mov ecx, dword [edi + 0x50]
cmp esi, ecx
je 0x4480cc
cmp esi, dword [edi + 0x54]
je case.0x447b2a.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x44809f
cmp esi, ecx
jbe case.0x447b2a.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044c8c0
add esp, 0x14
test eax, eax
je case.0x447b2a.108
jmp 0x4480cc
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x447b2a.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x447b2a.108
cmp eax, 1
je 0x4480cc
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x447b2a.108
inc ebx
jmp 0x447d1d
cmp esi, dword [edi + 0x50]
jmp 0x4480c6
mov eax, dword [edi + 0x68]
add eax, dword [edi + 0x50]
cmp esi, eax
jmp 0x4480c6
mov dword [ebp + 0x10], esi
jmp 0x4480cc
test byte [ebp + 0x1c], 2
je 0x448132
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44812d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44810b
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
jmp 0x448092
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x447b2a.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x447b2a.108
cmp ecx, 1
je 0x4480cc
mov al, byte [esi + 1]
jmp 0x4480c3
cmp dword [edi + 0x34], edx
jmp 0x4480c6
cmp dword [edi + 0x34], edx
jne case.0x447b2a.108
cmp dword [edi + 0x3c], edx
jne case.0x447b2a.23
mov eax, dword [edi + 0x54]
cmp esi, eax
je 0x4481aa
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448172
cmp esi, eax
jae case.0x447b2a.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
je case.0x447b2a.108
jmp 0x44819d
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x447b2a.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x447b2a.108
cmp ecx, 1
je 0x44819d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x447b2a.108
mov eax, dword [edi + 0x54]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x447b2a.108
inc dword [ebp + 0xc]
jmp 0x447af3
cmp esi, dword [edi + 0x54]
jb case.0x447b2a.108
jmp 0x4480cc
cmp dword [ebp - 0x18], edx
je 0x4482d5
cmp esi, dword [edi + 0x50]
jne 0x4481d6
mov dword [ebp + 0x18], edx
jmp 0x44825f
lea eax, [esi - 1]
jmp 0x4481dc
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x4481db
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x448241
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 0x44823e
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 0x448220
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x44825b
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44825b
mov dword [ebp + 0x18], 1
jmp 0x44825f
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x54]
jb 0x448268
xor eax, eax
jmp 0x4482d1
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4482b6
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 0x4482b6
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 0x44829d
cmp edx, 0x100
jae 0x4482cc
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x4482cc
xor eax, eax
inc eax
jmp 0x4482ce
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x448309
cmp esi, dword [edi + 0x50]
je 0x4482ee
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x4482f1
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x54]
jae 0x448307
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x448307
xor eax, eax
inc eax
jmp 0x448309
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x44831e
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x448326
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x447af3
jmp case.0x447b2a.108
test byte [ebp + 0x1c], 4
jne 0x44838d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x448365
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44838d
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne case.0x447b2a.108
jmp 0x44838d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x54]
sub ecx, eax
cmp esi, ecx
ja 0x44838d
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44838d
cmp eax, 1
je case.0x447b2a.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447b2a.108
mov eax, dword [edi + 0x54]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x447b2a.108
cmp dword [ebp - 0x18], 0
je 0x4480cc
cmp esi, eax
jae 0x4480cc
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4480cc
inc esi
cmp esi, dword [edi + 0x54]
jb 0x4483ad
jmp 0x4480cc
mov eax, esi
inc esi
cmp eax, dword [edi + 0x54]
jae case.0x447b2a.108
jmp 0x4480cc
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448429
cmp edx, 0xc0
jb 0x448429
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 0x448422
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 0x448410
cmp edx, 0x100
jae 0x4481aa
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x4481a4
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448495
cmp edx, 0xc0
jb 0x448495
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 0x44848e
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 0x44847c
cmp edx, 0x100
jae case.0x447b2a.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x447b2a.108
jmp 0x4481aa
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448507
cmp edx, 0xc0
jb 0x448507
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 0x448500
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 0x4484ee
cmp edx, 0x100
jae 0x4481aa
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x4481a4
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448573
cmp edx, 0xc0
jb 0x448573
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 0x44856c
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 0x44855a
cmp edx, 0x100
jae case.0x447b2a.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x4484a8
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4485df
cmp edx, 0xc0
jb 0x4485df
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 0x4485d8
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 0x4485c6
cmp edx, 0x100
jae 0x4481aa
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x4481a4
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44864b
cmp edx, 0xc0
jb 0x44864b
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 0x448644
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 0x448632
cmp edx, 0x100
jae case.0x447b2a.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x4484a8
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4486b7
cmp edx, 0xc0
jb 0x4486b7
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 0x4486b0
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 0x44869e
cmp edx, 0xa
jb case.0x447b2a.108
cmp edx, 0xc
jbe 0x4481aa
cmp edx, 0xd
je 0x4486f7
cmp edx, 0x85
je 0x4481aa
cmp edx, 0x2027
jbe case.0x447b2a.108
cmp edx, 0x2029
ja case.0x447b2a.108
jmp 0x4481aa
cmp esi, dword [edi + 0x54]
jae 0x4481aa
cmp byte [esi], 0xa
jne 0x4481aa
inc esi
jmp 0x4481aa
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x448765
cmp eax, 0xc0
jb 0x448765
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 0x448765
jmp 0x44874f
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 0x44874c
mov ecx, 0x180e
cmp eax, ecx
ja 0x44879b
je case.0x447b2a.108
cmp eax, 9
je case.0x447b2a.108
cmp eax, 0x20
je case.0x447b2a.108
cmp eax, 0xa0
je case.0x447b2a.108
cmp eax, 0x1680
jmp 0x4484a8
cmp eax, 0x2000
jb 0x4481aa
cmp eax, 0x200a
jbe case.0x447b2a.108
cmp eax, 0x202f
je case.0x447b2a.108
cmp eax, 0x205f
je case.0x447b2a.108
cmp eax, 0x3000
jmp 0x4484a8
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x448827
cmp eax, 0xc0
jb 0x448827
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 0x448827
jmp 0x448811
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 0x44880e
mov ecx, 0x180e
cmp eax, ecx
ja 0x44885d
je 0x4481aa
cmp eax, 9
je 0x4481aa
cmp eax, 0x20
je 0x4481aa
cmp eax, 0xa0
je 0x4481aa
cmp eax, 0x1680
jmp 0x4481a4
cmp eax, 0x2000
jb case.0x447b2a.108
cmp eax, 0x200a
jbe 0x4481aa
cmp eax, 0x202f
je 0x4481aa
cmp eax, 0x205f
je 0x4481aa
cmp eax, 0x3000
jmp 0x4481a4
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4488e7
cmp edx, 0xc0
jb 0x4488e7
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 0x4488e0
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 0x4488ce
cmp edx, 0xa
jb 0x4481aa
cmp edx, 0xd
jbe case.0x447b2a.108
cmp edx, 0x85
je case.0x447b2a.108
cmp edx, 0x2027
jbe 0x4481aa
cmp edx, 0x2029
jbe case.0x447b2a.108
jmp 0x4481aa
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x448976
cmp edx, 0xc0
jb 0x448976
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 0x44896f
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 0x44895d
cmp edx, 0xa
jb case.0x447b2a.108
cmp edx, 0xd
jbe 0x4481aa
jmp 0x4486ce
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 0x4489b8
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x4489b8
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x4489be
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 0x448a93
cmp al, 0x4a
jbe 0x448a0d
cmp al, 0x4c
ja 0x448a93
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 0x448a05
mov dword [ebp - 4], SysReAllocString
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x448a3a
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 0x448a3a
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x10], 0
je 0x447af3
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x448a74
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447a49
test eax, eax
pop ecx
pop ecx
je case.0x447b2a.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x448a4e
cmp ebx, dword [ebp - 4]
je 0x447af3
cmp dword [ebp - 0x24], 0
je 0x44b02a
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b005
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.00447a49
test eax, eax
pop ecx
pop ecx
je case.0x447b2a.108
add esi, ebx
jmp 0x447af3
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 0x448b31
cmp al, 0x4a
jbe 0x448afe
cmp al, 0x4c
ja 0x448b31
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 0x448af6
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x448b3a
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 0x448b3a
mov dword [ebp - 4], SysReAllocString
jmp 0x448b3a
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 0x448bdf
cmp edx, eax
jl 0x448c16
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x448ba6
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 0x448ba3
jmp 0x448b8d
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 0x448b8a
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x448bb3
cmp dword [ebp - 8], 0x4d
jmp 0x448bc8
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.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x448b52
mov ebx, dword [ebp + 0xc]
jmp 0x448c16
cmp edx, eax
jl 0x448c16
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.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.0x447b2a.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x448be3
cmp edx, dword [ebp - 4]
je 0x447af3
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44b1a5
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44b143
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 0x44b12d
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 0x448cda
cmp al, 0x4a
jbe 0x448ca7
cmp al, 0x4c
ja 0x448cda
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 0x448c9f
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x448ce3
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 0x448ce3
mov dword [ebp - 4], SysReAllocString
jmp 0x448ce3
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 0x448d5e
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x448d39
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 0x448d35
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 0x448d25
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044cbd5
test eax, eax
pop ecx
pop ecx
je case.0x447b2a.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x448cee
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x447af3
cmp dword [ebp - 0x24], edx
je 0x44b3a4
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 0x44b38e
cmp dword [ebp - 0x18], edx
je 0x448dde
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x448db4
and eax, 0x3f
movzx ecx, byte [eax + 0x465818]
inc ecx
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ecx, eax
jg case.0x447b2a.108
jmp 0x448dd5
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x447b2a.108
test ecx, ecx
jg 0x448dc3
jmp 0x447af3
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x447b2a.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x447b2a.108
jmp 0x447c40
cmp dword [ebp - 0x18], edx
je 0x448ef2
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 0x448e73
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 0x448e69
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 0x448e4c
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.0x447b2a.108
cmp dword [ebp - 8], 0x80
jae 0x448e9f
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 0x44832a
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x448ee1
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 0x448edd
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 0x448ecd
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x44832a
mov eax, dword [edi + 0x54]
sub eax, esi
cmp eax, 1
jl case.0x447b2a.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 0x448df2
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 0x448fa6
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 0x448f24
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x448f9f
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x448f59
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x448fa6
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 0x448fa6
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x18], 0
je 0x4490c2
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 0x449024
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 0x449020
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 0x448ffd
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.0x447b2a.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x4490de
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x449071
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044db43
add esp, 0xc
test eax, eax
jne case.0x447b2a.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44904f
cmp ebx, dword [ebp - 4]
je 0x447af3
cmp dword [ebp - 0x24], 0
jne 0x44b469
mov dword [ebp - 0x14], esi
jmp 0x4490aa
mov eax, dword [edi + 0x54]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x4490af
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044db43
add esp, 0xc
test eax, eax
jne 0x4490af
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449089
cmp dword [ebp - 0x1c], 0
jne 0x447af3
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b4d5
mov eax, dword [edi + 0x54]
sub eax, esi
cmp ebx, eax
jg case.0x447b2a.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 0x449184
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x44910e
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x447b2a.108
inc eax
cmp eax, ebx
jle 0x4490f8
cmp ebx, dword [ebp - 4]
je 0x447af3
cmp dword [ebp - 0x24], 0
jne 0x44b4fa
mov dword [ebp - 0x14], esi
jmp 0x449139
cmp esi, dword [edi + 0x54]
jae 0x44913e
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x44913e
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x449126
cmp dword [ebp - 0x1c], 0
jne 0x447af3
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
dec esi
test eax, eax
jne 0x44bd15
cmp esi, dword [ebp - 0x14]
jae 0x449155
jmp case.0x447b2a.108
cmp ebx, edx
mov ecx, edx
jl 0x44919b
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x447b2a.108
inc ecx
cmp ecx, ebx
jle 0x44918a
cmp ebx, dword [ebp - 4]
je 0x447af3
cmp dword [ebp - 0x24], 0
jne 0x44b554
mov dword [ebp - 0x14], esi
jmp 0x4491c2
cmp esi, dword [edi + 0x54]
jae 0x4491c7
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x4491c7
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x4491b3
cmp dword [ebp - 0x1c], 0
jne 0x447af3
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
dec esi
test eax, eax
jne 0x44bd15
cmp esi, dword [ebp - 0x14]
jae 0x4491de
jmp case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x449265
cmp edx, 0xc0
jb 0x449265
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 0x44925e
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 0x44924c
test byte [ebp + 0x1c], 1
je 0x449297
cmp edx, 0x100
jae 0x44927a
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 0x447af3
jmp case.0x447b2a.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x449287
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x44932c
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 0x4492aa
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x449325
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x4492d2
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x44932c
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 0x4492aa
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 0x44932c
mov dword [ebp - 4], SysReAllocString
mov eax, dword [edi + 0x54]
sub eax, esi
cmp edx, eax
jg case.0x447b2a.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x449524
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x4493e7
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44940a
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x4493c2
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 0x4493bb
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 0x4493a1
cmp ebx, 0x100
jae 0x4493d1
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44936f
mov ebx, dword [ebp + 0xc]
jmp 0x44940a
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x44940a
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x4493f1
cmp edx, dword [ebp - 4]
je 0x447af3
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44b5a7
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x4494da
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x4494ad
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x4494ad
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44948c
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 0x449488
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 0x44946f
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44949b
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x4494ad
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x449432
cmp dword [ebp - 0x1c], 0
jne 0x447af3
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44b6e1
cmp esi, dword [edi + 0x54]
jae 0x4494df
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x4494df
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x4494c4
cmp dword [ebp - 0x1c], ecx
jne 0x447af3
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x4494f5
jmp case.0x447b2a.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x44959d
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x4495b3
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x449587
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 0x449580
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 0x449566
cmp dword [ebp - 8], ebx
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449534
mov ebx, dword [ebp + 0xc]
jmp 0x4495b3
cmp edx, eax
jl 0x4495b3
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x447b2a.108
inc eax
cmp eax, edx
jle 0x4495a1
cmp edx, dword [ebp - 4]
je 0x447af3
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44b703
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x449673
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44964d
jmp 0x4495df
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44964d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x449639
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 0x449635
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 0x44961c
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44964b
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x4495dd
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x447af3
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44b827
cmp esi, dword [edi + 0x54]
jae 0x449678
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x449678
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x449664
cmp dword [ebp - 0x1c], ecx
jne 0x447af3
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44968e
jmp case.0x447b2a.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 0x449776
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 0x449773
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], SysReAllocString
inc ebx
jmp 0x4496f9
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x449709
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x449710
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 0x4496f6
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 0x449773
mov dword [ebp - 4], SysReAllocString
xor eax, eax
inc eax
movzx ecx, byte [ebx]
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 0x54]
mov dword [ebp - 0x10], ecx
inc ebx
sub ecx, esi
cmp edx, ecx
mov dword [ebp + 0xc], ebx
jg case.0x447b2a.108
test edx, edx
jle 0x44a03b
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x449d8e
cmp ecx, 0xe
ja case.0x44bbe6.14
jmp dword [ecx*4 + 0x44be9f]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x447b2a.108
test byte [ebp + 0x1c], 4
jne 0x44981c
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4497f8
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne case.0x447b2a.108
inc eax
jmp 0x44981c
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44981c
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44981c
cmp edx, eax
je case.0x447b2a.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x447b2a.108
mov ecx, dword [edi + 0x54]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x449837
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x449837
inc esi
cmp esi, dword [edi + 0x54]
jb 0x449827
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x4497c3
mov edx, dword [ebp - 0x14]
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x4498a3
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 0x44989c
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 0x44988a
cmp edx, 0xa
jb case.0x447b2a.108
cmp edx, 0xc
jbe 0x4498e3
cmp edx, 0xd
je 0x4498d8
cmp edx, 0x85
je 0x4498e3
cmp edx, 0x2027
jbe case.0x447b2a.108
cmp edx, 0x2029
ja case.0x447b2a.108
jmp 0x4498e3
cmp esi, dword [ebp - 0x10]
jae 0x4498e3
cmp byte [esi], 0xa
jne 0x4498e3
inc esi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449855
mov ebx, dword [ebp + 0xc]
jmp 0x449842
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449956
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 0x449956
jmp 0x449940
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 0x44993d
mov ecx, 0x180e
cmp eax, ecx
ja 0x449989
je case.0x447b2a.108
cmp eax, 9
je case.0x447b2a.108
cmp eax, 0x20
je case.0x447b2a.108
cmp eax, 0xa0
je case.0x447b2a.108
cmp eax, 0x1680
jmp 0x4499b6
cmp eax, 0x2000
jb 0x4499bc
cmp eax, 0x200a
jbe case.0x447b2a.108
cmp eax, 0x202f
je case.0x447b2a.108
cmp eax, 0x205f
je case.0x447b2a.108
cmp eax, 0x3000
je case.0x447b2a.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449905
jmp 0x4498f2
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449a2c
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 0x449a2c
jmp 0x449a16
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 0x449a13
mov ecx, 0x180e
cmp eax, ecx
ja 0x449a4f
je 0x449a7a
cmp eax, 9
je 0x449a7a
cmp eax, 0x20
je 0x449a7a
cmp eax, 0xa0
je 0x449a7a
cmp eax, 0x1680
jmp 0x449a74
cmp eax, 0x2000
jb case.0x447b2a.108
cmp eax, 0x200a
jbe 0x449a7a
cmp eax, 0x202f
je 0x449a7a
cmp eax, 0x205f
je 0x449a7a
cmp eax, 0x3000
jne case.0x447b2a.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x4499db
jmp 0x4498f2
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449ae7
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 0x449ae0
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 0x449ace
cmp edx, 0xa
jb 0x449b15
cmp edx, 0xd
jbe case.0x447b2a.108
cmp edx, 0x85
je case.0x447b2a.108
cmp edx, 0x2027
jbe 0x449b15
cmp edx, 0x2029
jbe case.0x447b2a.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449a99
jmp 0x4498f2
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449b82
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 0x449b7b
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 0x449b69
cmp edx, 0xa
jb case.0x447b2a.108
cmp edx, 0xd
jbe 0x449bb0
cmp edx, 0x85
je 0x449bb0
cmp edx, 0x2027
jbe case.0x447b2a.108
cmp edx, 0x2029
ja case.0x447b2a.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449b34
jmp 0x4498f2
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x449c1d
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 0x449c16
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 0x449c04
cmp edx, 0x80
jae 0x449c32
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x447b2a.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449bcf
jmp 0x4498f2
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447b2a.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449c4d
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x449cad
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x447b2a.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x449cbb
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x449cad
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449c8d
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447b2a.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449cd3
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x449d33
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x447b2a.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x449d41
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x449d33
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449d13
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x447b2a.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449d59
jmp 0x44a03b
cmp ecx, 0xe
ja case.0x44bbe6.14
jmp dword [ecx*4 + 0x44bedb]
test byte [ebp + 0x1c], 4
jne case.0x449d97.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov edx, dword [edi + 0x18]
test edx, edx
je 0x449dd9
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x449e00
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne case.0x447b2a.108
inc eax
jmp 0x449e00
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x54]
sub edx, ecx
cmp esi, edx
ja 0x449e00
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x449e00
cmp ecx, eax
je case.0x447b2a.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x447b2a.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x449daf
jmp 0x449842
add esi, edx
jmp 0x44a03b
cmp edx, eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x447b2a.108
cmp ecx, 0xc
jle 0x449e59
cmp ecx, 0xd
je 0x449e4e
cmp ecx, 0x85
jne case.0x447b2a.108
jmp 0x449e59
cmp esi, dword [ebp - 0x10]
jae 0x449e59
cmp byte [esi], 0xa
jne 0x449e59
inc esi
inc eax
cmp eax, edx
jle 0x449e20
jmp 0x44a03b
cmp edx, eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x447b2a.108
cmp ecx, 0x20
je case.0x447b2a.108
cmp ecx, 0xa0
je case.0x447b2a.108
inc eax
cmp eax, edx
jle 0x449e6b
jmp 0x44a03b
cmp edx, eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x449ecb
cmp ecx, 0x20
je 0x449ecb
cmp ecx, 0xa0
jne case.0x447b2a.108
inc eax
cmp eax, edx
jle 0x449ea8
jmp 0x44a03b
cmp edx, eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x449f04
cmp ecx, 0xd
jle case.0x447b2a.108
cmp ecx, 0x85
je case.0x447b2a.108
inc eax
cmp eax, edx
jle 0x449edd
jmp 0x44a03b
cmp edx, eax
jl 0x44a03b
cmp esi, dword [ebp - 0x10]
jae case.0x447b2a.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x447b2a.108
cmp ecx, 0xd
jle 0x449f3d
cmp ecx, 0x85
jne case.0x447b2a.108
inc eax
cmp eax, edx
jle 0x449f16
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449f55
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449f82
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449faf
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449fd5
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449ffb
jmp 0x44a03b
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a03b
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x447b2a.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a021
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x447af3
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44b84e
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44a77c
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44bbe6.14
jmp dword [eax*4 + 0x44bf17]
cmp ecx, 0x7fffffff
jge 0x44a130
test byte [ebp + 0x1c], 4
jne 0x44a0fd
cmp edx, ecx
mov ebx, edx
jge 0x44a769
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44a769
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a0bd
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne 0x44a769
jmp 0x44a0ec
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a0ec
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a0ec
cmp ecx, 1
je 0x44a769
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44a769
jmp 0x44a0ec
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a0f2
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a0e4
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a08f
jmp 0x44a769
cmp edx, ecx
jge 0x44a769
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44a769
inc esi
cmp esi, eax
jae 0x44a125
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44a125
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a115
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a108
jmp 0x44a769
test byte [ebp + 0x1c], 4
jne 0x44a1ae
cmp edx, ecx
mov ebx, edx
jge 0x44a769
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44a769
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a16e
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne 0x44a769
jmp 0x44a19d
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a19d
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a19d
cmp ecx, 1
je 0x44a769
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44a769
jmp 0x44a19d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a1a3
inc esi
cmp esi, dword [edi + 0x54]
jb 0x44a195
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a140
jmp 0x44a769
mov esi, dword [edi + 0x54]
jmp 0x44a769
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44a1c3
mov ecx, eax
add esi, ecx
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a230
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 0x44a22f
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 0x44a216
inc eax
cmp edx, 0xd
jne 0x44a247
inc esi
cmp esi, dword [edi + 0x54]
jae 0x44a769
cmp byte [esi], 0xa
jne 0x44a274
inc esi
jmp 0x44a274
cmp edx, 0xa
je 0x44a272
cmp edx, 0xb
je 0x44a272
cmp edx, 0xc
je 0x44a272
cmp edx, 0x85
je 0x44a272
cmp edx, 0x2028
je 0x44a272
cmp edx, 0x2029
jne 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a1d5
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a2ee
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 0x44a2ed
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 0x44a2d4
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44a33c
je 0x44a364
cmp edx, 9
je 0x44a364
cmp edx, 0x20
je 0x44a364
cmp edx, 0xa0
je 0x44a364
cmp edx, 0x1680
je 0x44a364
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a293
jmp 0x44a769
cmp edx, 0x2000
jb 0x44a313
cmp edx, 0x200a
jbe 0x44a364
cmp edx, 0x202f
je 0x44a364
cmp edx, 0x205f
je 0x44a364
cmp edx, 0x3000
jne 0x44a313
xor ecx, ecx
inc ecx
jmp 0x44a315
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a3cf
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 0x44a3ce
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 0x44a3b5
inc eax
cmp edx, 0xa
jb 0x44a3f6
cmp edx, 0xd
jbe 0x44a3f1
cmp edx, 0x85
je 0x44a3f1
cmp edx, 0x2027
jbe 0x44a3f6
cmp edx, 0x2029
ja 0x44a3f6
xor ecx, ecx
inc ecx
jmp 0x44a3f8
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a374
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a485
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 0x44a484
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 0x44a46b
inc eax
cmp edx, 0x100
jae 0x44a49a
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a42a
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a512
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 0x44a511
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 0x44a4f8
inc eax
cmp edx, 0x100
jae 0x44a769
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a4b7
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a5a7
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 0x44a5a6
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 0x44a58d
inc eax
cmp edx, 0x100
jae 0x44a5bc
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a54c
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a634
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 0x44a633
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 0x44a61a
inc eax
cmp edx, 0x100
jae 0x44a769
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a5d9
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a6c9
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 0x44a6c8
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 0x44a6af
inc eax
cmp edx, 0x100
jae 0x44a6de
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a66e
jmp 0x44a769
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44a769
xor eax, eax
inc eax
cmp esi, dword [edi + 0x54]
jae 0x44a769
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a74b
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 0x44a74a
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 0x44a731
inc eax
cmp edx, 0x100
jae 0x44a769
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44a769
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a6f4
cmp dword [ebp - 0x1c], 0
jne 0x447af3
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44bcf0
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44bbe6.14
jmp dword [eax*4 + 0x44bf53]
test byte [ebp + 0x1c], 4
jne case.0x44a788.13
cmp edx, ecx
mov ebx, edx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a7cc
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne 0x44aa43
jmp 0x44a7f1
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44a7f1
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44a7f1
cmp ecx, 1
je 0x44aa43
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44aa43
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a79f
jmp 0x44aa43
mov eax, dword [edi + 0x54]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44a80a
mov ecx, eax
add esi, ecx
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa43
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44a83c
inc esi
cmp esi, ecx
jae 0x44aa43
cmp byte [esi], 0xa
jne 0x44a857
jmp 0x44a856
cmp eax, 0xa
je 0x44a856
cmp eax, 0xb
je 0x44a856
cmp eax, 0xc
je 0x44a856
cmp eax, 0x85
jne 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a81c
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa43
movzx eax, byte [esi]
cmp eax, 9
je 0x44aa43
cmp eax, 0x20
je 0x44aa43
cmp eax, 0xa0
je 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a86d
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa43
movzx eax, byte [esi]
cmp eax, 9
je 0x44a8cc
cmp eax, 0x20
je 0x44a8cc
cmp eax, 0xa0
jne 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a8ac
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa43
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44aa43
cmp eax, 0xb
je 0x44aa43
cmp eax, 0xc
je 0x44aa43
cmp eax, 0xd
je 0x44aa43
cmp eax, 0x85
je 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a8e3
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov ecx, dword [edi + 0x54]
cmp esi, ecx
jae 0x44aa43
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44a95e
cmp eax, 0xb
je 0x44a95e
cmp eax, 0xc
je 0x44a95e
cmp eax, 0xd
je 0x44a95e
cmp eax, 0x85
jne 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a934
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a975
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a9a4
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a9cc
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a9ec
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44aa0c
jmp 0x44aa43
cmp edx, ecx
jge 0x44aa43
mov eax, dword [edi + 0x54]
cmp esi, eax
jae 0x44aa43
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44aa43
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44aa2c
cmp dword [ebp - 0x1c], 0
jne 0x447af3
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
dec esi
test eax, eax
jne 0x44bd15
cmp esi, dword [ebp - 0x14]
jae 0x44aa5a
jmp case.0x447b2a.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 0x44aaaf
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44aa9d
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 0x44ae2d
mov dword [ebp + 0x24], edx
jmp 0x44ac1e
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 0x44ad36
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44aaf1
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 0x44ab54
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44ab3c
cmp eax, 0xfffffc1c
jne 0x44bd15
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 0x44ab02
cmp dword [ebp + 0x24], 0
jne 0x44adfd
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x465758]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44ac1e
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov eax, dword [ebp - 0x20]
jmp 0x447ebb
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 0x44abef
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
cmp dword [ebp + 0x24], eax
jne 0x44afb3
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44ac1e
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
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 0x447aca
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44bd14
push 0xffffffffffffffeb
jmp 0x44bd14
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov eax, 0xfffffc1a
jmp 0x44bd15
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov eax, 0xfffffc19
jmp 0x44bd15
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov dword [edi + 0x58], esi
mov eax, 0xfffffc1b
jmp 0x44bd15
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov eax, 0xfffffc1c
jmp 0x44bd15
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 0x44ad75
mov dword [ebp + 0x24], 2
jmp 0x44ad79
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44adbb
cmp eax, 0xfffffc1c
jne 0x44bd15
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 0x44ad80
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.0x447b2a.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.00447aa7
add esp, 0x24
jmp 0x44bd15
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 0x44ae1f
cmp dword [edi + 0x40], 0
je 0x44ae53
cmp esi, dword [ebp + 0x10]
je case.0x447b2a.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 0x44bd15
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 0x44ae84
and dword [ebp - 0x38], 0
jmp 0x44ae8f
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 0x44aeb7
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44aed3
shl eax, 2
push eax
call dword [0x470150]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44aed0
push 0xfffffffffffffffa
jmp 0x44bd14
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.00447aa7
add esp, 0x24
cmp eax, 1
je 0x44af8f
test eax, eax
je 0x44af3a
cmp eax, 0xfffffc1c
jne 0x44bd15
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 0x44af00
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x447b2a.108
push dword [ebp - 0x2c]
call dword [0x470154]
pop ecx
jmp case.0x447b2a.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44ae62
push dword [ebp - 0x2c]
call dword [0x470154]
pop ecx
jmp 0x44ae62
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 0x44ae1f
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x60], eax
jmp 0x44ae5f
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2a.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447a49
test eax, eax
pop ecx
pop ecx
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44afd8
jmp 0x44bd15
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44b05b
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00447a49
test eax, eax
pop ecx
pop ecx
je 0x44b052
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b032
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44b05f
jmp case.0x447b2a.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b0ed
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 0x44b0ed
jmp 0x44b0d7
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 0x44b0d4
cmp eax, 0xff
jbe 0x44b0fa
cmp dword [ebp - 8], 0x4d
jmp 0x44b10f
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.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b090
jmp 0x44bd15
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b180
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.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.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b149
jmp 0x44bd15
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44b2a3
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44b25d
cmp esi, dword [edi + 0x54]
mov dword [ebp - 0x20], 1
jae 0x44b25d
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44b227
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 0x44b220
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 0x44b204
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44b234
cmp dword [ebp - 8], 0x4d
jmp 0x44b249
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 0x44b25d
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b1bd
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44b281
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2a.108
jmp 0x44b276
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b275
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b267
jmp 0x44bd15
cmp edx, dword [ebp - 4]
jge 0x44b2d7
cmp esi, dword [edi + 0x54]
jae 0x44b2ce
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 0x44b2ce
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b2a8
cmp esi, dword [ebp - 0x14]
jb case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44b2db
jmp case.0x447b2a.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44b361
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 0x44b35d
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 0x44b34d
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044cbd5
test eax, eax
pop ecx
pop ecx
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b30a
jmp 0x44bd15
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44b41c
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x54]
jae 0x44b421
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b405
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 0x44b402
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 0x44b3e9
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044cbd5
test eax, eax
pop ecx
pop ecx
je 0x44b421
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b3ac
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b444
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2a.108
cmp dword [ebp - 0x18], 0
je 0x44b444
jmp 0x44b43c
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b43b
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b427
jmp 0x44bd15
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b4a4
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044db43
add esp, 0xc
test eax, eax
jne case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b472
jmp 0x44bd15
cmp esi, dword [ebp - 0x14]
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b4c9
jmp 0x44bd15
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b52f
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b503
jmp 0x44bd15
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b582
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b55d
jmp 0x44bd15
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44b670
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 0x44b65a
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b615
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 0x44b60e
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 0x44b5fc
cmp edx, 0x100
jae 0x44b624
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
cmp dword [ebp - 8], edx
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b5d0
jmp 0x44bd15
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44b6a2
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b676
jmp 0x44bd15
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2a.108
jmp 0x44b6d6
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b6d5
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b6c7
jmp 0x44bd15
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44b7b9
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 0x44b7a3
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b76d
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 0x44b766
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 0x44b754
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
cmp dword [ebp - 8], edx
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b728
jmp 0x44bd15
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44b7e9
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2a.108
cmp esi, dword [edi + 0x54]
jae case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b7c1
jmp 0x44bd15
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2a.108
jmp 0x44b81a
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b819
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b80b
jmp 0x44bd15
push 0xfffffffffffffff2
jmp 0x44bd14
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44bb65
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.00447aa7
add esp, 0x24
test eax, eax
jne 0x44bd15
mov ebx, 0x100
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x447b2a.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x447b2a.108
cmp dword [ebp - 0xc], 0xc
jne 0x44b8f6
test byte [ebp + 0x1c], 4
jne 0x44b8f6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44b8d1
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne case.0x447b2a.108
jmp 0x44b8f6
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44b8f6
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44b8f6
cmp ecx, 1
je case.0x447b2a.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447b2a.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b943
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 0x44b93e
jmp 0x44b928
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 0x44b925
mov ebx, 0x100
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44bbe6.14
jmp dword [ecx*4 + 0x44bf8f]
cmp eax, 0xa
jb case.0x447b2a.108
cmp eax, 0xc
jbe case.0x44b952.12
cmp eax, 0xd
jne 0x44bab1
cmp esi, dword [edi + 0x54]
jae case.0x44b952.12
cmp byte [esi], 0xa
jne case.0x44b952.12
inc esi
jmp case.0x44b952.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44b9c2
je case.0x447b2a.108
cmp eax, 9
je case.0x447b2a.108
cmp eax, 0x20
je case.0x447b2a.108
cmp eax, 0xa0
je case.0x447b2a.108
cmp eax, 0x1680
jmp 0x44bb31
cmp eax, 0x2000
jb case.0x44b952.12
cmp eax, 0x200a
jbe case.0x447b2a.108
cmp eax, 0x202f
je case.0x447b2a.108
cmp eax, 0x205f
je case.0x447b2a.108
cmp eax, 0x3000
jmp 0x44bb31
mov ecx, 0x180e
cmp eax, ecx
ja 0x44ba2b
je case.0x44b952.12
cmp eax, 9
je case.0x44b952.12
cmp eax, 0x20
je case.0x44b952.12
cmp eax, 0xa0
je case.0x44b952.12
cmp eax, 0x1680
jmp 0x44ba5c
cmp eax, 0x2000
jb case.0x447b2a.108
cmp eax, 0x200a
jbe case.0x44b952.12
cmp eax, 0x202f
je case.0x44b952.12
cmp eax, 0x205f
je case.0x44b952.12
cmp eax, 0x3000
jne case.0x447b2a.108
jmp case.0x44b952.12
cmp eax, 0xa
jb case.0x44b952.12
cmp eax, 0xd
jbe case.0x447b2a.108
cmp eax, 0x85
je case.0x447b2a.108
cmp eax, 0x2027
jbe case.0x44b952.12
cmp eax, 0x2029
jbe case.0x447b2a.108
jmp case.0x44b952.12
cmp eax, 0xa
jb case.0x447b2a.108
cmp eax, 0xd
jbe case.0x44b952.12
cmp eax, 0x85
je case.0x44b952.12
cmp eax, 0x2027
jbe case.0x447b2a.108
cmp eax, 0x2029
ja case.0x447b2a.108
jmp case.0x44b952.12
cmp eax, ebx
jae case.0x44b952.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44ba5c
cmp eax, ebx
jae case.0x447b2a.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bb31
cmp eax, ebx
jae case.0x44b952.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44ba5c
cmp eax, ebx
jae case.0x447b2a.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bb31
cmp eax, ebx
jae case.0x44b952.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44ba5c
cmp eax, ebx
jae case.0x447b2a.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44b88b
jmp 0x44bd15
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44bcb6
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x447b2a.108
mov eax, dword [edi + 0x54]
cmp esi, eax
jae case.0x447b2a.108
test byte [ebp + 0x1c], 4
jne 0x44bbd3
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44bbae
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044c7f5
add esp, 0x14
test eax, eax
jne case.0x447b2a.108
jmp 0x44bbd3
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44bbd3
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44bbd3
cmp ecx, 1
je case.0x447b2a.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x447b2a.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44bbe6.14
jmp dword [ecx*4 + 0x44bfcb]
cmp eax, 0xa
jb case.0x447b2a.108
cmp eax, 0xc
jbe case.0x44bbe6.12
cmp eax, 0xd
jne 0x44bc6f
cmp esi, dword [edi + 0x54]
jae case.0x44bbe6.12
cmp byte [esi], 0xa
jne case.0x44bbe6.12
inc esi
jmp case.0x44bbe6.12
cmp eax, 9
je case.0x447b2a.108
cmp eax, 0x20
je case.0x447b2a.108
cmp eax, 0xa0
jmp 0x44bcaa
cmp eax, 9
je case.0x44bbe6.12
cmp eax, 0x20
je case.0x44bbe6.12
cmp eax, 0xa0
jne case.0x447b2a.108
jmp case.0x44bbe6.12
cmp eax, 0xa
jb case.0x44bbe6.12
cmp eax, 0xd
jbe case.0x447b2a.108
cmp eax, 0x85
jmp 0x44bcaa
cmp eax, 0xa
jb case.0x447b2a.108
cmp eax, 0xd
jbe case.0x44bbe6.12
cmp eax, 0x85
jmp 0x44bc44
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bc44
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44bcaa
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bc44
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44bcaa
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44bc44
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x447b2a.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.00447aa7
add esp, 0x24
test eax, eax
je 0x44bb6f
jmp 0x44bd15
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x447b2a.108
jmp 0x44bce8
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44bce7
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.00447aa7
add esp, 0x24
test eax, eax
je 0x44bcd9
jmp 0x44bd15
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret