Function at 0x4493a8
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 0x44c582
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44c58b
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x4493f4
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 0x44941b
cmp esi, dword [edi + 0x58]
jb 0x44941b
cmp esi, dword [ebp + 0x10]
jbe 0x44941b
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x44942b.14
movzx eax, byte [ecx + 0x44d7c4]
jmp dword [eax*4 + 0x44d6b0]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x449466
mov eax, dword [edi + 0x78]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x449458
cmp ecx, 0xffff
je 0x449482
cmp ecx, dword [eax + 4]
je 0x449482
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x4494de
cmp cl, 0x63
jne 0x44948a
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x449458
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x449458
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x449462
cmp cl, 0x65
jne 0x44949b
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x4494e6
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.004493a8
add esp, 0x24
cmp eax, 1
je 0x44c3dc
test eax, eax
je 0x4494d0
cmp eax, 0xfffffc1c
jne 0x44d6ab
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 0x44c407
cmp byte [ebx], 0x53
je 0x44c407
jmp 0x44961b
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x44c797
cmp dword [ebx + 4], 0
jne 0x44c797
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.00451850
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 0x4493f4
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x44961e
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.004493a8
add esp, 0x24
cmp eax, 1
je 0x449593
test eax, eax
je 0x449584
cmp eax, 0xfffffc1c
jne 0x44d6ab
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x449552
cmp byte [ebx], 0x54
je case.0x44942b.108
test byte [ebp + 0x24], 1
jne 0x44c7b5
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4495a6
mov eax, dword [edi + 0x64]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x4493f4
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.004493a8
add esp, 0x24
cmp eax, 1
je case.0x44942b.108
test eax, eax
je 0x449602
cmp eax, 0xfffffc1c
jne 0x44d6ab
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4495d0
test byte [ebp + 0x24], 1
jne 0x44c7b5
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x4493f4
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x449658
cmp eax, edx
jle 0x44961b
mov ecx, dword [edi + 0x54]
dec eax
dec esi
cmp esi, ecx
jae 0x449648
xor eax, eax
jmp 0x44d6ab
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x449647
test eax, eax
jg 0x44963a
jmp 0x44961b
sub esi, eax
cmp esi, dword [edi + 0x54]
jb case.0x44942b.108
jmp 0x44961b
mov ecx, dword [0x4789c0]
cmp ecx, edx
je 0x4496de
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.0x44942b.108
jl 0x44d6ab
add ebx, 6
jmp 0x44961e
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.004493a8
add esp, 0x24
cmp eax, 1
je 0x449738
test eax, eax
je 0x449729
cmp eax, 0xfffffc1c
jne 0x44d6ab
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4496f6
mov al, byte [ebx]
cmp al, 0x5c
je 0x449746
cmp al, 0x53
jne case.0x44942b.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x449746
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x64]
mov esi, dword [edi + 0x60]
mov dword [ebp + 0x14], eax
je 0x44961b
cmp esi, dword [ebp - 0x1c]
je 0x44961b
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x44978a
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 0x44c4c5
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44c56d
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x44942b.83
jmp 0x44961e
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x449802
jmp 0x44961b
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 0x449819
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
jmp 0x44961e
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 0x449874
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 0x44c920
cmp al, 0x58
je 0x44c920
cmp al, 0x59
je 0x44c920
cmp al, 0x5a
je 0x44c920
cmp al, 0x5c
je 0x44c920
cmp al, 0x5e
je 0x4498ae
cmp al, 0x61
jne 0x449932
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 0x4498cd
mov dword [edi + 0x2c], 1
jmp 0x4498f5
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 0x4498f5
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x449932
cmp dword [ebx + 4], edx
jne 0x449932
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.00450dd0
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x4493f4
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x449949
cmp esi, dword [ebp - 0x1c]
jne 0x44c4ee
add eax, 3
jmp 0x449532
cmp dword [edi + 0x30], edx
je 0x44995f
cmp esi, dword [edi + 0x54]
je case.0x44942b.108
test byte [ebp + 0x1c], 2
je case.0x44942b.1
mov ecx, dword [edi + 0x54]
cmp esi, ecx
je 0x4499cd
cmp esi, dword [edi + 0x58]
je case.0x44942b.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4499a0
cmp esi, ecx
jbe case.0x44942b.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044e28f
add esp, 0x14
test eax, eax
je case.0x44942b.108
jmp 0x4499cd
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x44942b.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x44942b.108
cmp eax, 1
je 0x4499cd
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x44942b.108
inc ebx
jmp 0x44961e
cmp esi, dword [edi + 0x54]
jmp 0x4499c7
mov eax, dword [edi + 0x6c]
add eax, dword [edi + 0x54]
cmp esi, eax
jmp 0x4499c7
mov dword [ebp + 0x10], esi
jmp 0x4499cd
test byte [ebp + 0x1c], 2
je 0x449a33
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x449a2e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x449a0c
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
jmp 0x449993
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x44942b.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44942b.108
cmp ecx, 1
je 0x4499cd
mov al, byte [esi + 1]
jmp 0x4499c4
cmp dword [edi + 0x34], edx
jmp 0x4499c7
cmp dword [edi + 0x34], edx
jne case.0x44942b.108
cmp dword [edi + 0x3c], edx
jne case.0x44942b.23
mov eax, dword [edi + 0x58]
cmp esi, eax
je 0x449aab
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x449a73
cmp esi, eax
jae case.0x44942b.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
je case.0x44942b.108
jmp 0x449a9e
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x44942b.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44942b.108
cmp ecx, 1
je 0x449a9e
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x44942b.108
mov eax, dword [edi + 0x58]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x44942b.108
inc dword [ebp + 0xc]
jmp 0x4493f4
cmp esi, dword [edi + 0x58]
jb case.0x44942b.108
jmp 0x4499cd
cmp dword [ebp - 0x18], edx
je 0x449bd6
cmp esi, dword [edi + 0x54]
jne 0x449ad7
mov dword [ebp + 0x18], edx
jmp 0x449b60
lea eax, [esi - 1]
jmp 0x449add
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x449adc
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x449b42
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x468640]
mov ecx, ebx
imul ecx, ecx, 6
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebx*4 + 0x468624]
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 0x449b3f
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 0x449b21
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x449b5c
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x449b5c
mov dword [ebp + 0x18], 1
jmp 0x449b60
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x58]
jb 0x449b69
xor eax, eax
jmp 0x449bd2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x449bb7
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x449bb7
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 0x449b9e
cmp edx, 0x100
jae 0x449bcd
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x449bcd
xor eax, eax
inc eax
jmp 0x449bcf
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x449c0a
cmp esi, dword [edi + 0x54]
je 0x449bef
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x449bf2
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x58]
jae 0x449c08
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x449c08
xor eax, eax
inc eax
jmp 0x449c0a
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x449c1f
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x449c27
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x4493f4
jmp case.0x44942b.108
test byte [ebp + 0x1c], 4
jne 0x449c8e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x449c66
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x449c8e
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne case.0x44942b.108
jmp 0x449c8e
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x58]
sub ecx, eax
cmp esi, ecx
ja 0x449c8e
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x449c8e
cmp eax, 1
je case.0x44942b.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44942b.108
mov eax, dword [edi + 0x58]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x44942b.108
cmp dword [ebp - 0x18], 0
je 0x4499cd
cmp esi, eax
jae 0x4499cd
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4499cd
inc esi
cmp esi, dword [edi + 0x58]
jb 0x449cae
jmp 0x4499cd
mov eax, esi
inc esi
cmp eax, dword [edi + 0x58]
jae case.0x44942b.108
jmp 0x4499cd
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449d2a
cmp edx, 0xc0
jb 0x449d2a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449d23
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 0x449d11
cmp edx, 0x100
jae 0x449aab
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x449aa5
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449d96
cmp edx, 0xc0
jb 0x449d96
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449d8f
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 0x449d7d
cmp edx, 0x100
jae case.0x44942b.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x44942b.108
jmp 0x449aab
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449e08
cmp edx, 0xc0
jb 0x449e08
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449e01
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 0x449def
cmp edx, 0x100
jae 0x449aab
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x449aa5
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449e74
cmp edx, 0xc0
jb 0x449e74
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449e6d
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 0x449e5b
cmp edx, 0x100
jae case.0x44942b.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x449da9
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449ee0
cmp edx, 0xc0
jb 0x449ee0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449ed9
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 0x449ec7
cmp edx, 0x100
jae 0x449aab
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x449aa5
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449f4c
cmp edx, 0xc0
jb 0x449f4c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449f45
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 0x449f33
cmp edx, 0x100
jae case.0x44942b.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x449da9
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x449fb8
cmp edx, 0xc0
jb 0x449fb8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x449fb1
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 0x449f9f
cmp edx, 0xa
je 0x449aab
jbe case.0x44942b.108
cmp edx, 0xc
jbe 0x449ff1
cmp edx, 0xd
je 0x449ffa
cmp edx, 0x85
je 0x449ff1
cmp edx, 0x2027
jbe case.0x44942b.108
cmp edx, 0x2029
ja case.0x44942b.108
cmp dword [edi + 0x4c], 0
jmp 0x449aa5
cmp esi, dword [edi + 0x58]
jae 0x449aab
cmp byte [esi], 0xa
jne 0x449aab
inc esi
jmp 0x449aab
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44a068
cmp eax, 0xc0
jb 0x44a068
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44a068
jmp 0x44a052
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 0x44a04f
mov ecx, 0x180e
cmp eax, ecx
ja 0x44a09e
je case.0x44942b.108
cmp eax, 9
je case.0x44942b.108
cmp eax, 0x20
je case.0x44942b.108
cmp eax, 0xa0
je case.0x44942b.108
cmp eax, 0x1680
jmp 0x449da9
cmp eax, 0x2000
jb 0x449aab
cmp eax, 0x200a
jbe case.0x44942b.108
cmp eax, 0x202f
je case.0x44942b.108
cmp eax, 0x205f
je case.0x44942b.108
cmp eax, 0x3000
jmp 0x449da9
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44a12a
cmp eax, 0xc0
jb 0x44a12a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44a12a
jmp 0x44a114
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 0x44a111
mov ecx, 0x180e
cmp eax, ecx
ja 0x44a160
je 0x449aab
cmp eax, 9
je 0x449aab
cmp eax, 0x20
je 0x449aab
cmp eax, 0xa0
je 0x449aab
cmp eax, 0x1680
jmp 0x449aa5
cmp eax, 0x2000
jb case.0x44942b.108
cmp eax, 0x200a
jbe 0x449aab
cmp eax, 0x202f
je 0x449aab
cmp eax, 0x205f
je 0x449aab
cmp eax, 0x3000
jmp 0x449aa5
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44a1ea
cmp edx, 0xc0
jb 0x44a1ea
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a1e3
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 0x44a1d1
cmp edx, 0xa
jb 0x449aab
cmp edx, 0xd
jbe case.0x44942b.108
cmp edx, 0x85
je case.0x44942b.108
cmp edx, 0x2027
jbe 0x449aab
cmp edx, 0x2029
jbe case.0x44942b.108
jmp 0x449aab
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44a279
cmp edx, 0xc0
jb 0x44a279
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44a272
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 0x44a260
cmp edx, 0xa
jb case.0x44942b.108
cmp edx, 0xd
jbe 0x449aab
cmp edx, 0x85
je 0x449aab
cmp edx, 0x2027
jbe case.0x44942b.108
cmp edx, 0x2029
ja case.0x44942b.108
jmp 0x449aab
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 0x44a2df
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x44a2df
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x44a2e5
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 0x44a3ba
cmp al, 0x4a
jbe 0x44a334
cmp al, 0x4c
ja 0x44a3ba
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 0x44a32c
mov dword [ebp - 4], SysReAllocString
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x44a361
movzx eax, al
movsx ebx, byte [eax + 0x46852b]
sub eax, 0x45
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x468578]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44a361
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x10], 0
je 0x4493f4
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x44a39b
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044934a
test eax, eax
pop ecx
pop ecx
je case.0x44942b.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44a375
cmp ebx, dword [ebp - 4]
je 0x4493f4
cmp dword [ebp - 0x24], 0
je 0x44c97d
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44c958
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.0044934a
test eax, eax
pop ecx
pop ecx
je case.0x44942b.108
add esi, ebx
jmp 0x4493f4
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 0x44a458
cmp al, 0x4a
jbe 0x44a425
cmp al, 0x4c
ja 0x44a458
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 0x44a41d
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44a461
movzx eax, al
movsx edx, byte [eax + 0x46852b]
sub eax, 0x45
mov ecx, eax
movsx eax, byte [eax + 0x468578]
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 0x44a461
mov dword [ebp - 4], SysReAllocString
jmp 0x44a461
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 0x44a506
cmp edx, eax
jl 0x44a53d
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44a4cd
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44a4ca
jmp 0x44a4b4
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 0x44a4b1
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x44a4da
cmp dword [ebp - 8], 0x4d
jmp 0x44a4ef
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.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44a479
mov ebx, dword [ebp + 0xc]
jmp 0x44a53d
cmp edx, eax
jl 0x44a53d
cmp esi, dword [edi + 0x58]
jae case.0x44942b.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.0x44942b.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x44a50a
cmp edx, dword [ebp - 4]
je 0x4493f4
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44caf8
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44ca96
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 0x44ca80
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 0x44a601
cmp al, 0x4a
jbe 0x44a5ce
cmp al, 0x4c
ja 0x44a601
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 0x44a5c6
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44a60a
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x24], ecx
movsx ecx, byte [eax + 0x468570]
movsx eax, byte [eax + 0x468578]
inc ebx
cmp eax, edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
jne 0x44a60a
mov dword [ebp - 4], SysReAllocString
jmp 0x44a60a
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 0x44a685
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44a660
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov edx, dword [eax*4 + 0x468624]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44a65c
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 0x44a64c
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044e5b2
test eax, eax
pop ecx
pop ecx
je case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44a615
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x4493f4
cmp dword [ebp - 0x24], edx
je 0x44ccf7
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 0x44cce1
cmp dword [ebp - 0x18], edx
je 0x44a705
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x44a6db
and eax, 0x3f
movzx ecx, byte [eax + 0x468640]
inc ecx
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ecx, eax
jg case.0x44942b.108
jmp 0x44a6fc
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x44942b.108
test ecx, ecx
jg 0x44a6ea
jmp 0x4493f4
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x44942b.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x44942b.108
jmp 0x449541
cmp dword [ebp - 0x18], edx
je 0x44a819
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 0x44a79a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44a790
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 0x44a773
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.0x44942b.108
cmp dword [ebp - 8], 0x80
jae 0x44a7c6
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 0x449c2b
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x44a808
and eax, 0x3f
movzx edx, byte [eax + 0x468640]
mov eax, dword [edx*4 + 0x468624]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x44a804
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 0x44a7f4
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x449c2b
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x44942b.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 0x44a719
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 0x44a8cd
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 0x44a84b
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x44a8c6
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44a880
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44a8cd
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx ebx, byte [eax + 0x468552]
sub eax, 0x1e
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x468578]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44a8cd
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x18], 0
je 0x44a9e9
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 0x44a94b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x468624]
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 0x44a947
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 0x44a924
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.0x44942b.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x44aa05
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x44a998
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044f41a
add esp, 0xc
test eax, eax
jne case.0x44942b.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44a976
cmp ebx, dword [ebp - 4]
je 0x4493f4
cmp dword [ebp - 0x24], 0
jne 0x44cdbc
mov dword [ebp - 0x14], esi
jmp 0x44a9d1
mov eax, dword [edi + 0x58]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x44a9d6
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044f41a
add esp, 0xc
test eax, eax
jne 0x44a9d6
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44a9b0
cmp dword [ebp - 0x1c], 0
jne 0x4493f4
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ce28
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ebx, eax
jg case.0x44942b.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 0x44aaab
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x44aa35
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x44942b.108
inc eax
cmp eax, ebx
jle 0x44aa1f
cmp ebx, dword [ebp - 4]
je 0x4493f4
cmp dword [ebp - 0x24], 0
jne 0x44ce4d
mov dword [ebp - 0x14], esi
jmp 0x44aa60
cmp esi, dword [edi + 0x58]
jae 0x44aa65
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x44aa65
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44aa4d
cmp dword [ebp - 0x1c], 0
jne 0x4493f4
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
dec esi
test eax, eax
jne 0x44d6ab
cmp esi, dword [ebp - 0x14]
jae 0x44aa7c
jmp case.0x44942b.108
cmp ebx, edx
mov ecx, edx
jl 0x44aac2
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x44942b.108
inc ecx
cmp ecx, ebx
jle 0x44aab1
cmp ebx, dword [ebp - 4]
je 0x4493f4
cmp dword [ebp - 0x24], 0
jne 0x44cea7
mov dword [ebp - 0x14], esi
jmp 0x44aae9
cmp esi, dword [edi + 0x58]
jae 0x44aaee
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x44aaee
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44aada
cmp dword [ebp - 0x1c], 0
jne 0x4493f4
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
dec esi
test eax, eax
jne 0x44d6ab
cmp esi, dword [ebp - 0x14]
jae 0x44ab05
jmp case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x44ab8c
cmp edx, 0xc0
jb 0x44ab8c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ab85
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 0x44ab73
test byte [ebp + 0x1c], 1
je 0x44abbe
cmp edx, 0x100
jae 0x44aba1
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 0x4493f4
jmp case.0x44942b.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x44abae
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x44ac53
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 0x44abd1
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x44ac4c
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x44abf9
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x44ac53
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 0x44abd1
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x468545]
sub eax, 0x2b
mov ecx, eax
movsx eax, byte [eax + 0x468578]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44ac53
mov dword [ebp - 4], SysReAllocString
mov eax, dword [edi + 0x58]
sub eax, esi
cmp edx, eax
jg case.0x44942b.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x44ae4b
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x44ad0e
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44ad31
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44ace9
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x468624]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44ace2
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 0x44acc8
cmp ebx, 0x100
jae 0x44acf8
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44ac96
mov ebx, dword [ebp + 0xc]
jmp 0x44ad31
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x44ad31
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44ad18
cmp edx, dword [ebp - 4]
je 0x4493f4
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44cefa
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44ae01
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44add4
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44add4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44adb3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44adaf
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 0x44ad96
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44adc2
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x44add4
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ad59
cmp dword [ebp - 0x1c], 0
jne 0x4493f4
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44d034
cmp esi, dword [edi + 0x58]
jae 0x44ae06
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x44ae06
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44adeb
cmp dword [ebp - 0x1c], ecx
jne 0x4493f4
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44ae1c
jmp case.0x44942b.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x44aec4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44aeda
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44aeae
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x468624]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44aea7
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 0x44ae8d
cmp dword [ebp - 8], ebx
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44ae5b
mov ebx, dword [ebp + 0xc]
jmp 0x44aeda
cmp edx, eax
jl 0x44aeda
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44942b.108
inc eax
cmp eax, edx
jle 0x44aec8
cmp edx, dword [ebp - 4]
je 0x4493f4
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44d056
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44af9a
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44af74
jmp 0x44af06
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44af74
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44af60
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44af5c
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 0x44af43
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44af72
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44af04
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x4493f4
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44d17a
cmp esi, dword [edi + 0x58]
jae 0x44af9f
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x44af9f
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44af8b
cmp dword [ebp - 0x1c], ecx
jne 0x4493f4
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44afb5
jmp case.0x44942b.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 0x44b09d
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 0x44b09a
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], SysReAllocString
inc ebx
jmp 0x44b020
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x44b030
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44b037
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 0x44b01d
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x468538]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x468578]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x44b09a
mov dword [ebp - 4], SysReAllocString
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.0x44942b.108
test edx, edx
jle 0x44b97a
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x44b6c1
cmp ecx, 0xe
ja case.0x44d560.14
jmp dword [ecx*4 + 0x44d834]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x44942b.108
test byte [ebp + 0x1c], 4
jne 0x44b143
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44b11f
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne case.0x44942b.108
inc eax
jmp 0x44b143
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44b143
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44b143
cmp edx, eax
je case.0x44942b.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44942b.108
mov ecx, dword [edi + 0x58]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x44b15e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44b15e
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44b14e
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44b0ea
mov edx, dword [ebp - 0x14]
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b1ca
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b1c3
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 0x44b1b1
cmp edx, 0xa
je 0x44b209
jbe case.0x44942b.108
cmp edx, 0xc
jbe 0x44b1ff
cmp edx, 0xd
je 0x44b220
cmp edx, 0x85
je 0x44b1ff
cmp edx, 0x2027
jbe case.0x44942b.108
cmp edx, 0x2029
ja case.0x44942b.108
cmp dword [edi + 0x4c], 0
jne case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b17c
mov ebx, dword [ebp + 0xc]
jmp 0x44b169
cmp esi, dword [ebp - 0x10]
jae 0x44b209
cmp byte [esi], 0xa
jne 0x44b209
inc esi
jmp 0x44b209
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b289
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b289
jmp 0x44b273
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 0x44b270
mov ecx, 0x180e
cmp eax, ecx
ja 0x44b2bc
je case.0x44942b.108
cmp eax, 9
je case.0x44942b.108
cmp eax, 0x20
je case.0x44942b.108
cmp eax, 0xa0
je case.0x44942b.108
cmp eax, 0x1680
jmp 0x44b2e9
cmp eax, 0x2000
jb 0x44b2ef
cmp eax, 0x200a
jbe case.0x44942b.108
cmp eax, 0x202f
je case.0x44942b.108
cmp eax, 0x205f
je case.0x44942b.108
cmp eax, 0x3000
je case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b238
jmp 0x44b218
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b35f
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b35f
jmp 0x44b349
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 0x44b346
mov ecx, 0x180e
cmp eax, ecx
ja 0x44b382
je 0x44b3ad
cmp eax, 9
je 0x44b3ad
cmp eax, 0x20
je 0x44b3ad
cmp eax, 0xa0
je 0x44b3ad
cmp eax, 0x1680
jmp 0x44b3a7
cmp eax, 0x2000
jb case.0x44942b.108
cmp eax, 0x200a
jbe 0x44b3ad
cmp eax, 0x202f
je 0x44b3ad
cmp eax, 0x205f
je 0x44b3ad
cmp eax, 0x3000
jne case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b30e
jmp 0x44b218
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b41a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b413
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 0x44b401
cmp edx, 0xa
jb 0x44b448
cmp edx, 0xd
jbe case.0x44942b.108
cmp edx, 0x85
je case.0x44942b.108
cmp edx, 0x2027
jbe 0x44b448
cmp edx, 0x2029
jbe case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b3cc
jmp 0x44b218
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b4b5
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b4ae
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 0x44b49c
cmp edx, 0xa
jb case.0x44942b.108
cmp edx, 0xd
jbe 0x44b4e3
cmp edx, 0x85
je 0x44b4e3
cmp edx, 0x2027
jbe case.0x44942b.108
cmp edx, 0x2029
ja case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b467
jmp 0x44b218
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44b550
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b549
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 0x44b537
cmp edx, 0x80
jae 0x44b565
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x44942b.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b502
jmp 0x44b218
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44942b.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b580
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44b5e0
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x44942b.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44b5ee
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b5e0
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b5c0
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44942b.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b606
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44b666
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44942b.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44b674
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44b666
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b646
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44942b.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b68c
jmp 0x44b97a
cmp ecx, 0xe
ja case.0x44d560.14
jmp dword [ecx*4 + 0x44d870]
test byte [ebp + 0x1c], 4
jne case.0x44b6ca.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44b70c
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44b733
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne case.0x44942b.108
inc eax
jmp 0x44b733
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x58]
sub edx, ecx
cmp esi, edx
ja 0x44b733
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x44b733
cmp ecx, eax
je case.0x44942b.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44942b.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44b6e2
jmp 0x44b169
add esi, edx
jmp 0x44b97a
cmp edx, eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
je 0x44b78b
jle case.0x44942b.108
cmp ecx, 0xc
jle 0x44b781
cmp ecx, 0xd
je 0x44b795
cmp ecx, 0x85
jne case.0x44942b.108
cmp dword [edi + 0x4c], 0
jne case.0x44942b.108
inc eax
cmp eax, edx
jle 0x44b753
jmp 0x44b97a
cmp esi, dword [ebp - 0x10]
jae 0x44b78b
cmp byte [esi], 0xa
jne 0x44b78b
inc esi
jmp 0x44b78b
cmp edx, eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x44942b.108
cmp ecx, 0x20
je case.0x44942b.108
cmp ecx, 0xa0
je case.0x44942b.108
inc eax
cmp eax, edx
jle 0x44b7aa
jmp 0x44b97a
cmp edx, eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x44b80a
cmp ecx, 0x20
je 0x44b80a
cmp ecx, 0xa0
jne case.0x44942b.108
inc eax
cmp eax, edx
jle 0x44b7e7
jmp 0x44b97a
cmp edx, eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x44b843
cmp ecx, 0xd
jle case.0x44942b.108
cmp ecx, 0x85
je case.0x44942b.108
inc eax
cmp eax, edx
jle 0x44b81c
jmp 0x44b97a
cmp edx, eax
jl 0x44b97a
cmp esi, dword [ebp - 0x10]
jae case.0x44942b.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x44942b.108
cmp ecx, 0xd
jle 0x44b87c
cmp ecx, 0x85
jne case.0x44942b.108
inc eax
cmp eax, edx
jle 0x44b855
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b894
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b8c1
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b8ee
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b914
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b93a
jmp 0x44b97a
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44b97a
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x44942b.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b960
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x4493f4
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44d1a1
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44c0c5
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44d560.14
jmp dword [eax*4 + 0x44d8ac]
cmp ecx, 0x7fffffff
jge 0x44ba6f
test byte [ebp + 0x1c], 4
jne 0x44ba3c
cmp edx, ecx
mov ebx, edx
jge 0x44c0b2
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c0b2
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44b9fc
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne 0x44c0b2
jmp 0x44ba2b
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44ba2b
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44ba2b
cmp ecx, 1
je 0x44c0b2
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44c0b2
jmp 0x44ba2b
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44ba31
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44ba23
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b9ce
jmp 0x44c0b2
cmp edx, ecx
jge 0x44c0b2
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c0b2
inc esi
cmp esi, eax
jae 0x44ba64
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44ba64
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44ba54
inc edx
cmp edx, dword [ebp - 4]
jl 0x44ba47
jmp 0x44c0b2
test byte [ebp + 0x1c], 4
jne 0x44baed
cmp edx, ecx
mov ebx, edx
jge 0x44c0b2
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c0b2
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44baad
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne 0x44c0b2
jmp 0x44badc
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44badc
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44badc
cmp ecx, 1
je 0x44c0b2
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44c0b2
jmp 0x44badc
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44bae2
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44bad4
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44ba7f
jmp 0x44c0b2
mov esi, dword [edi + 0x58]
jmp 0x44c0b2
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44bb02
mov ecx, eax
add esi, ecx
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bb6f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44bb6e
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 0x44bb55
inc eax
cmp edx, 0xd
jne 0x44bb86
inc esi
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
cmp byte [esi], 0xa
jne 0x44bbbd
inc esi
jmp 0x44bbbd
cmp edx, 0xa
je 0x44bbbb
cmp dword [edi + 0x4c], 0
jne 0x44c0b2
cmp edx, 0xb
je 0x44bbbb
cmp edx, 0xc
je 0x44bbbb
cmp edx, 0x85
je 0x44bbbb
cmp edx, 0x2028
je 0x44bbbb
cmp edx, 0x2029
jne 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bb14
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bc37
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44bc36
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 0x44bc1d
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44bc85
je 0x44bcad
cmp edx, 9
je 0x44bcad
cmp edx, 0x20
je 0x44bcad
cmp edx, 0xa0
je 0x44bcad
cmp edx, 0x1680
je 0x44bcad
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bbdc
jmp 0x44c0b2
cmp edx, 0x2000
jb 0x44bc5c
cmp edx, 0x200a
jbe 0x44bcad
cmp edx, 0x202f
je 0x44bcad
cmp edx, 0x205f
je 0x44bcad
cmp edx, 0x3000
jne 0x44bc5c
xor ecx, ecx
inc ecx
jmp 0x44bc5e
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bd18
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44bd17
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 0x44bcfe
inc eax
cmp edx, 0xa
jb 0x44bd3f
cmp edx, 0xd
jbe 0x44bd3a
cmp edx, 0x85
je 0x44bd3a
cmp edx, 0x2027
jbe 0x44bd3f
cmp edx, 0x2029
ja 0x44bd3f
xor ecx, ecx
inc ecx
jmp 0x44bd41
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bcbd
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bdce
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44bdcd
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 0x44bdb4
inc eax
cmp edx, 0x100
jae 0x44bde3
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bd73
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44be5b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44be5a
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 0x44be41
inc eax
cmp edx, 0x100
jae 0x44c0b2
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44be00
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bef0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44beef
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 0x44bed6
inc eax
cmp edx, 0x100
jae 0x44bf05
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44be95
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bf7d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44bf7c
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 0x44bf63
inc eax
cmp edx, 0x100
jae 0x44c0b2
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bf22
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44c012
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44c011
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 0x44bff8
inc eax
cmp edx, 0x100
jae 0x44c027
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bfb7
jmp 0x44c0b2
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44c0b2
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44c0b2
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44c094
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44c093
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 0x44c07a
inc eax
cmp edx, 0x100
jae 0x44c0b2
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44c0b2
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44c03d
cmp dword [ebp - 0x1c], 0
jne 0x4493f4
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44d686
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44d560.14
jmp dword [eax*4 + 0x44d8e8]
test byte [ebp + 0x1c], 4
jne case.0x44c0d1.13
cmp edx, ecx
mov ebx, edx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c115
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne 0x44c396
jmp 0x44c13a
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c13a
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c13a
cmp ecx, 1
je 0x44c396
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44c396
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c0e8
jmp 0x44c396
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44c153
mov ecx, eax
add esi, ecx
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c396
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44c185
inc esi
cmp esi, ecx
jae 0x44c396
cmp byte [esi], 0xa
jne 0x44c1aa
jmp 0x44c1a9
cmp eax, 0xa
je 0x44c1a9
cmp dword [edi + 0x4c], 0
jne 0x44c396
cmp eax, 0xb
je 0x44c1a9
cmp eax, 0xc
je 0x44c1a9
cmp eax, 0x85
jne 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c165
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c396
movzx eax, byte [esi]
cmp eax, 9
je 0x44c396
cmp eax, 0x20
je 0x44c396
cmp eax, 0xa0
je 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c1c0
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c396
movzx eax, byte [esi]
cmp eax, 9
je 0x44c21f
cmp eax, 0x20
je 0x44c21f
cmp eax, 0xa0
jne 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c1ff
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c396
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44c396
cmp eax, 0xb
je 0x44c396
cmp eax, 0xc
je 0x44c396
cmp eax, 0xd
je 0x44c396
cmp eax, 0x85
je 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c236
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c396
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44c2b1
cmp eax, 0xb
je 0x44c2b1
cmp eax, 0xc
je 0x44c2b1
cmp eax, 0xd
je 0x44c2b1
cmp eax, 0x85
jne 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c287
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c2c8
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c2f7
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c31f
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c33f
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c35f
jmp 0x44c396
cmp edx, ecx
jge 0x44c396
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44c396
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44c396
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c37f
cmp dword [ebp - 0x1c], 0
jne 0x4493f4
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
dec esi
test eax, eax
jne 0x44d6ab
cmp esi, dword [ebp - 0x14]
jae 0x44c3ad
jmp case.0x44942b.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 0x44c402
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44c3f0
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 0x44c780
mov dword [ebp + 0x24], edx
jmp 0x44c571
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 0x44c689
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44c444
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 0x44c4a7
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 + 0x468580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004493a8
add esp, 0x24
test eax, eax
je 0x44c48f
cmp eax, 0xfffffc1c
jne 0x44d6ab
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 0x44c455
cmp dword [ebp + 0x24], 0
jne 0x44c750
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x468580]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44c571
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov eax, dword [ebp - 0x20]
jmp 0x4497bc
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 0x44c542
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
cmp dword [ebp + 0x24], eax
jne 0x44c906
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44c571
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
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 0x4493cb
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44d6aa
push 0xffffffffffffffeb
jmp 0x44d6aa
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 + 0x468580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov eax, 0xfffffc1a
jmp 0x44d6ab
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 + 0x468580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov eax, 0xfffffc19
jmp 0x44d6ab
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 + 0x468580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov dword [edi + 0x5c], esi
mov eax, 0xfffffc1b
jmp 0x44d6ab
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 + 0x468580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov eax, 0xfffffc1c
jmp 0x44d6ab
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 0x44c6c8
mov dword [ebp + 0x24], 2
jmp 0x44c6cc
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 + 0x468580]
push dword [ebp + 0x1c]
add ecx, eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push esi
call fcn.004493a8
add esp, 0x24
test eax, eax
je 0x44c70e
cmp eax, 0xfffffc1c
jne 0x44d6ab
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 0x44c6d3
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.0x44942b.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 + 0x468580]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.004493a8
add esp, 0x24
jmp 0x44d6ab
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 0x44c772
cmp dword [edi + 0x40], 0
je 0x44c7a6
cmp esi, dword [ebp + 0x10]
je case.0x44942b.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 0x44d6ab
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 0x44c7d7
and dword [ebp - 0x38], 0
jmp 0x44c7e2
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 0x44c80a
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44c826
shl eax, 2
push eax
call dword [0x47603c]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44c823
push 0xfffffffffffffffa
jmp 0x44d6aa
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.00450dd0
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 + 0x468580]
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.004493a8
add esp, 0x24
cmp eax, 1
je 0x44c8e2
test eax, eax
je 0x44c88d
cmp eax, 0xfffffc1c
jne 0x44d6ab
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.00450dd0
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 0x44c853
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x44942b.108
push dword [ebp - 0x2c]
call dword [0x476040]
pop ecx
jmp case.0x44942b.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44c7b5
push dword [ebp - 0x2c]
call dword [0x476040]
pop ecx
jmp 0x44c7b5
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 0x44c772
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x64], eax
jmp 0x44c7b2
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44942b.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044934a
test eax, eax
pop ecx
pop ecx
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44c92b
jmp 0x44d6ab
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44c9ae
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044934a
test eax, eax
pop ecx
pop ecx
je 0x44c9a5
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c985
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44c9b2
jmp case.0x44942b.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44ca40
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44ca40
jmp 0x44ca2a
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 0x44ca27
cmp eax, 0xff
jbe 0x44ca4d
cmp dword [ebp - 8], 0x4d
jmp 0x44ca62
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.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44c9e3
jmp 0x44d6ab
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44cad3
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.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.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44ca9c
jmp 0x44d6ab
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44cbf6
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44cbb0
cmp esi, dword [edi + 0x58]
mov dword [ebp - 0x20], 1
jae 0x44cbb0
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44cb7a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
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 0x44cb73
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 0x44cb57
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44cb87
cmp dword [ebp - 8], 0x4d
jmp 0x44cb9c
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 0x44cbb0
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cb10
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44cbd4
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44942b.108
jmp 0x44cbc9
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44cbc8
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.004493a8
add esp, 0x24
test eax, eax
je 0x44cbba
jmp 0x44d6ab
cmp edx, dword [ebp - 4]
jge 0x44cc2a
cmp esi, dword [edi + 0x58]
jae 0x44cc21
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 0x44cc21
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44cbfb
cmp esi, dword [ebp - 0x14]
jb case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44cc2e
jmp case.0x44942b.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44ccb4
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov edx, dword [eax*4 + 0x468624]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44ccb0
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 0x44cca0
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044e5b2
test eax, eax
pop ecx
pop ecx
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44cc5d
jmp 0x44d6ab
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44cd6f
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x58]
jae 0x44cd74
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cd58
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
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 0x44cd55
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 0x44cd3c
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044e5b2
test eax, eax
pop ecx
pop ecx
je 0x44cd74
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ccff
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44cd97
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44942b.108
cmp dword [ebp - 0x18], 0
je 0x44cd97
jmp 0x44cd8f
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44cd8e
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.004493a8
add esp, 0x24
test eax, eax
je 0x44cd7a
jmp 0x44d6ab
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44cdf7
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.0044f41a
add esp, 0xc
test eax, eax
jne case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44cdc5
jmp 0x44d6ab
cmp esi, dword [ebp - 0x14]
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44ce1c
jmp 0x44d6ab
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ce82
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44ce56
jmp 0x44d6ab
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ced5
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44ceb0
jmp 0x44d6ab
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44cfc3
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 0x44cfad
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44cf68
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44cf61
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 0x44cf4f
cmp edx, 0x100
jae 0x44cf77
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
cmp dword [ebp - 8], edx
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44cf23
jmp 0x44d6ab
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44cff5
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44cfc9
jmp 0x44d6ab
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44942b.108
jmp 0x44d029
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44d028
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.004493a8
add esp, 0x24
test eax, eax
je 0x44d01a
jmp 0x44d6ab
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44d10c
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 0x44d0f6
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44d0c0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468640]
mov ebx, dword [eax*4 + 0x468624]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44d0b9
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 0x44d0a7
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
cmp dword [ebp - 8], edx
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44d07b
jmp 0x44d6ab
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44d13c
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44942b.108
cmp esi, dword [edi + 0x58]
jae case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44d114
jmp 0x44d6ab
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44942b.108
jmp 0x44d16d
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44d16c
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.004493a8
add esp, 0x24
test eax, eax
je 0x44d15e
jmp 0x44d6ab
push 0xfffffffffffffff2
jmp 0x44d6aa
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44d4df
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.004493a8
add esp, 0x24
test eax, eax
jne 0x44d6ab
mov ebx, pe_nt_image_headers32
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44942b.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x44942b.108
cmp dword [ebp - 0xc], 0xc
jne 0x44d249
test byte [ebp + 0x1c], 4
jne 0x44d249
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44d224
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne case.0x44942b.108
jmp 0x44d249
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44d249
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44d249
cmp ecx, 1
je case.0x44942b.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44942b.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44d296
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468640]
mov ebx, dword [edx*4 + 0x468624]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44d291
jmp 0x44d27b
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 0x44d278
mov ebx, pe_nt_image_headers32
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44d560.14
jmp dword [ecx*4 + 0x44d924]
cmp eax, 0xa
je case.0x44d2a5.12
jbe case.0x44942b.108
cmp eax, 0xc
jbe 0x44d2e2
cmp eax, 0xd
je 0x44d2f1
cmp eax, 0x85
je 0x44d2e2
cmp eax, 0x2027
jbe case.0x44942b.108
cmp eax, 0x2029
ja case.0x44942b.108
cmp dword [edi + 0x4c], 0
jne case.0x44942b.108
jmp case.0x44d2a5.12
cmp esi, dword [edi + 0x58]
jae case.0x44d2a5.12
cmp byte [esi], 0xa
jne case.0x44d2a5.12
inc esi
jmp case.0x44d2a5.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44d33f
je case.0x44942b.108
cmp eax, 9
je case.0x44942b.108
cmp eax, 0x20
je case.0x44942b.108
cmp eax, 0xa0
je case.0x44942b.108
cmp eax, 0x1680
jmp 0x44d4ab
cmp eax, 0x2000
jb case.0x44d2a5.12
cmp eax, 0x200a
jbe case.0x44942b.108
cmp eax, 0x202f
je case.0x44942b.108
cmp eax, 0x205f
je case.0x44942b.108
cmp eax, 0x3000
jmp 0x44d4ab
mov ecx, 0x180e
cmp eax, ecx
ja 0x44d3ab
je case.0x44d2a5.12
cmp eax, 9
je case.0x44d2a5.12
cmp eax, 0x20
je case.0x44d2a5.12
cmp eax, 0xa0
je case.0x44d2a5.12
cmp eax, 0x1680
jmp 0x44d2e6
cmp eax, 0x2000
jb case.0x44942b.108
cmp eax, 0x200a
jbe case.0x44d2a5.12
cmp eax, 0x202f
je case.0x44d2a5.12
cmp eax, 0x205f
je case.0x44d2a5.12
cmp eax, 0x3000
jmp 0x44d2e6
cmp eax, 0xa
jb case.0x44d2a5.12
cmp eax, 0xd
jbe case.0x44942b.108
cmp eax, 0x85
je case.0x44942b.108
cmp eax, 0x2027
jbe case.0x44d2a5.12
cmp eax, 0x2029
jbe case.0x44942b.108
jmp case.0x44d2a5.12
cmp eax, 0xa
jb case.0x44942b.108
cmp eax, 0xd
jbe case.0x44d2a5.12
cmp eax, 0x85
je case.0x44d2a5.12
cmp eax, 0x2027
jbe case.0x44942b.108
cmp eax, 0x2029
ja case.0x44942b.108
jmp case.0x44d2a5.12
cmp eax, ebx
jae case.0x44d2a5.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44d2e6
cmp eax, ebx
jae case.0x44942b.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44d4ab
cmp eax, ebx
jae case.0x44d2a5.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44d2e6
cmp eax, ebx
jae case.0x44942b.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44d4ab
cmp eax, ebx
jae case.0x44d2a5.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44d2e6
cmp eax, ebx
jae case.0x44942b.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44d1de
jmp 0x44d6ab
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44d64c
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44942b.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x44942b.108
test byte [ebp + 0x1c], 4
jne 0x44d54d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44d528
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044e1c4
add esp, 0x14
test eax, eax
jne case.0x44942b.108
jmp 0x44d54d
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44d54d
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44d54d
cmp ecx, 1
je case.0x44942b.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44942b.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44d560.14
jmp dword [ecx*4 + 0x44d960]
cmp eax, 0xa
je case.0x44d560.12
jbe case.0x44942b.108
cmp eax, 0xc
jbe 0x44d58b
cmp eax, 0xd
je 0x44d59a
cmp eax, 0x85
jne case.0x44942b.108
cmp dword [edi + 0x4c], 0
jne case.0x44942b.108
jmp case.0x44d560.12
cmp esi, dword [edi + 0x58]
jae case.0x44d560.12
cmp byte [esi], 0xa
jne case.0x44d560.12
inc esi
jmp case.0x44d560.12
cmp eax, 9
je case.0x44942b.108
cmp eax, 0x20
je case.0x44942b.108
cmp eax, 0xa0
jmp 0x44d640
cmp eax, 9
je case.0x44d560.12
cmp eax, 0x20
je case.0x44d560.12
cmp eax, 0xa0
jmp 0x44d58f
cmp eax, 0xa
jb case.0x44d560.12
cmp eax, 0xd
jbe case.0x44942b.108
cmp eax, 0x85
jmp 0x44d640
cmp eax, 0xa
jb case.0x44942b.108
cmp eax, 0xd
jbe case.0x44d560.12
cmp eax, 0x85
jmp 0x44d58f
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44d58f
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44d640
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44d58f
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44d640
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44d58f
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44942b.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.004493a8
add esp, 0x24
test eax, eax
je 0x44d4e9
jmp 0x44d6ab
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44942b.108
jmp 0x44d67e
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44d67d
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.004493a8
add esp, 0x24
test eax, eax
je 0x44d66f
jmp 0x44d6ab
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret