Function at 0x448c9c
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 0x44be76
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44be7f
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x448ce8
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 0x448d0f
cmp esi, dword [edi + 0x58]
jb 0x448d0f
cmp esi, dword [ebp + 0x10]
jbe 0x448d0f
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x448d1f.14
movzx eax, byte [ecx + 0x44d0b8]
jmp dword [eax*4 + 0x44cfa4]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x448d5a
mov eax, dword [edi + 0x78]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x448d4c
cmp ecx, 0xffff
je 0x448d76
cmp ecx, dword [eax + 4]
je 0x448d76
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x448dd2
cmp cl, 0x63
jne 0x448d7e
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x448d4c
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x448d4c
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x448d56
cmp cl, 0x65
jne 0x448d8f
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x448dda
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.00448c9c
add esp, 0x24
cmp eax, 1
je 0x44bcd0
test eax, eax
je 0x448dc4
cmp eax, 0xfffffc1c
jne 0x44cf9f
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 0x44bcfb
cmp byte [ebx], 0x53
je 0x44bcfb
jmp 0x448f0f
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x44c08b
cmp dword [ebx + 4], 0
jne 0x44c08b
mov eax, dword [ebx]
mov dword [edi + 0x78], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
push eax
push dword [ebx + 0x10]
push dword [edi + 0xc]
call fcn.00451140
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 0x448ce8
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x448f12
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.00448c9c
add esp, 0x24
cmp eax, 1
je 0x448e87
test eax, eax
je 0x448e78
cmp eax, 0xfffffc1c
jne 0x44cf9f
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448e46
cmp byte [ebx], 0x54
je case.0x448d1f.108
test byte [ebp + 0x24], 1
jne 0x44c0a9
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448e9a
mov eax, dword [edi + 0x64]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x448ce8
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.00448c9c
add esp, 0x24
cmp eax, 1
je case.0x448d1f.108
test eax, eax
je 0x448ef6
cmp eax, 0xfffffc1c
jne 0x44cf9f
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448ec4
test byte [ebp + 0x24], 1
jne 0x44c0a9
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x448ce8
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x448f4c
cmp eax, edx
jle 0x448f0f
mov ecx, dword [edi + 0x54]
dec eax
dec esi
cmp esi, ecx
jae 0x448f3c
xor eax, eax
jmp 0x44cf9f
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x448f3b
test eax, eax
jg 0x448f2e
jmp 0x448f0f
sub esi, eax
cmp esi, dword [edi + 0x54]
jb case.0x448d1f.108
jmp 0x448f0f
mov ecx, dword [0x4779c0]
cmp ecx, edx
je 0x448fd2
movzx eax, byte [ebx + 1]
mov edx, dword [edi + 0x58]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 0x54]
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 + 0x68]
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x74]
push eax
call ecx
test eax, eax
pop ecx
jg case.0x448d1f.108
jl 0x44cf9f
add ebx, 6
jmp 0x448f12
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.00448c9c
add esp, 0x24
cmp eax, 1
je 0x44902c
test eax, eax
je 0x44901d
cmp eax, 0xfffffc1c
jne 0x44cf9f
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x448fea
mov al, byte [ebx]
cmp al, 0x5c
je 0x44903a
cmp al, 0x53
jne case.0x448d1f.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44903a
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x64]
mov esi, dword [edi + 0x60]
mov dword [ebp + 0x14], eax
je 0x448f0f
cmp esi, dword [ebp - 0x1c]
je 0x448f0f
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x44907e
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 0x44bdb9
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44be61
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x448d1f.83
jmp 0x448f12
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4490f6
jmp 0x448f0f
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 0x44910d
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
jmp 0x448f12
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 0x449168
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 0x44c214
cmp al, 0x58
je 0x44c214
cmp al, 0x59
je 0x44c214
cmp al, 0x5a
je 0x44c214
cmp al, 0x5c
je 0x44c214
cmp al, 0x5e
je 0x4491a2
cmp al, 0x61
jne 0x449226
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 + 0x68], edx
jl 0x4491c1
mov dword [edi + 0x2c], 1
jmp 0x4491e9
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 + 0x54]
cmp dword [ebp + 0x14], ecx
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp - 0xc]
jg 0x4491e9
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x449226
cmp dword [ebx + 4], edx
jne 0x449226
mov eax, dword [ebx]
mov dword [edi + 0x78], 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.00450640
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x448ce8
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x44923d
cmp esi, dword [ebp - 0x1c]
jne 0x44bde2
add eax, 3
jmp 0x448e26
cmp dword [edi + 0x30], edx
je 0x449253
cmp esi, dword [edi + 0x54]
je case.0x448d1f.108
test byte [ebp + 0x1c], 2
je case.0x448d1f.1
mov ecx, dword [edi + 0x54]
cmp esi, ecx
je 0x4492c1
cmp esi, dword [edi + 0x58]
je case.0x448d1f.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x449294
cmp esi, ecx
jbe case.0x448d1f.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044db83
add esp, 0x14
test eax, eax
je case.0x448d1f.108
jmp 0x4492c1
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x448d1f.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x448d1f.108
cmp eax, 1
je 0x4492c1
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x448d1f.108
inc ebx
jmp 0x448f12
cmp esi, dword [edi + 0x54]
jmp 0x4492bb
mov eax, dword [edi + 0x6c]
add eax, dword [edi + 0x54]
cmp esi, eax
jmp 0x4492bb
mov dword [ebp + 0x10], esi
jmp 0x4492c1
test byte [ebp + 0x1c], 2
je 0x449327
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x449322
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x449300
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
jmp 0x449287
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x448d1f.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x448d1f.108
cmp ecx, 1
je 0x4492c1
mov al, byte [esi + 1]
jmp 0x4492b8
cmp dword [edi + 0x34], edx
jmp 0x4492bb
cmp dword [edi + 0x34], edx
jne case.0x448d1f.108
cmp dword [edi + 0x3c], edx
jne case.0x448d1f.23
mov eax, dword [edi + 0x58]
cmp esi, eax
je 0x44939f
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x449367
cmp esi, eax
jae case.0x448d1f.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
je case.0x448d1f.108
jmp 0x449392
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x448d1f.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x448d1f.108
cmp ecx, 1
je 0x449392
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x448d1f.108
mov eax, dword [edi + 0x58]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x448d1f.108
inc dword [ebp + 0xc]
jmp 0x448ce8
cmp esi, dword [edi + 0x58]
jb case.0x448d1f.108
jmp 0x4492c1
cmp dword [ebp - 0x18], edx
je 0x4494ca
cmp esi, dword [edi + 0x54]
jne 0x4493cb
mov dword [ebp + 0x18], edx
jmp 0x449454
lea eax, [esi - 1]
jmp 0x4493d1
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x4493d0
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x449436
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x467640]
mov ecx, ebx
imul ecx, ecx, 6
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebx*4 + 0x467624]
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 0x449433
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 0x449415
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x449450
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x449450
mov dword [ebp + 0x18], 1
jmp 0x449454
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x58]
jb 0x44945d
xor eax, eax
jmp 0x4494c6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4494ab
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x4494ab
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 0x449492
cmp edx, 0x100
jae 0x4494c1
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x4494c1
xor eax, eax
inc eax
jmp 0x4494c3
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x4494fe
cmp esi, dword [edi + 0x54]
je 0x4494e3
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x4494e6
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x58]
jae 0x4494fc
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x4494fc
xor eax, eax
inc eax
jmp 0x4494fe
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x449513
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x44951b
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x448ce8
jmp case.0x448d1f.108
test byte [ebp + 0x1c], 4
jne 0x449582
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44955a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x449582
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne case.0x448d1f.108
jmp 0x449582
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x58]
sub ecx, eax
cmp esi, ecx
ja 0x449582
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x449582
cmp eax, 1
je case.0x448d1f.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x448d1f.108
mov eax, dword [edi + 0x58]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x448d1f.108
cmp dword [ebp - 0x18], 0
je 0x4492c1
cmp esi, eax
jae 0x4492c1
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4492c1
inc esi
cmp esi, dword [edi + 0x58]
jb 0x4495a2
jmp 0x4492c1
mov eax, esi
inc esi
cmp eax, dword [edi + 0x58]
jae case.0x448d1f.108
jmp 0x4492c1
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44961e
cmp edx, 0xc0
jb 0x44961e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449617
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 0x449605
cmp edx, 0x100
jae 0x44939f
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x449399
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44968a
cmp edx, 0xc0
jb 0x44968a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449683
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 0x449671
cmp edx, 0x100
jae case.0x448d1f.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x448d1f.108
jmp 0x44939f
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4496fc
cmp edx, 0xc0
jb 0x4496fc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4496f5
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 0x4496e3
cmp edx, 0x100
jae 0x44939f
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x449399
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449768
cmp edx, 0xc0
jb 0x449768
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449761
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 0x44974f
cmp edx, 0x100
jae case.0x448d1f.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x44969d
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4497d4
cmp edx, 0xc0
jb 0x4497d4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4497cd
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 0x4497bb
cmp edx, 0x100
jae 0x44939f
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x449399
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449840
cmp edx, 0xc0
jb 0x449840
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449839
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 0x449827
cmp edx, 0x100
jae case.0x448d1f.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x44969d
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x4498ac
cmp edx, 0xc0
jb 0x4498ac
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x4498a5
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 0x449893
cmp edx, 0xa
je 0x44939f
jbe case.0x448d1f.108
cmp edx, 0xc
jbe 0x4498e5
cmp edx, 0xd
je 0x4498ee
cmp edx, 0x85
je 0x4498e5
cmp edx, 0x2027
jbe case.0x448d1f.108
cmp edx, 0x2029
ja case.0x448d1f.108
cmp dword [edi + 0x4c], 0
jmp 0x449399
cmp esi, dword [edi + 0x58]
jae 0x44939f
cmp byte [esi], 0xa
jne 0x44939f
inc esi
jmp 0x44939f
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44995c
cmp eax, 0xc0
jb 0x44995c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44995c
jmp 0x449946
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 0x449943
mov ecx, 0x180e
cmp eax, ecx
ja 0x449992
je case.0x448d1f.108
cmp eax, 9
je case.0x448d1f.108
cmp eax, 0x20
je case.0x448d1f.108
cmp eax, 0xa0
je case.0x448d1f.108
cmp eax, 0x1680
jmp 0x44969d
cmp eax, 0x2000
jb 0x44939f
cmp eax, 0x200a
jbe case.0x448d1f.108
cmp eax, 0x202f
je case.0x448d1f.108
cmp eax, 0x205f
je case.0x448d1f.108
cmp eax, 0x3000
jmp 0x44969d
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x449a1e
cmp eax, 0xc0
jb 0x449a1e
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x449a1e
jmp 0x449a08
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 0x449a05
mov ecx, 0x180e
cmp eax, ecx
ja 0x449a54
je 0x44939f
cmp eax, 9
je 0x44939f
cmp eax, 0x20
je 0x44939f
cmp eax, 0xa0
je 0x44939f
cmp eax, 0x1680
jmp 0x449399
cmp eax, 0x2000
jb case.0x448d1f.108
cmp eax, 0x200a
jbe 0x44939f
cmp eax, 0x202f
je 0x44939f
cmp eax, 0x205f
je 0x44939f
cmp eax, 0x3000
jmp 0x449399
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449ade
cmp edx, 0xc0
jb 0x449ade
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449ad7
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 0x449ac5
cmp edx, 0xa
jb 0x44939f
cmp edx, 0xd
jbe case.0x448d1f.108
cmp edx, 0x85
je case.0x448d1f.108
cmp edx, 0x2027
jbe 0x44939f
cmp edx, 0x2029
jbe case.0x448d1f.108
jmp 0x44939f
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449b6d
cmp edx, 0xc0
jb 0x449b6d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449b66
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 0x449b54
cmp edx, 0xa
jb case.0x448d1f.108
cmp edx, 0xd
jbe 0x44939f
cmp edx, 0x85
je 0x44939f
cmp edx, 0x2027
jbe case.0x448d1f.108
cmp edx, 0x2029
ja case.0x448d1f.108
jmp 0x44939f
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 0x449bd3
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x449bd3
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x449bd9
mov ebx, dword [edi + 0x58]
sub ebx, esi
inc ebx
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, 0x45
mov dword [ebp - 0x10], ebx
jb 0x449cae
cmp al, 0x4a
jbe 0x449c28
cmp al, 0x4c
ja 0x449cae
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 0x449c20
mov dword [ebp - 4], closesocket
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x449c55
movzx eax, al
movsx ebx, byte [eax + 0x46752b]
sub eax, 0x45
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x467578]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x449c55
mov dword [ebp - 4], closesocket
cmp dword [ebp - 0x10], 0
je 0x448ce8
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x449c8f
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00448c3e
test eax, eax
pop ecx
pop ecx
je case.0x448d1f.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x449c69
cmp ebx, dword [ebp - 4]
je 0x448ce8
cmp dword [ebp - 0x24], 0
je 0x44c271
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c24c
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.00448c3e
test eax, eax
pop ecx
pop ecx
je case.0x448d1f.108
add esi, ebx
jmp 0x448ce8
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 0x449d4c
cmp al, 0x4a
jbe 0x449d19
cmp al, 0x4c
ja 0x449d4c
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 0x449d11
mov dword [ebp - 4], closesocket
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x449d55
movzx eax, al
movsx edx, byte [eax + 0x46752b]
sub eax, 0x45
mov ecx, eax
movsx eax, byte [eax + 0x467578]
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 0x449d55
mov dword [ebp - 4], closesocket
jmp 0x449d55
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 0x449dfa
cmp edx, eax
jl 0x449e31
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x449dc1
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x449dbe
jmp 0x449da8
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 0x449da5
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x449dce
cmp dword [ebp - 8], 0x4d
jmp 0x449de3
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.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x449d6d
mov ebx, dword [ebp + 0xc]
jmp 0x449e31
cmp edx, eax
jl 0x449e31
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.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.0x448d1f.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x449dfe
cmp edx, dword [ebp - 4]
je 0x448ce8
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44c3ec
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44c38a
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 0x44c374
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 0x449ef5
cmp al, 0x4a
jbe 0x449ec2
cmp al, 0x4c
ja 0x449ef5
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 0x449eba
mov dword [ebp - 4], closesocket
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x449efe
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x24], ecx
movsx ecx, byte [eax + 0x467570]
movsx eax, byte [eax + 0x467578]
inc ebx
cmp eax, edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
jne 0x449efe
mov dword [ebp - 4], closesocket
jmp 0x449efe
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 0x449f79
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x449f54
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov edx, dword [eax*4 + 0x467624]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x449f50
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 0x449f40
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044dea6
test eax, eax
pop ecx
pop ecx
je case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x449f09
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x448ce8
cmp dword [ebp - 0x24], edx
je 0x44c5eb
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 0x44c5d5
cmp dword [ebp - 0x18], edx
je 0x449ff9
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x449fcf
and eax, 0x3f
movzx ecx, byte [eax + 0x467640]
inc ecx
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ecx, eax
jg case.0x448d1f.108
jmp 0x449ff0
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x448d1f.108
test ecx, ecx
jg 0x449fde
jmp 0x448ce8
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x448d1f.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x448d1f.108
jmp 0x448e35
cmp dword [ebp - 0x18], edx
je 0x44a10d
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 0x44a08e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44a084
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 0x44a067
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x10], eax
mov edx, dword [edi + 0x58]
sub edx, esi
cmp eax, edx
jg case.0x448d1f.108
cmp dword [ebp - 8], 0x80
jae 0x44a0ba
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 0x44951f
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x44a0fc
and eax, 0x3f
movzx edx, byte [eax + 0x467640]
mov eax, dword [edx*4 + 0x467624]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x44a0f8
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 0x44a0e8
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x44951f
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x448d1f.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 0x44a00d
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 0x44a1c1
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 0x44a13f
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x44a1ba
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44a174
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44a1c1
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx ebx, byte [eax + 0x467552]
sub eax, 0x1e
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x467578]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44a1c1
mov dword [ebp - 4], closesocket
cmp dword [ebp - 0x18], 0
je 0x44a2dd
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 0x44a23f
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x467624]
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 0x44a23b
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 0x44a218
mov eax, dword [ebp - 8]
inc edx
mov dword [ebp - 0x10], edx
mov edx, dword [edi + 0x58]
mov ecx, ebx
imul ecx, dword [ebp - 0x10]
sub edx, esi
cmp ecx, edx
jg case.0x448d1f.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x44a2f9
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x44a28c
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044ec80
add esp, 0xc
test eax, eax
jne case.0x448d1f.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44a26a
cmp ebx, dword [ebp - 4]
je 0x448ce8
cmp dword [ebp - 0x24], 0
jne 0x44c6b0
mov dword [ebp - 0x14], esi
jmp 0x44a2c5
mov eax, dword [edi + 0x58]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x44a2ca
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044ec80
add esp, 0xc
test eax, eax
jne 0x44a2ca
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a2a4
cmp dword [ebp - 0x1c], 0
jne 0x448ce8
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c71c
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ebx, eax
jg case.0x448d1f.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 0x44a39f
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x44a329
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x448d1f.108
inc eax
cmp eax, ebx
jle 0x44a313
cmp ebx, dword [ebp - 4]
je 0x448ce8
cmp dword [ebp - 0x24], 0
jne 0x44c741
mov dword [ebp - 0x14], esi
jmp 0x44a354
cmp esi, dword [edi + 0x58]
jae 0x44a359
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x44a359
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a341
cmp dword [ebp - 0x1c], 0
jne 0x448ce8
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
dec esi
test eax, eax
jne 0x44cf9f
cmp esi, dword [ebp - 0x14]
jae 0x44a370
jmp case.0x448d1f.108
cmp ebx, edx
mov ecx, edx
jl 0x44a3b6
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x448d1f.108
inc ecx
cmp ecx, ebx
jle 0x44a3a5
cmp ebx, dword [ebp - 4]
je 0x448ce8
cmp dword [ebp - 0x24], 0
jne 0x44c79b
mov dword [ebp - 0x14], esi
jmp 0x44a3dd
cmp esi, dword [edi + 0x58]
jae 0x44a3e2
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x44a3e2
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a3ce
cmp dword [ebp - 0x1c], 0
jne 0x448ce8
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
dec esi
test eax, eax
jne 0x44cf9f
cmp esi, dword [ebp - 0x14]
jae 0x44a3f9
jmp case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x44a480
cmp edx, 0xc0
jb 0x44a480
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a479
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 0x44a467
test byte [ebp + 0x1c], 1
je 0x44a4b2
cmp edx, 0x100
jae 0x44a495
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 0x448ce8
jmp case.0x448d1f.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x44a4a2
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x44a547
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 0x44a4c5
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x44a540
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x44a4ed
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x44a547
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 0x44a4c5
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x467545]
sub eax, 0x2b
mov ecx, eax
movsx eax, byte [eax + 0x467578]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44a547
mov dword [ebp - 4], closesocket
mov eax, dword [edi + 0x58]
sub eax, esi
cmp edx, eax
jg case.0x448d1f.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x44a73f
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x44a602
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a625
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44a5dd
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x467624]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44a5d6
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 0x44a5bc
cmp ebx, 0x100
jae 0x44a5ec
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a58a
mov ebx, dword [ebp + 0xc]
jmp 0x44a625
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x44a625
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a60c
cmp edx, dword [ebp - 4]
je 0x448ce8
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44c7ee
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44a6f5
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44a6c8
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44a6c8
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a6a7
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44a6a3
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 0x44a68a
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44a6b6
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x44a6c8
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a64d
cmp dword [ebp - 0x1c], 0
jne 0x448ce8
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44c928
cmp esi, dword [edi + 0x58]
jae 0x44a6fa
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x44a6fa
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a6df
cmp dword [ebp - 0x1c], ecx
jne 0x448ce8
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44a710
jmp case.0x448d1f.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x44a7b8
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44a7ce
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44a7a2
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x467624]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44a79b
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 0x44a781
cmp dword [ebp - 8], ebx
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a74f
mov ebx, dword [ebp + 0xc]
jmp 0x44a7ce
cmp edx, eax
jl 0x44a7ce
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x448d1f.108
inc eax
cmp eax, edx
jle 0x44a7bc
cmp edx, dword [ebp - 4]
je 0x448ce8
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44c94a
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44a88e
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44a868
jmp 0x44a7fa
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44a868
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44a854
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44a850
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 0x44a837
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44a866
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44a7f8
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x448ce8
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44ca6e
cmp esi, dword [edi + 0x58]
jae 0x44a893
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x44a893
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44a87f
cmp dword [ebp - 0x1c], ecx
jne 0x448ce8
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44a8a9
jmp case.0x448d1f.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 0x44a991
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 0x44a98e
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], closesocket
inc ebx
jmp 0x44a914
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x44a924
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44a92b
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 0x44a911
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x467538]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x467578]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x44a98e
mov dword [ebp - 4], closesocket
xor eax, eax
inc eax
movzx ecx, byte [ebx]
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0x10], ecx
inc ebx
sub ecx, esi
cmp edx, ecx
mov dword [ebp + 0xc], ebx
jg case.0x448d1f.108
test edx, edx
jle 0x44b26e
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x44afb5
cmp ecx, 0xe
ja case.0x44ce54.14
jmp dword [ecx*4 + 0x44d128]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x448d1f.108
test byte [ebp + 0x1c], 4
jne 0x44aa37
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44aa13
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne case.0x448d1f.108
inc eax
jmp 0x44aa37
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44aa37
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44aa37
cmp edx, eax
je case.0x448d1f.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x448d1f.108
mov ecx, dword [edi + 0x58]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x44aa52
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44aa52
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44aa42
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44a9de
mov edx, dword [ebp - 0x14]
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44aabe
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44aab7
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 0x44aaa5
cmp edx, 0xa
je 0x44aafd
jbe case.0x448d1f.108
cmp edx, 0xc
jbe 0x44aaf3
cmp edx, 0xd
je 0x44ab14
cmp edx, 0x85
je 0x44aaf3
cmp edx, 0x2027
jbe case.0x448d1f.108
cmp edx, 0x2029
ja case.0x448d1f.108
cmp dword [edi + 0x4c], 0
jne case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44aa70
mov ebx, dword [ebp + 0xc]
jmp 0x44aa5d
cmp esi, dword [ebp - 0x10]
jae 0x44aafd
cmp byte [esi], 0xa
jne 0x44aafd
inc esi
jmp 0x44aafd
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44ab7d
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44ab7d
jmp 0x44ab67
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 0x44ab64
mov ecx, 0x180e
cmp eax, ecx
ja 0x44abb0
je case.0x448d1f.108
cmp eax, 9
je case.0x448d1f.108
cmp eax, 0x20
je case.0x448d1f.108
cmp eax, 0xa0
je case.0x448d1f.108
cmp eax, 0x1680
jmp 0x44abdd
cmp eax, 0x2000
jb 0x44abe3
cmp eax, 0x200a
jbe case.0x448d1f.108
cmp eax, 0x202f
je case.0x448d1f.108
cmp eax, 0x205f
je case.0x448d1f.108
cmp eax, 0x3000
je case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44ab2c
jmp 0x44ab0c
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44ac53
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44ac53
jmp 0x44ac3d
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 0x44ac3a
mov ecx, 0x180e
cmp eax, ecx
ja 0x44ac76
je 0x44aca1
cmp eax, 9
je 0x44aca1
cmp eax, 0x20
je 0x44aca1
cmp eax, 0xa0
je 0x44aca1
cmp eax, 0x1680
jmp 0x44ac9b
cmp eax, 0x2000
jb case.0x448d1f.108
cmp eax, 0x200a
jbe 0x44aca1
cmp eax, 0x202f
je 0x44aca1
cmp eax, 0x205f
je 0x44aca1
cmp eax, 0x3000
jne case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44ac02
jmp 0x44ab0c
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44ad0e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ad07
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 0x44acf5
cmp edx, 0xa
jb 0x44ad3c
cmp edx, 0xd
jbe case.0x448d1f.108
cmp edx, 0x85
je case.0x448d1f.108
cmp edx, 0x2027
jbe 0x44ad3c
cmp edx, 0x2029
jbe case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44acc0
jmp 0x44ab0c
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44ada9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ada2
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 0x44ad90
cmp edx, 0xa
jb case.0x448d1f.108
cmp edx, 0xd
jbe 0x44add7
cmp edx, 0x85
je 0x44add7
cmp edx, 0x2027
jbe case.0x448d1f.108
cmp edx, 0x2029
ja case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44ad5b
jmp 0x44ab0c
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44ae44
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ae3d
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 0x44ae2b
cmp edx, 0x80
jae 0x44ae59
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x448d1f.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44adf6
jmp 0x44ab0c
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x448d1f.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44ae74
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44aed4
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x448d1f.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44aee2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44aed4
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44aeb4
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x448d1f.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44aefa
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44af5a
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x448d1f.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44af68
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44af5a
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44af3a
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x448d1f.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44af80
jmp 0x44b26e
cmp ecx, 0xe
ja case.0x44ce54.14
jmp dword [ecx*4 + 0x44d164]
test byte [ebp + 0x1c], 4
jne case.0x44afbe.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44b000
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44b027
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne case.0x448d1f.108
inc eax
jmp 0x44b027
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x58]
sub edx, ecx
cmp esi, edx
ja 0x44b027
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x44b027
cmp ecx, eax
je case.0x448d1f.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x448d1f.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44afd6
jmp 0x44aa5d
add esi, edx
jmp 0x44b26e
cmp edx, eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
je 0x44b07f
jle case.0x448d1f.108
cmp ecx, 0xc
jle 0x44b075
cmp ecx, 0xd
je 0x44b089
cmp ecx, 0x85
jne case.0x448d1f.108
cmp dword [edi + 0x4c], 0
jne case.0x448d1f.108
inc eax
cmp eax, edx
jle 0x44b047
jmp 0x44b26e
cmp esi, dword [ebp - 0x10]
jae 0x44b07f
cmp byte [esi], 0xa
jne 0x44b07f
inc esi
jmp 0x44b07f
cmp edx, eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x448d1f.108
cmp ecx, 0x20
je case.0x448d1f.108
cmp ecx, 0xa0
je case.0x448d1f.108
inc eax
cmp eax, edx
jle 0x44b09e
jmp 0x44b26e
cmp edx, eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x44b0fe
cmp ecx, 0x20
je 0x44b0fe
cmp ecx, 0xa0
jne case.0x448d1f.108
inc eax
cmp eax, edx
jle 0x44b0db
jmp 0x44b26e
cmp edx, eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x44b137
cmp ecx, 0xd
jle case.0x448d1f.108
cmp ecx, 0x85
je case.0x448d1f.108
inc eax
cmp eax, edx
jle 0x44b110
jmp 0x44b26e
cmp edx, eax
jl 0x44b26e
cmp esi, dword [ebp - 0x10]
jae case.0x448d1f.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x448d1f.108
cmp ecx, 0xd
jle 0x44b170
cmp ecx, 0x85
jne case.0x448d1f.108
inc eax
cmp eax, edx
jle 0x44b149
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b188
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b1b5
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b1e2
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b208
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b22e
jmp 0x44b26e
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b26e
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x448d1f.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b254
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x448ce8
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44ca95
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44b9b9
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44ce54.14
jmp dword [eax*4 + 0x44d1a0]
cmp ecx, 0x7fffffff
jge 0x44b363
test byte [ebp + 0x1c], 4
jne 0x44b330
cmp edx, ecx
mov ebx, edx
jge 0x44b9a6
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44b9a6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44b2f0
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne 0x44b9a6
jmp 0x44b31f
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44b31f
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44b31f
cmp ecx, 1
je 0x44b9a6
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44b9a6
jmp 0x44b31f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44b325
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44b317
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b2c2
jmp 0x44b9a6
cmp edx, ecx
jge 0x44b9a6
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44b9a6
inc esi
cmp esi, eax
jae 0x44b358
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44b358
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44b348
inc edx
cmp edx, dword [ebp - 4]
jl 0x44b33b
jmp 0x44b9a6
test byte [ebp + 0x1c], 4
jne 0x44b3e1
cmp edx, ecx
mov ebx, edx
jge 0x44b9a6
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44b9a6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44b3a1
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne 0x44b9a6
jmp 0x44b3d0
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44b3d0
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44b3d0
cmp ecx, 1
je 0x44b9a6
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44b9a6
jmp 0x44b3d0
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44b3d6
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44b3c8
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b373
jmp 0x44b9a6
mov esi, dword [edi + 0x58]
jmp 0x44b9a6
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44b3f6
mov ecx, eax
add esi, ecx
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b463
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b462
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 0x44b449
inc eax
cmp edx, 0xd
jne 0x44b47a
inc esi
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
cmp byte [esi], 0xa
jne 0x44b4b1
inc esi
jmp 0x44b4b1
cmp edx, 0xa
je 0x44b4af
cmp dword [edi + 0x4c], 0
jne 0x44b9a6
cmp edx, 0xb
je 0x44b4af
cmp edx, 0xc
je 0x44b4af
cmp edx, 0x85
je 0x44b4af
cmp edx, 0x2028
je 0x44b4af
cmp edx, 0x2029
jne 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b408
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b52b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b52a
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 0x44b511
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44b579
je 0x44b5a1
cmp edx, 9
je 0x44b5a1
cmp edx, 0x20
je 0x44b5a1
cmp edx, 0xa0
je 0x44b5a1
cmp edx, 0x1680
je 0x44b5a1
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b4d0
jmp 0x44b9a6
cmp edx, 0x2000
jb 0x44b550
cmp edx, 0x200a
jbe 0x44b5a1
cmp edx, 0x202f
je 0x44b5a1
cmp edx, 0x205f
je 0x44b5a1
cmp edx, 0x3000
jne 0x44b550
xor ecx, ecx
inc ecx
jmp 0x44b552
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b60c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b60b
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 0x44b5f2
inc eax
cmp edx, 0xa
jb 0x44b633
cmp edx, 0xd
jbe 0x44b62e
cmp edx, 0x85
je 0x44b62e
cmp edx, 0x2027
jbe 0x44b633
cmp edx, 0x2029
ja 0x44b633
xor ecx, ecx
inc ecx
jmp 0x44b635
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b5b1
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b6c2
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b6c1
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 0x44b6a8
inc eax
cmp edx, 0x100
jae 0x44b6d7
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b667
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b74f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b74e
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 0x44b735
inc eax
cmp edx, 0x100
jae 0x44b9a6
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b6f4
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b7e4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b7e3
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 0x44b7ca
inc eax
cmp edx, 0x100
jae 0x44b7f9
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b789
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b871
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b870
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 0x44b857
inc eax
cmp edx, 0x100
jae 0x44b9a6
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b816
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b906
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b905
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 0x44b8ec
inc eax
cmp edx, 0x100
jae 0x44b91b
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b8ab
jmp 0x44b9a6
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44b9a6
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44b9a6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44b988
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44b987
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 0x44b96e
inc eax
cmp edx, 0x100
jae 0x44b9a6
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44b9a6
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44b931
cmp dword [ebp - 0x1c], 0
jne 0x448ce8
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44cf7a
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44ce54.14
jmp dword [eax*4 + 0x44d1dc]
test byte [ebp + 0x1c], 4
jne case.0x44b9c5.13
cmp edx, ecx
mov ebx, edx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44ba09
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne 0x44bc8a
jmp 0x44ba2e
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44ba2e
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44ba2e
cmp ecx, 1
je 0x44bc8a
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44bc8a
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b9dc
jmp 0x44bc8a
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44ba47
mov ecx, eax
add esi, ecx
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44bc8a
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44ba79
inc esi
cmp esi, ecx
jae 0x44bc8a
cmp byte [esi], 0xa
jne 0x44ba9e
jmp 0x44ba9d
cmp eax, 0xa
je 0x44ba9d
cmp dword [edi + 0x4c], 0
jne 0x44bc8a
cmp eax, 0xb
je 0x44ba9d
cmp eax, 0xc
je 0x44ba9d
cmp eax, 0x85
jne 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ba59
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44bc8a
movzx eax, byte [esi]
cmp eax, 9
je 0x44bc8a
cmp eax, 0x20
je 0x44bc8a
cmp eax, 0xa0
je 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bab4
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44bc8a
movzx eax, byte [esi]
cmp eax, 9
je 0x44bb13
cmp eax, 0x20
je 0x44bb13
cmp eax, 0xa0
jne 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44baf3
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44bc8a
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44bc8a
cmp eax, 0xb
je 0x44bc8a
cmp eax, 0xc
je 0x44bc8a
cmp eax, 0xd
je 0x44bc8a
cmp eax, 0x85
je 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bb2a
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44bc8a
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44bba5
cmp eax, 0xb
je 0x44bba5
cmp eax, 0xc
je 0x44bba5
cmp eax, 0xd
je 0x44bba5
cmp eax, 0x85
jne 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bb7b
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bbbc
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bbeb
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bc13
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bc33
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bc53
jmp 0x44bc8a
cmp edx, ecx
jge 0x44bc8a
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44bc8a
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44bc8a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bc73
cmp dword [ebp - 0x1c], 0
jne 0x448ce8
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
dec esi
test eax, eax
jne 0x44cf9f
cmp esi, dword [ebp - 0x14]
jae 0x44bca1
jmp case.0x448d1f.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 0x44bcf6
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44bce4
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 0x44c074
mov dword [ebp + 0x24], edx
jmp 0x44be65
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 0x44bf7d
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44bd38
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 0x44bd9b
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 + 0x467580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00448c9c
add esp, 0x24
test eax, eax
je 0x44bd83
cmp eax, 0xfffffc1c
jne 0x44cf9f
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 0x44bd49
cmp dword [ebp + 0x24], 0
jne 0x44c044
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x467580]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44be65
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov eax, dword [ebp - 0x20]
jmp 0x4490b0
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 0x44be36
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
cmp dword [ebp + 0x24], eax
jne 0x44c1fa
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44be65
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
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 0x448cbf
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44cf9e
push 0xffffffffffffffeb
jmp 0x44cf9e
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 + 0x467580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov eax, 0xfffffc1a
jmp 0x44cf9f
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 + 0x467580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov eax, 0xfffffc19
jmp 0x44cf9f
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 + 0x467580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov dword [edi + 0x5c], esi
mov eax, 0xfffffc1b
jmp 0x44cf9f
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 + 0x467580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov eax, 0xfffffc1c
jmp 0x44cf9f
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 + 0x68]
mov dword [ebp + 0x18], ecx
mov ecx, esi
sub ecx, dword [edi + 0x54]
cmp dword [ebp - 8], 0x61
mov dword [eax], ecx
jne 0x44bfbc
mov dword [ebp + 0x24], 2
jmp 0x44bfc0
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 + 0x467580]
push dword [ebp + 0x1c]
add ecx, eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push esi
call fcn.00448c9c
add esp, 0x24
test eax, eax
je 0x44c002
cmp eax, 0xfffffc1c
jne 0x44cf9f
mov eax, dword [ebp + 0x18]
mov dword [edi + 0x68], 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 0x44bfc7
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.0x448d1f.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 + 0x467580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.00448c9c
add esp, 0x24
jmp 0x44cf9f
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 0x44c066
cmp dword [edi + 0x40], 0
je 0x44c09a
cmp esi, dword [ebp + 0x10]
je case.0x448d1f.108
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x64], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x60], esi
xor eax, eax
inc eax
jmp 0x44cf9f
mov eax, dword [edi + 0x50]
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 0x44c0cb
and dword [ebp - 0x38], 0
jmp 0x44c0d6
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
mov dword [edi + 0x78], eax
mov eax, dword [edi + 0x10]
add ebx, 3
cmp eax, 0x1e
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], eax
jg 0x44c0fe
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44c11a
shl eax, 2
push eax
call dword [0x47503c]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44c117
push 0xfffffffffffffffa
jmp 0x44cf9e
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.00450640
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 + 0x467580]
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.00448c9c
add esp, 0x24
cmp eax, 1
je 0x44c1d6
test eax, eax
je 0x44c181
cmp eax, 0xfffffc1c
jne 0x44cf9f
lea eax, [ebp - 0x3c]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [ebp - 0x2c]
push dword [edi + 0xc]
call fcn.00450640
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 0x44c147
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x448d1f.108
push dword [ebp - 0x2c]
call dword [0x475040]
pop ecx
jmp case.0x448d1f.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44c0a9
push dword [ebp - 0x2c]
call dword [0x475040]
pop ecx
jmp 0x44c0a9
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 0x44c066
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x64], eax
jmp 0x44c0a6
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x448d1f.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00448c3e
test eax, eax
pop ecx
pop ecx
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c21f
jmp 0x44cf9f
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44c2a2
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.00448c3e
test eax, eax
pop ecx
pop ecx
je 0x44c299
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c279
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44c2a6
jmp case.0x448d1f.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44c334
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44c334
jmp 0x44c31e
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 0x44c31b
cmp eax, 0xff
jbe 0x44c341
cmp dword [ebp - 8], 0x4d
jmp 0x44c356
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.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c2d7
jmp 0x44cf9f
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c3c7
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.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.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c390
jmp 0x44cf9f
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44c4ea
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44c4a4
cmp esi, dword [edi + 0x58]
mov dword [ebp - 0x20], 1
jae 0x44c4a4
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44c46e
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
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 0x44c467
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 0x44c44b
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44c47b
cmp dword [ebp - 8], 0x4d
jmp 0x44c490
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 0x44c4a4
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44c404
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44c4c8
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x448d1f.108
jmp 0x44c4bd
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c4bc
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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c4ae
jmp 0x44cf9f
cmp edx, dword [ebp - 4]
jge 0x44c51e
cmp esi, dword [edi + 0x58]
jae 0x44c515
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 0x44c515
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c4ef
cmp esi, dword [ebp - 0x14]
jb case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44c522
jmp case.0x448d1f.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44c5a8
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov edx, dword [eax*4 + 0x467624]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44c5a4
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 0x44c594
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044dea6
test eax, eax
pop ecx
pop ecx
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c551
jmp 0x44cf9f
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44c663
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x58]
jae 0x44c668
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44c64c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
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 0x44c649
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 0x44c630
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044dea6
test eax, eax
pop ecx
pop ecx
je 0x44c668
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44c5f3
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c68b
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x448d1f.108
cmp dword [ebp - 0x18], 0
je 0x44c68b
jmp 0x44c683
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c682
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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c66e
jmp 0x44cf9f
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c6eb
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044ec80
add esp, 0xc
test eax, eax
jne case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c6b9
jmp 0x44cf9f
cmp esi, dword [ebp - 0x14]
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c710
jmp 0x44cf9f
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c776
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c74a
jmp 0x44cf9f
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c7c9
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c7a4
jmp 0x44cf9f
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44c8b7
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 0x44c8a1
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c85c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c855
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 0x44c843
cmp edx, 0x100
jae 0x44c86b
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
cmp dword [ebp - 8], edx
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c817
jmp 0x44cf9f
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c8e9
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c8bd
jmp 0x44cf9f
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x448d1f.108
jmp 0x44c91d
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c91c
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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c90e
jmp 0x44cf9f
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44ca00
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 0x44c9ea
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c9b4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x467640]
mov ebx, dword [eax*4 + 0x467624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c9ad
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 0x44c99b
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
cmp dword [ebp - 8], edx
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44c96f
jmp 0x44cf9f
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44ca30
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x448d1f.108
cmp esi, dword [edi + 0x58]
jae case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44ca08
jmp 0x44cf9f
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x448d1f.108
jmp 0x44ca61
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44ca60
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.00448c9c
add esp, 0x24
test eax, eax
je 0x44ca52
jmp 0x44cf9f
push 0xfffffffffffffff2
jmp 0x44cf9e
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44cdd3
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.00448c9c
add esp, 0x24
test eax, eax
jne 0x44cf9f
mov ebx, 0x100
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x448d1f.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x448d1f.108
cmp dword [ebp - 0xc], 0xc
jne 0x44cb3d
test byte [ebp + 0x1c], 4
jne 0x44cb3d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44cb18
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne case.0x448d1f.108
jmp 0x44cb3d
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44cb3d
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44cb3d
cmp ecx, 1
je case.0x448d1f.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x448d1f.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44cb8a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x467640]
mov ebx, dword [edx*4 + 0x467624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44cb85
jmp 0x44cb6f
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 0x44cb6c
mov ebx, 0x100
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44ce54.14
jmp dword [ecx*4 + 0x44d218]
cmp eax, 0xa
je case.0x44cb99.12
jbe case.0x448d1f.108
cmp eax, 0xc
jbe 0x44cbd6
cmp eax, 0xd
je 0x44cbe5
cmp eax, 0x85
je 0x44cbd6
cmp eax, 0x2027
jbe case.0x448d1f.108
cmp eax, 0x2029
ja case.0x448d1f.108
cmp dword [edi + 0x4c], 0
jne case.0x448d1f.108
jmp case.0x44cb99.12
cmp esi, dword [edi + 0x58]
jae case.0x44cb99.12
cmp byte [esi], 0xa
jne case.0x44cb99.12
inc esi
jmp case.0x44cb99.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44cc33
je case.0x448d1f.108
cmp eax, 9
je case.0x448d1f.108
cmp eax, 0x20
je case.0x448d1f.108
cmp eax, 0xa0
je case.0x448d1f.108
cmp eax, 0x1680
jmp 0x44cd9f
cmp eax, 0x2000
jb case.0x44cb99.12
cmp eax, 0x200a
jbe case.0x448d1f.108
cmp eax, 0x202f
je case.0x448d1f.108
cmp eax, 0x205f
je case.0x448d1f.108
cmp eax, 0x3000
jmp 0x44cd9f
mov ecx, 0x180e
cmp eax, ecx
ja 0x44cc9f
je case.0x44cb99.12
cmp eax, 9
je case.0x44cb99.12
cmp eax, 0x20
je case.0x44cb99.12
cmp eax, 0xa0
je case.0x44cb99.12
cmp eax, 0x1680
jmp 0x44cbda
cmp eax, 0x2000
jb case.0x448d1f.108
cmp eax, 0x200a
jbe case.0x44cb99.12
cmp eax, 0x202f
je case.0x44cb99.12
cmp eax, 0x205f
je case.0x44cb99.12
cmp eax, 0x3000
jmp 0x44cbda
cmp eax, 0xa
jb case.0x44cb99.12
cmp eax, 0xd
jbe case.0x448d1f.108
cmp eax, 0x85
je case.0x448d1f.108
cmp eax, 0x2027
jbe case.0x44cb99.12
cmp eax, 0x2029
jbe case.0x448d1f.108
jmp case.0x44cb99.12
cmp eax, 0xa
jb case.0x448d1f.108
cmp eax, 0xd
jbe case.0x44cb99.12
cmp eax, 0x85
je case.0x44cb99.12
cmp eax, 0x2027
jbe case.0x448d1f.108
cmp eax, 0x2029
ja case.0x448d1f.108
jmp case.0x44cb99.12
cmp eax, ebx
jae case.0x44cb99.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44cbda
cmp eax, ebx
jae case.0x448d1f.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44cd9f
cmp eax, ebx
jae case.0x44cb99.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44cbda
cmp eax, ebx
jae case.0x448d1f.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44cd9f
cmp eax, ebx
jae case.0x44cb99.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44cbda
cmp eax, ebx
jae case.0x448d1f.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44cad2
jmp 0x44cf9f
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44cf40
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x448d1f.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x448d1f.108
test byte [ebp + 0x1c], 4
jne 0x44ce41
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44ce1c
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044dab8
add esp, 0x14
test eax, eax
jne case.0x448d1f.108
jmp 0x44ce41
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44ce41
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44ce41
cmp ecx, 1
je case.0x448d1f.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x448d1f.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44ce54.14
jmp dword [ecx*4 + 0x44d254]
cmp eax, 0xa
je case.0x44ce54.12
jbe case.0x448d1f.108
cmp eax, 0xc
jbe 0x44ce7f
cmp eax, 0xd
je 0x44ce8e
cmp eax, 0x85
jne case.0x448d1f.108
cmp dword [edi + 0x4c], 0
jne case.0x448d1f.108
jmp case.0x44ce54.12
cmp esi, dword [edi + 0x58]
jae case.0x44ce54.12
cmp byte [esi], 0xa
jne case.0x44ce54.12
inc esi
jmp case.0x44ce54.12
cmp eax, 9
je case.0x448d1f.108
cmp eax, 0x20
je case.0x448d1f.108
cmp eax, 0xa0
jmp 0x44cf34
cmp eax, 9
je case.0x44ce54.12
cmp eax, 0x20
je case.0x44ce54.12
cmp eax, 0xa0
jmp 0x44ce83
cmp eax, 0xa
jb case.0x44ce54.12
cmp eax, 0xd
jbe case.0x448d1f.108
cmp eax, 0x85
jmp 0x44cf34
cmp eax, 0xa
jb case.0x448d1f.108
cmp eax, 0xd
jbe case.0x44ce54.12
cmp eax, 0x85
jmp 0x44ce83
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44ce83
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44cf34
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44ce83
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44cf34
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44ce83
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x448d1f.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.00448c9c
add esp, 0x24
test eax, eax
je 0x44cddd
jmp 0x44cf9f
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x448d1f.108
jmp 0x44cf72
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44cf71
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.00448c9c
add esp, 0x24
test eax, eax
je 0x44cf63
jmp 0x44cf9f
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret