Function at 0x44a283
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 0x44d45d
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44d466
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x44a2cf
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 0x44a2f6
cmp esi, dword [edi + 0x58]
jb 0x44a2f6
cmp esi, dword [ebp + 0x10]
jbe 0x44a2f6
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x44a306.14
movzx eax, byte [ecx + 0x44e69f]
jmp dword [eax*4 + 0x44e58b]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x44a341
mov eax, dword [edi + 0x78]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x44a333
cmp ecx, 0xffff
je 0x44a35d
cmp ecx, dword [eax + 4]
je 0x44a35d
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x44a3b9
cmp cl, 0x63
jne 0x44a365
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x44a333
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x44a333
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x44a33d
cmp cl, 0x65
jne 0x44a376
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x44a3c1
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.0044a283
add esp, 0x24
cmp eax, 1
je 0x44d2b7
test eax, eax
je 0x44a3ab
cmp eax, 0xfffffc1c
jne 0x44e586
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 0x44d2e2
cmp byte [ebx], 0x53
je 0x44d2e2
jmp 0x44a4f6
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x44d672
cmp dword [ebx + 4], 0
jne 0x44d672
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.00453190
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 0x44a2cf
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x44a4f9
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.0044a283
add esp, 0x24
cmp eax, 1
je 0x44a46e
test eax, eax
je 0x44a45f
cmp eax, 0xfffffc1c
jne 0x44e586
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a42d
cmp byte [ebx], 0x54
je case.0x44a306.108
test byte [ebp + 0x24], 1
jne 0x44d690
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a481
mov eax, dword [edi + 0x64]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x44a2cf
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.0044a283
add esp, 0x24
cmp eax, 1
je case.0x44a306.108
test eax, eax
je 0x44a4dd
cmp eax, 0xfffffc1c
jne 0x44e586
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a4ab
test byte [ebp + 0x24], 1
jne 0x44d690
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x44a2cf
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x44a533
cmp eax, edx
jle 0x44a4f6
mov ecx, dword [edi + 0x54]
dec eax
dec esi
cmp esi, ecx
jae 0x44a523
xor eax, eax
jmp 0x44e586
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x44a522
test eax, eax
jg 0x44a515
jmp 0x44a4f6
sub esi, eax
cmp esi, dword [edi + 0x54]
jb case.0x44a306.108
jmp 0x44a4f6
mov ecx, dword [0x4789c0]
cmp ecx, edx
je 0x44a5b9
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.0x44a306.108
jl 0x44e586
add ebx, 6
jmp 0x44a4f9
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.0044a283
add esp, 0x24
cmp eax, 1
je 0x44a613
test eax, eax
je 0x44a604
cmp eax, 0xfffffc1c
jne 0x44e586
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a5d1
mov al, byte [ebx]
cmp al, 0x5c
je 0x44a621
cmp al, 0x53
jne case.0x44a306.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a621
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x64]
mov esi, dword [edi + 0x60]
mov dword [ebp + 0x14], eax
je 0x44a4f6
cmp esi, dword [ebp - 0x1c]
je 0x44a4f6
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x44a665
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 0x44d3a0
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44d448
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x44a306.83
jmp 0x44a4f9
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a6dd
jmp 0x44a4f6
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 0x44a6f4
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
jmp 0x44a4f9
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 0x44a74f
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 0x44d7fb
cmp al, 0x58
je 0x44d7fb
cmp al, 0x59
je 0x44d7fb
cmp al, 0x5a
je 0x44d7fb
cmp al, 0x5c
je 0x44d7fb
cmp al, 0x5e
je 0x44a789
cmp al, 0x61
jne 0x44a80d
add byte [eax], al
invalid
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 0x44a7a8
mov dword [edi + 0x2c], 1
jmp 0x44a7d0
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 0x44a7d0
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x44a80d
cmp dword [ebx + 4], edx
jne 0x44a80d
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.0044fd30
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x44a2cf
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x44a824
cmp esi, dword [ebp - 0x1c]
jne 0x44d3c9
add eax, 3
jmp 0x44a40d
cmp dword [edi + 0x30], edx
je 0x44a83a
cmp esi, dword [edi + 0x54]
je case.0x44a306.108
test byte [ebp + 0x1c], 2
je case.0x44a306.1
mov ecx, dword [edi + 0x54]
cmp esi, ecx
je 0x44a8a8
cmp esi, dword [edi + 0x58]
je case.0x44a306.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x44a87b
cmp esi, ecx
jbe case.0x44a306.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044f1ae
add esp, 0x14
test eax, eax
je case.0x44a306.108
jmp 0x44a8a8
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x44a306.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x44a306.108
cmp eax, 1
je 0x44a8a8
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x44a306.108
inc ebx
jmp 0x44a4f9
cmp esi, dword [edi + 0x54]
jmp 0x44a8a2
mov eax, dword [edi + 0x6c]
add eax, dword [edi + 0x54]
cmp esi, eax
jmp 0x44a8a2
mov dword [ebp + 0x10], esi
jmp 0x44a8a8
test byte [ebp + 0x1c], 2
je 0x44a90e
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44a909
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a8e7
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
jmp 0x44a86e
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x44a306.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44a306.108
cmp ecx, 1
je 0x44a8a8
mov al, byte [esi + 1]
jmp 0x44a89f
cmp dword [edi + 0x34], edx
jmp 0x44a8a2
cmp dword [edi + 0x34], edx
jne case.0x44a306.108
cmp dword [edi + 0x3c], edx
jne case.0x44a306.23
mov eax, dword [edi + 0x58]
cmp esi, eax
je 0x44a986
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a94e
cmp esi, eax
jae case.0x44a306.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
je case.0x44a306.108
jmp 0x44a979
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x44a306.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44a306.108
cmp ecx, 1
je 0x44a979
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x44a306.108
mov eax, dword [edi + 0x58]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x44a306.108
inc dword [ebp + 0xc]
jmp 0x44a2cf
cmp esi, dword [edi + 0x58]
jb case.0x44a306.108
jmp 0x44a8a8
cmp dword [ebp - 0x18], edx
je 0x44aab1
cmp esi, dword [edi + 0x54]
jne 0x44a9b2
mov dword [ebp + 0x18], edx
jmp 0x44aa3b
lea eax, [esi - 1]
jmp 0x44a9b8
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x44a9b7
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x44aa1d
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x468680]
mov ecx, ebx
imul ecx, ecx, 6
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebx*4 + 0x468664]
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 0x44aa1a
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 0x44a9fc
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x44aa37
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44aa37
mov dword [ebp + 0x18], 1
jmp 0x44aa3b
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x58]
jb 0x44aa44
xor eax, eax
jmp 0x44aaad
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44aa92
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44aa92
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 0x44aa79
cmp edx, 0x100
jae 0x44aaa8
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44aaa8
xor eax, eax
inc eax
jmp 0x44aaaa
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x44aae5
cmp esi, dword [edi + 0x54]
je 0x44aaca
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x44aacd
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x58]
jae 0x44aae3
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x44aae3
xor eax, eax
inc eax
jmp 0x44aae5
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x44aafa
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x44ab02
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x44a2cf
jmp case.0x44a306.108
test byte [ebp + 0x1c], 4
jne 0x44ab69
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44ab41
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44ab69
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne case.0x44a306.108
jmp 0x44ab69
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x58]
sub ecx, eax
cmp esi, ecx
ja 0x44ab69
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44ab69
cmp eax, 1
je case.0x44a306.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44a306.108
mov eax, dword [edi + 0x58]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x44a306.108
cmp dword [ebp - 0x18], 0
je 0x44a8a8
cmp esi, eax
jae 0x44a8a8
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a8a8
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44ab89
jmp 0x44a8a8
mov eax, esi
inc esi
cmp eax, dword [edi + 0x58]
jae case.0x44a306.108
jmp 0x44a8a8
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ac05
cmp edx, 0xc0
jb 0x44ac05
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44abfe
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 0x44abec
cmp edx, 0x100
jae 0x44a986
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x44a980
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ac71
cmp edx, 0xc0
jb 0x44ac71
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ac6a
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 0x44ac58
cmp edx, 0x100
jae case.0x44a306.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x44a306.108
jmp 0x44a986
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ace3
cmp edx, 0xc0
jb 0x44ace3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44acdc
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 0x44acca
cmp edx, 0x100
jae 0x44a986
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x44a980
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ad4f
cmp edx, 0xc0
jb 0x44ad4f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ad48
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 0x44ad36
cmp edx, 0x100
jae case.0x44a306.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x44ac84
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44adbb
cmp edx, 0xc0
jb 0x44adbb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44adb4
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 0x44ada2
cmp edx, 0x100
jae 0x44a986
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x44a980
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ae27
cmp edx, 0xc0
jb 0x44ae27
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ae20
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 0x44ae0e
cmp edx, 0x100
jae case.0x44a306.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x44ac84
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ae93
cmp edx, 0xc0
jb 0x44ae93
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ae8c
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 0x44ae7a
cmp edx, 0xa
je 0x44a986
jbe case.0x44a306.108
cmp edx, 0xc
jbe 0x44aecc
cmp edx, 0xd
je 0x44aed5
cmp edx, 0x85
je 0x44aecc
cmp edx, 0x2027
jbe case.0x44a306.108
cmp edx, 0x2029
ja case.0x44a306.108
cmp dword [edi + 0x4c], 0
jmp 0x44a980
cmp esi, dword [edi + 0x58]
jae 0x44a986
cmp byte [esi], 0xa
jne 0x44a986
inc esi
jmp 0x44a986
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44af43
cmp eax, 0xc0
jb 0x44af43
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44af43
jmp 0x44af2d
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 0x44af2a
mov ecx, 0x180e
cmp eax, ecx
ja 0x44af79
je case.0x44a306.108
cmp eax, 9
je case.0x44a306.108
cmp eax, 0x20
je case.0x44a306.108
cmp eax, 0xa0
je case.0x44a306.108
cmp eax, 0x1680
jmp 0x44ac84
cmp eax, 0x2000
jb 0x44a986
cmp eax, 0x200a
jbe case.0x44a306.108
cmp eax, 0x202f
je case.0x44a306.108
cmp eax, 0x205f
je case.0x44a306.108
cmp eax, 0x3000
jmp 0x44ac84
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44b005
cmp eax, 0xc0
jb 0x44b005
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b005
jmp 0x44afef
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 0x44afec
mov ecx, 0x180e
cmp eax, ecx
ja 0x44b03b
je 0x44a986
cmp eax, 9
je 0x44a986
cmp eax, 0x20
je 0x44a986
cmp eax, 0xa0
je 0x44a986
cmp eax, 0x1680
jmp 0x44a980
cmp eax, 0x2000
jb case.0x44a306.108
cmp eax, 0x200a
jbe 0x44a986
cmp eax, 0x202f
je 0x44a986
cmp eax, 0x205f
je 0x44a986
cmp eax, 0x3000
jmp 0x44a980
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44b0c5
cmp edx, 0xc0
jb 0x44b0c5
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b0be
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 0x44b0ac
cmp edx, 0xa
jb 0x44a986
cmp edx, 0xd
jbe case.0x44a306.108
cmp edx, 0x85
je case.0x44a306.108
cmp edx, 0x2027
jbe 0x44a986
cmp edx, 0x2029
jbe case.0x44a306.108
jmp 0x44a986
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44b154
cmp edx, 0xc0
jb 0x44b154
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44b14d
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 0x44b13b
cmp edx, 0xa
jb case.0x44a306.108
cmp edx, 0xd
jbe 0x44a986
cmp edx, 0x85
je 0x44a986
cmp edx, 0x2027
jbe case.0x44a306.108
cmp edx, 0x2029
ja case.0x44a306.108
jmp 0x44a986
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 0x44b1ba
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x44b1ba
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x44b1c0
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 0x44b295
cmp al, 0x4a
jbe 0x44b20f
cmp al, 0x4c
ja 0x44b295
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 0x44b207
mov dword [ebp - 4], 0x7fffffff
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x44b23c
movzx eax, al
movsx ebx, byte [eax + 0x46856b]
sub eax, 0x45
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x4685b8]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44b23c
mov dword [ebp - 4], 0x7fffffff
cmp dword [ebp - 0x10], 0
je 0x44a2cf
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x44b276
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044a225
test eax, eax
pop ecx
pop ecx
je case.0x44a306.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44b250
cmp ebx, dword [ebp - 4]
je 0x44a2cf
cmp dword [ebp - 0x24], 0
je 0x44d858
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44d833
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.0044a225
test eax, eax
pop ecx
pop ecx
je case.0x44a306.108
add esi, ebx
jmp 0x44a2cf
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 0x44b333
cmp al, 0x4a
jbe 0x44b300
cmp al, 0x4c
ja 0x44b333
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 0x44b2f8
mov dword [ebp - 4], 0x7fffffff
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44b33c
movzx eax, al
movsx edx, byte [eax + 0x46856b]
sub eax, 0x45
mov ecx, eax
movsx eax, byte [eax + 0x4685b8]
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 0x44b33c
mov dword [ebp - 4], 0x7fffffff
jmp 0x44b33c
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 0x44b3e1
cmp edx, eax
jl 0x44b418
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b3a8
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44b3a5
jmp 0x44b38f
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 0x44b38c
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x44b3b5
cmp dword [ebp - 8], 0x4d
jmp 0x44b3ca
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.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b354
mov ebx, dword [ebp + 0xc]
jmp 0x44b418
cmp edx, eax
jl 0x44b418
cmp esi, dword [edi + 0x58]
jae case.0x44a306.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.0x44a306.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x44b3e5
cmp edx, dword [ebp - 4]
je 0x44a2cf
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44d9d3
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44d971
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 0x44d95b
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 0x44b4dc
cmp al, 0x4a
jbe 0x44b4a9
cmp al, 0x4c
ja 0x44b4dc
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 0x44b4a1
mov dword [ebp - 4], 0x7fffffff
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44b4e5
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x24], ecx
movsx ecx, byte [eax + 0x4685b0]
movsx eax, byte [eax + 0x4685b8]
inc ebx
cmp eax, edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
jne 0x44b4e5
mov dword [ebp - 4], 0x7fffffff
jmp 0x44b4e5
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 0x44b560
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44b53b
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov edx, dword [eax*4 + 0x468664]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44b537
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 0x44b527
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044f4d1
test eax, eax
pop ecx
pop ecx
je case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b4f0
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x44a2cf
cmp dword [ebp - 0x24], edx
je 0x44dbd2
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 0x44dbbc
cmp dword [ebp - 0x18], edx
je 0x44b5e0
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x44b5b6
and eax, 0x3f
movzx ecx, byte [eax + 0x468680]
inc ecx
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ecx, eax
jg case.0x44a306.108
jmp 0x44b5d7
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x44a306.108
test ecx, ecx
jg 0x44b5c5
jmp 0x44a2cf
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x44a306.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x44a306.108
jmp 0x44a41c
cmp dword [ebp - 0x18], edx
je 0x44b6f4
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 0x44b675
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44b66b
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 0x44b64e
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.0x44a306.108
cmp dword [ebp - 8], 0x80
jae 0x44b6a1
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 0x44ab06
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x44b6e3
and eax, 0x3f
movzx edx, byte [eax + 0x468680]
mov eax, dword [edx*4 + 0x468664]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x44b6df
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 0x44b6cf
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x44ab06
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x44a306.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 0x44b5f4
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 0x44b7a8
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 0x44b726
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x44b7a1
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44b75b
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44b7a8
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movsx ebx, byte [eax + 0x468592]
sub eax, 0x1e
inc dword [ebp + 0xc]
mov ecx, eax
movsx eax, byte [eax + 0x4685b8]
and ecx, 1
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44b7a8
mov dword [ebp - 4], 0x7fffffff
cmp dword [ebp - 0x18], 0
je 0x44b8c4
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 0x44b826
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x468664]
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 0x44b822
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 0x44b7ff
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.0x44a306.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x44b8e0
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x44b873
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.00450095
add esp, 0xc
test eax, eax
jne case.0x44a306.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44b851
cmp ebx, dword [ebp - 4]
je 0x44a2cf
cmp dword [ebp - 0x24], 0
jne 0x44dc97
mov dword [ebp - 0x14], esi
jmp 0x44b8ac
mov eax, dword [edi + 0x58]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x44b8b1
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.00450095
add esp, 0xc
test eax, eax
jne 0x44b8b1
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b88b
cmp dword [ebp - 0x1c], 0
jne 0x44a2cf
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dd03
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ebx, eax
jg case.0x44a306.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 0x44b986
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x44b910
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x44a306.108
inc eax
cmp eax, ebx
jle 0x44b8fa
cmp ebx, dword [ebp - 4]
je 0x44a2cf
cmp dword [ebp - 0x24], 0
jne 0x44dd28
mov dword [ebp - 0x14], esi
jmp 0x44b93b
cmp esi, dword [edi + 0x58]
jae 0x44b940
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x44b940
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b928
cmp dword [ebp - 0x1c], 0
jne 0x44a2cf
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
dec esi
test eax, eax
jne 0x44e586
cmp esi, dword [ebp - 0x14]
jae 0x44b957
jmp case.0x44a306.108
cmp ebx, edx
mov ecx, edx
jl 0x44b99d
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x44a306.108
inc ecx
cmp ecx, ebx
jle 0x44b98c
cmp ebx, dword [ebp - 4]
je 0x44a2cf
cmp dword [ebp - 0x24], 0
jne 0x44dd82
mov dword [ebp - 0x14], esi
jmp 0x44b9c4
cmp esi, dword [edi + 0x58]
jae 0x44b9c9
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x44b9c9
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b9b5
cmp dword [ebp - 0x1c], 0
jne 0x44a2cf
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
dec esi
test eax, eax
jne 0x44e586
cmp esi, dword [ebp - 0x14]
jae 0x44b9e0
jmp case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x44ba67
cmp edx, 0xc0
jb 0x44ba67
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44ba60
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 0x44ba4e
test byte [ebp + 0x1c], 1
je 0x44ba99
cmp edx, 0x100
jae 0x44ba7c
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 0x44a2cf
jmp case.0x44a306.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x44ba89
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x44bb2e
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 0x44baac
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x44bb27
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x44bad4
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x44bb2e
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 0x44baac
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x468585]
sub eax, 0x2b
mov ecx, eax
movsx eax, byte [eax + 0x4685b8]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
jne 0x44bb2e
mov dword [ebp - 4], 0x7fffffff
mov eax, dword [edi + 0x58]
sub eax, esi
cmp edx, eax
jg case.0x44a306.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x44bd26
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x44bbe9
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44bc0c
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44bbc4
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x468664]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44bbbd
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 0x44bba3
cmp ebx, 0x100
jae 0x44bbd3
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44bb71
mov ebx, dword [ebp + 0xc]
jmp 0x44bc0c
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x44bc0c
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44bbf3
cmp edx, dword [ebp - 4]
je 0x44a2cf
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44ddd5
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44bcdc
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44bcaf
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44bcaf
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bc8e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44bc8a
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 0x44bc71
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44bc9d
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x44bcaf
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bc34
cmp dword [ebp - 0x1c], 0
jne 0x44a2cf
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44df0f
cmp esi, dword [edi + 0x58]
jae 0x44bce1
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x44bce1
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bcc6
cmp dword [ebp - 0x1c], ecx
jne 0x44a2cf
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44bcf7
jmp case.0x44a306.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x44bd9f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44bdb5
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44bd89
mov eax, ebx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x468664]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
jmp 0x44bd82
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 0x44bd68
cmp dword [ebp - 8], ebx
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44bd36
mov ebx, dword [ebp + 0xc]
jmp 0x44bdb5
cmp edx, eax
jl 0x44bdb5
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44a306.108
inc eax
cmp eax, edx
jle 0x44bda3
cmp edx, dword [ebp - 4]
je 0x44a2cf
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44df31
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44be75
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44be4f
jmp 0x44bde1
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44be4f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44be3b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44be37
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 0x44be1e
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44be4d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bddf
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x44a2cf
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44e055
cmp esi, dword [edi + 0x58]
jae 0x44be7a
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x44be7a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44be66
cmp dword [ebp - 0x1c], ecx
jne 0x44a2cf
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44be90
jmp case.0x44a306.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 0x44bf78
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 0x44bf75
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0x7fffffff
inc ebx
jmp 0x44befb
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x44bf0b
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44bf12
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 0x44bef8
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x468578]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x4685b8]
and ecx, 1
inc ebx
test eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], eax
jne 0x44bf75
mov dword [ebp - 4], 0x7fffffff
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.0x44a306.108
test edx, edx
jle 0x44c855
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x44c59c
cmp ecx, 0xe
ja case.0x44e43b.14
jmp dword [ecx*4 + 0x44e70f]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x44a306.108
test byte [ebp + 0x1c], 4
jne 0x44c01e
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44bffa
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne case.0x44a306.108
inc eax
jmp 0x44c01e
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44c01e
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44c01e
cmp edx, eax
je case.0x44a306.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44a306.108
mov ecx, dword [edi + 0x58]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x44c039
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44c039
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c029
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44bfc5
mov edx, dword [ebp - 0x14]
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c0a5
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c09e
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 0x44c08c
cmp edx, 0xa
je 0x44c0e4
jbe case.0x44a306.108
cmp edx, 0xc
jbe 0x44c0da
cmp edx, 0xd
je 0x44c0fb
cmp edx, 0x85
je 0x44c0da
cmp edx, 0x2027
jbe case.0x44a306.108
cmp edx, 0x2029
ja case.0x44a306.108
cmp dword [edi + 0x4c], 0
jne case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c057
mov ebx, dword [ebp + 0xc]
jmp 0x44c044
cmp esi, dword [ebp - 0x10]
jae 0x44c0e4
cmp byte [esi], 0xa
jne 0x44c0e4
inc esi
jmp 0x44c0e4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44c164
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44c164
jmp 0x44c14e
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 0x44c14b
mov ecx, 0x180e
cmp eax, ecx
ja 0x44c197
je case.0x44a306.108
cmp eax, 9
je case.0x44a306.108
cmp eax, 0x20
je case.0x44a306.108
cmp eax, 0xa0
je case.0x44a306.108
cmp eax, 0x1680
jmp 0x44c1c4
cmp eax, 0x2000
jb 0x44c1ca
cmp eax, 0x200a
jbe case.0x44a306.108
cmp eax, 0x202f
je case.0x44a306.108
cmp eax, 0x205f
je case.0x44a306.108
cmp eax, 0x3000
je case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c113
jmp 0x44c0f3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44c23a
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44c23a
jmp 0x44c224
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 0x44c221
mov ecx, 0x180e
cmp eax, ecx
ja 0x44c25d
je 0x44c288
cmp eax, 9
je 0x44c288
cmp eax, 0x20
je 0x44c288
cmp eax, 0xa0
je 0x44c288
cmp eax, 0x1680
jmp 0x44c282
cmp eax, 0x2000
jb case.0x44a306.108
cmp eax, 0x200a
jbe 0x44c288
cmp eax, 0x202f
je 0x44c288
cmp eax, 0x205f
je 0x44c288
cmp eax, 0x3000
jne case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c1e9
jmp 0x44c0f3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c2f5
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c2ee
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 0x44c2dc
cmp edx, 0xa
jb 0x44c323
cmp edx, 0xd
jbe case.0x44a306.108
cmp edx, 0x85
je case.0x44a306.108
cmp edx, 0x2027
jbe 0x44c323
cmp edx, 0x2029
jbe case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c2a7
jmp 0x44c0f3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c390
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c389
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 0x44c377
cmp edx, 0xa
jb case.0x44a306.108
cmp edx, 0xd
jbe 0x44c3be
cmp edx, 0x85
je 0x44c3be
cmp edx, 0x2027
jbe case.0x44a306.108
cmp edx, 0x2029
ja case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c342
jmp 0x44c0f3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c42b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44c424
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 0x44c412
cmp edx, 0x80
jae 0x44c440
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x44a306.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c3dd
jmp 0x44c0f3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44a306.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c45b
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44c4bb
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x44a306.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44c4c9
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c4bb
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c49b
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44a306.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c4e1
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44c541
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44a306.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44c54f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c541
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c521
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44a306.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c567
jmp 0x44c855
cmp ecx, 0xe
ja case.0x44e43b.14
jmp dword [ecx*4 + 0x44e74b]
test byte [ebp + 0x1c], 4
jne case.0x44c5a5.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44c5e7
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c60e
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne case.0x44a306.108
inc eax
jmp 0x44c60e
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x58]
sub edx, ecx
cmp esi, edx
ja 0x44c60e
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x44c60e
cmp ecx, eax
je case.0x44a306.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44a306.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44c5bd
jmp 0x44c044
add esi, edx
jmp 0x44c855
cmp edx, eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
je 0x44c666
jle case.0x44a306.108
cmp ecx, 0xc
jle 0x44c65c
cmp ecx, 0xd
je 0x44c670
cmp ecx, 0x85
jne case.0x44a306.108
cmp dword [edi + 0x4c], 0
jne case.0x44a306.108
inc eax
cmp eax, edx
jle 0x44c62e
jmp 0x44c855
cmp esi, dword [ebp - 0x10]
jae 0x44c666
cmp byte [esi], 0xa
jne 0x44c666
inc esi
jmp 0x44c666
cmp edx, eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x44a306.108
cmp ecx, 0x20
je case.0x44a306.108
cmp ecx, 0xa0
je case.0x44a306.108
inc eax
cmp eax, edx
jle 0x44c685
jmp 0x44c855
cmp edx, eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x44c6e5
cmp ecx, 0x20
je 0x44c6e5
cmp ecx, 0xa0
jne case.0x44a306.108
inc eax
cmp eax, edx
jle 0x44c6c2
jmp 0x44c855
cmp edx, eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x44c71e
cmp ecx, 0xd
jle case.0x44a306.108
cmp ecx, 0x85
je case.0x44a306.108
inc eax
cmp eax, edx
jle 0x44c6f7
jmp 0x44c855
cmp edx, eax
jl 0x44c855
cmp esi, dword [ebp - 0x10]
jae case.0x44a306.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x44a306.108
cmp ecx, 0xd
jle 0x44c757
cmp ecx, 0x85
jne case.0x44a306.108
inc eax
cmp eax, edx
jle 0x44c730
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c76f
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c79c
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c7c9
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c7ef
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c815
jmp 0x44c855
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c855
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x44a306.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c83b
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x44a2cf
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44e07c
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44cfa0
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44e43b.14
jmp dword [eax*4 + 0x44e787]
cmp ecx, 0x7fffffff
jge 0x44c94a
test byte [ebp + 0x1c], 4
jne 0x44c917
cmp edx, ecx
mov ebx, edx
jge 0x44cf8d
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44cf8d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c8d7
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne 0x44cf8d
jmp 0x44c906
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c906
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c906
cmp ecx, 1
je 0x44cf8d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44cf8d
jmp 0x44c906
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44c90c
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c8fe
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c8a9
jmp 0x44cf8d
cmp edx, ecx
jge 0x44cf8d
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44cf8d
inc esi
cmp esi, eax
jae 0x44c93f
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44c93f
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c92f
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c922
jmp 0x44cf8d
test byte [ebp + 0x1c], 4
jne 0x44c9c8
cmp edx, ecx
mov ebx, edx
jge 0x44cf8d
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44cf8d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c988
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne 0x44cf8d
jmp 0x44c9b7
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c9b7
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c9b7
cmp ecx, 1
je 0x44cf8d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44cf8d
jmp 0x44c9b7
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44c9bd
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c9af
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c95a
jmp 0x44cf8d
mov esi, dword [edi + 0x58]
jmp 0x44cf8d
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44c9dd
mov ecx, eax
add esi, ecx
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ca4a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44ca49
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 0x44ca30
inc eax
cmp edx, 0xd
jne 0x44ca61
inc esi
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
cmp byte [esi], 0xa
jne 0x44ca98
inc esi
jmp 0x44ca98
cmp edx, 0xa
je 0x44ca96
cmp dword [edi + 0x4c], 0
jne 0x44cf8d
cmp edx, 0xb
je 0x44ca96
cmp edx, 0xc
je 0x44ca96
cmp edx, 0x85
je 0x44ca96
cmp edx, 0x2028
je 0x44ca96
cmp edx, 0x2029
jne 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44c9ef
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cb12
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44cb11
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 0x44caf8
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44cb60
je 0x44cb88
cmp edx, 9
je 0x44cb88
cmp edx, 0x20
je 0x44cb88
cmp edx, 0xa0
je 0x44cb88
cmp edx, 0x1680
je 0x44cb88
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cab7
jmp 0x44cf8d
cmp edx, 0x2000
jb 0x44cb37
cmp edx, 0x200a
jbe 0x44cb88
cmp edx, 0x202f
je 0x44cb88
cmp edx, 0x205f
je 0x44cb88
cmp edx, 0x3000
jne 0x44cb37
xor ecx, ecx
inc ecx
jmp 0x44cb39
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cbf3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44cbf2
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 0x44cbd9
inc eax
cmp edx, 0xa
jb 0x44cc1a
cmp edx, 0xd
jbe 0x44cc15
cmp edx, 0x85
je 0x44cc15
cmp edx, 0x2027
jbe 0x44cc1a
cmp edx, 0x2029
ja 0x44cc1a
xor ecx, ecx
inc ecx
jmp 0x44cc1c
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cb98
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cca9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44cca8
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 0x44cc8f
inc eax
cmp edx, 0x100
jae 0x44ccbe
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cc4e
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cd36
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44cd35
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 0x44cd1c
inc eax
cmp edx, 0x100
jae 0x44cf8d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ccdb
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cdcb
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44cdca
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 0x44cdb1
inc eax
cmp edx, 0x100
jae 0x44cde0
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cd70
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ce58
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44ce57
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 0x44ce3e
inc eax
cmp edx, 0x100
jae 0x44cf8d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cdfd
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ceed
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44ceec
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 0x44ced3
inc eax
cmp edx, 0x100
jae 0x44cf02
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ce92
jmp 0x44cf8d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf8d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cf6f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44cf6e
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 0x44cf55
inc eax
cmp edx, 0x100
jae 0x44cf8d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44cf8d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cf18
cmp dword [ebp - 0x1c], 0
jne 0x44a2cf
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44e561
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44e43b.14
jmp dword [eax*4 + 0x44e7c3]
test byte [ebp + 0x1c], 4
jne case.0x44cfac.13
cmp edx, ecx
mov ebx, edx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44cff0
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne 0x44d271
jmp 0x44d015
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44d015
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44d015
cmp ecx, 1
je 0x44d271
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44d271
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44cfc3
jmp 0x44d271
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44d02e
mov ecx, eax
add esi, ecx
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d271
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44d060
inc esi
cmp esi, ecx
jae 0x44d271
cmp byte [esi], 0xa
jne 0x44d085
jmp 0x44d084
cmp eax, 0xa
je 0x44d084
cmp dword [edi + 0x4c], 0
jne 0x44d271
cmp eax, 0xb
je 0x44d084
cmp eax, 0xc
je 0x44d084
cmp eax, 0x85
jne 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d040
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d271
movzx eax, byte [esi]
cmp eax, 9
je 0x44d271
cmp eax, 0x20
je 0x44d271
cmp eax, 0xa0
je 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d09b
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d271
movzx eax, byte [esi]
cmp eax, 9
je 0x44d0fa
cmp eax, 0x20
je 0x44d0fa
cmp eax, 0xa0
jne 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d0da
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d271
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44d271
cmp eax, 0xb
je 0x44d271
cmp eax, 0xc
je 0x44d271
cmp eax, 0xd
je 0x44d271
cmp eax, 0x85
je 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d111
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d271
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44d18c
cmp eax, 0xb
je 0x44d18c
cmp eax, 0xc
je 0x44d18c
cmp eax, 0xd
je 0x44d18c
cmp eax, 0x85
jne 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d162
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d1a3
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d1d2
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d1fa
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d21a
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d23a
jmp 0x44d271
cmp edx, ecx
jge 0x44d271
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d271
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44d271
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d25a
cmp dword [ebp - 0x1c], 0
jne 0x44a2cf
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
dec esi
test eax, eax
jne 0x44e586
cmp esi, dword [ebp - 0x14]
jae 0x44d288
jmp case.0x44a306.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 0x44d2dd
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44d2cb
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 0x44d65b
mov dword [ebp + 0x24], edx
jmp 0x44d44c
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 0x44d564
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44d31f
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 0x44d382
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 + 0x4685c0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.0044a283
add esp, 0x24
test eax, eax
je 0x44d36a
cmp eax, 0xfffffc1c
jne 0x44e586
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 0x44d330
cmp dword [ebp + 0x24], 0
jne 0x44d62b
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4685c0]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44d44c
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov eax, dword [ebp - 0x20]
jmp 0x44a697
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 0x44d41d
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
cmp dword [ebp + 0x24], eax
jne 0x44d7e1
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44d44c
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
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 0x44a2a6
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44e585
push 0xffffffffffffffeb
jmp 0x44e585
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 + 0x4685c0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov eax, 0xfffffc1a
jmp 0x44e586
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 + 0x4685c0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov eax, 0xfffffc19
jmp 0x44e586
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 + 0x4685c0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov dword [edi + 0x5c], esi
mov eax, 0xfffffc1b
jmp 0x44e586
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 + 0x4685c0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov eax, 0xfffffc1c
jmp 0x44e586
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 0x44d5a3
mov dword [ebp + 0x24], 2
jmp 0x44d5a7
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 + 0x4685c0]
push dword [ebp + 0x1c]
add ecx, eax
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push esi
call fcn.0044a283
add esp, 0x24
test eax, eax
je 0x44d5e9
cmp eax, 0xfffffc1c
jne 0x44e586
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 0x44d5ae
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.0x44a306.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 + 0x4685c0]
push dword [ebp + 0x1c]
add eax, ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push esi
call fcn.0044a283
add esp, 0x24
jmp 0x44e586
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 0x44d64d
cmp dword [edi + 0x40], 0
je 0x44d681
cmp esi, dword [ebp + 0x10]
je case.0x44a306.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 0x44e586
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 0x44d6b2
and dword [ebp - 0x38], 0
jmp 0x44d6bd
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 0x44d6e5
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44d701
shl eax, 2
push eax
call dword [0x47603c]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44d6fe
push 0xfffffffffffffffa
jmp 0x44e585
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.0044fd30
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 + 0x4685c0]
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.0044a283
add esp, 0x24
cmp eax, 1
je 0x44d7bd
test eax, eax
je 0x44d768
cmp eax, 0xfffffc1c
jne 0x44e586
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.0044fd30
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 0x44d72e
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x44a306.108
push dword [ebp - 0x2c]
call dword [0x476040]
pop ecx
jmp case.0x44a306.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44d690
push dword [ebp - 0x2c]
call dword [0x476040]
pop ecx
jmp 0x44d690
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 0x44d64d
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x64], eax
jmp 0x44d68d
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a306.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044a225
test eax, eax
pop ecx
pop ecx
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44d806
jmp 0x44e586
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44d889
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044a225
test eax, eax
pop ecx
pop ecx
je 0x44d880
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44d860
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44d88d
jmp case.0x44a306.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44d91b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44d91b
jmp 0x44d905
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 0x44d902
cmp eax, 0xff
jbe 0x44d928
cmp dword [ebp - 8], 0x4d
jmp 0x44d93d
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.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44d8be
jmp 0x44e586
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44d9ae
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.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.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44d977
jmp 0x44e586
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44dad1
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44da8b
cmp esi, dword [edi + 0x58]
mov dword [ebp - 0x20], 1
jae 0x44da8b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44da55
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
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 0x44da4e
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 0x44da32
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44da62
cmp dword [ebp - 8], 0x4d
jmp 0x44da77
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 0x44da8b
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44d9eb
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44daaf
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a306.108
jmp 0x44daa4
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44daa3
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.0044a283
add esp, 0x24
test eax, eax
je 0x44da95
jmp 0x44e586
cmp edx, dword [ebp - 4]
jge 0x44db05
cmp esi, dword [edi + 0x58]
jae 0x44dafc
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 0x44dafc
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44dad6
cmp esi, dword [ebp - 0x14]
jb case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44db09
jmp case.0x44a306.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44db8f
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov edx, dword [eax*4 + 0x468664]
and edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 8], edx
jmp 0x44db8b
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 0x44db7b
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044f4d1
test eax, eax
pop ecx
pop ecx
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44db38
jmp 0x44e586
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44dc4a
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x58]
jae 0x44dc4f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44dc33
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
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 0x44dc30
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 0x44dc17
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044f4d1
test eax, eax
pop ecx
pop ecx
je 0x44dc4f
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44dbda
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dc72
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a306.108
cmp dword [ebp - 0x18], 0
je 0x44dc72
jmp 0x44dc6a
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44dc69
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.0044a283
add esp, 0x24
test eax, eax
je 0x44dc55
jmp 0x44e586
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dcd2
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.00450095
add esp, 0xc
test eax, eax
jne case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44dca0
jmp 0x44e586
cmp esi, dword [ebp - 0x14]
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44dcf7
jmp 0x44e586
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dd5d
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44dd31
jmp 0x44e586
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ddb0
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44dd8b
jmp 0x44e586
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44de9e
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 0x44de88
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44de43
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44de3c
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 0x44de2a
cmp edx, 0x100
jae 0x44de52
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
cmp dword [ebp - 8], edx
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44ddfe
jmp 0x44e586
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44ded0
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44dea4
jmp 0x44e586
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a306.108
jmp 0x44df04
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44df03
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.0044a283
add esp, 0x24
test eax, eax
je 0x44def5
jmp 0x44e586
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44dfe7
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 0x44dfd1
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44df9b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x468680]
mov ebx, dword [eax*4 + 0x468664]
mov ecx, eax
imul ecx, ecx, 6
and ebx, edx
shl ebx, cl
mov edx, ebx
jmp 0x44df94
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 0x44df82
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
cmp dword [ebp - 8], edx
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44df56
jmp 0x44e586
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44e017
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a306.108
cmp esi, dword [edi + 0x58]
jae case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44dfef
jmp 0x44e586
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a306.108
jmp 0x44e048
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44e047
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.0044a283
add esp, 0x24
test eax, eax
je 0x44e039
jmp 0x44e586
push 0xfffffffffffffff2
jmp 0x44e585
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44e3ba
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.0044a283
add esp, 0x24
test eax, eax
jne 0x44e586
mov ebx, pe_nt_image_headers32
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a306.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x44a306.108
cmp dword [ebp - 0xc], 0xc
jne 0x44e124
test byte [ebp + 0x1c], 4
jne 0x44e124
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44e0ff
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne case.0x44a306.108
jmp 0x44e124
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44e124
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44e124
cmp ecx, 1
je case.0x44a306.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44a306.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44e171
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x468680]
mov ebx, dword [edx*4 + 0x468664]
mov ecx, edx
imul ecx, ecx, 6
and ebx, eax
shl ebx, cl
test edx, edx
mov eax, ebx
jle 0x44e16c
jmp 0x44e156
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 0x44e153
mov ebx, pe_nt_image_headers32
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44e43b.14
jmp dword [ecx*4 + 0x44e7ff]
cmp eax, 0xa
je case.0x44e180.12
jbe case.0x44a306.108
cmp eax, 0xc
jbe 0x44e1bd
cmp eax, 0xd
je 0x44e1cc
cmp eax, 0x85
je 0x44e1bd
cmp eax, 0x2027
jbe case.0x44a306.108
cmp eax, 0x2029
ja case.0x44a306.108
cmp dword [edi + 0x4c], 0
jne case.0x44a306.108
jmp case.0x44e180.12
cmp esi, dword [edi + 0x58]
jae case.0x44e180.12
cmp byte [esi], 0xa
jne case.0x44e180.12
inc esi
jmp case.0x44e180.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44e21a
je case.0x44a306.108
cmp eax, 9
je case.0x44a306.108
cmp eax, 0x20
je case.0x44a306.108
cmp eax, 0xa0
je case.0x44a306.108
cmp eax, 0x1680
jmp 0x44e386
cmp eax, 0x2000
jb case.0x44e180.12
cmp eax, 0x200a
jbe case.0x44a306.108
cmp eax, 0x202f
je case.0x44a306.108
cmp eax, 0x205f
je case.0x44a306.108
cmp eax, 0x3000
jmp 0x44e386
mov ecx, 0x180e
cmp eax, ecx
ja 0x44e286
je case.0x44e180.12
cmp eax, 9
je case.0x44e180.12
cmp eax, 0x20
je case.0x44e180.12
cmp eax, 0xa0
je case.0x44e180.12
cmp eax, 0x1680
jmp 0x44e1c1
cmp eax, 0x2000
jb case.0x44a306.108
cmp eax, 0x200a
jbe case.0x44e180.12
cmp eax, 0x202f
je case.0x44e180.12
cmp eax, 0x205f
je case.0x44e180.12
cmp eax, 0x3000
jmp 0x44e1c1
cmp eax, 0xa
jb case.0x44e180.12
cmp eax, 0xd
jbe case.0x44a306.108
cmp eax, 0x85
je case.0x44a306.108
cmp eax, 0x2027
jbe case.0x44e180.12
cmp eax, 0x2029
jbe case.0x44a306.108
jmp case.0x44e180.12
cmp eax, 0xa
jb case.0x44a306.108
cmp eax, 0xd
jbe case.0x44e180.12
cmp eax, 0x85
je case.0x44e180.12
cmp eax, 0x2027
jbe case.0x44a306.108
cmp eax, 0x2029
ja case.0x44a306.108
jmp case.0x44e180.12
cmp eax, ebx
jae case.0x44e180.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e1c1
cmp eax, ebx
jae case.0x44a306.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e386
cmp eax, ebx
jae case.0x44e180.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e1c1
cmp eax, ebx
jae case.0x44a306.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e386
cmp eax, ebx
jae case.0x44e180.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44e1c1
cmp eax, ebx
jae case.0x44a306.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44e0b9
jmp 0x44e586
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44e527
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a306.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x44a306.108
test byte [ebp + 0x1c], 4
jne 0x44e428
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44e403
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0e3
add esp, 0x14
test eax, eax
jne case.0x44a306.108
jmp 0x44e428
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44e428
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44e428
cmp ecx, 1
je case.0x44a306.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44a306.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44e43b.14
jmp dword [ecx*4 + 0x44e83b]
cmp eax, 0xa
je case.0x44e43b.12
jbe case.0x44a306.108
cmp eax, 0xc
jbe 0x44e466
cmp eax, 0xd
je 0x44e475
cmp eax, 0x85
jne case.0x44a306.108
cmp dword [edi + 0x4c], 0
jne case.0x44a306.108
jmp case.0x44e43b.12
cmp esi, dword [edi + 0x58]
jae case.0x44e43b.12
cmp byte [esi], 0xa
jne case.0x44e43b.12
inc esi
jmp case.0x44e43b.12
cmp eax, 9
je case.0x44a306.108
cmp eax, 0x20
je case.0x44a306.108
cmp eax, 0xa0
jmp 0x44e51b
cmp eax, 9
je case.0x44e43b.12
cmp eax, 0x20
je case.0x44e43b.12
cmp eax, 0xa0
jmp 0x44e46a
cmp eax, 0xa
jb case.0x44e43b.12
cmp eax, 0xd
jbe case.0x44a306.108
cmp eax, 0x85
jmp 0x44e51b
cmp eax, 0xa
jb case.0x44a306.108
cmp eax, 0xd
jbe case.0x44e43b.12
cmp eax, 0x85
jmp 0x44e46a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e46a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e51b
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e46a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e51b
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44e46a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44a306.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.0044a283
add esp, 0x24
test eax, eax
je 0x44e3c4
jmp 0x44e586
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a306.108
jmp 0x44e559
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44e558
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.0044a283
add esp, 0x24
test eax, eax
je 0x44e54a
jmp 0x44e586
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret