Function at 0x44a263
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 0x44d43d
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x44d446
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
je 0x44a2af
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 0x44a2d6
cmp esi, dword [edi + 0x58]
jb 0x44a2d6
cmp esi, dword [ebp + 0x10]
jbe 0x44a2d6
mov dword [edi + 0x48], 1
cmp ecx, 0x6d
ja case.0x44a2e6.14
movzx eax, byte [ecx + 0x44e67f]
jmp dword [eax*4 + 0x44e56b]
lea eax, [ebx + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x44a321
mov eax, dword [edi + 0x78]
xor ecx, ecx
cmp eax, edx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x44a313
cmp ecx, 0xffff
je 0x44a33d
cmp ecx, dword [eax + 4]
je 0x44a33d
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x44a399
cmp cl, 0x63
jne 0x44a345
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x44a313
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x44a313
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x44a31d
cmp cl, 0x65
jne 0x44a356
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x44a3a1
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.0044a263
add esp, 0x24
cmp eax, 1
je 0x44d297
test eax, eax
je 0x44a38b
cmp eax, 0xfffffc1c
jne 0x44e566
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 0x44d2c2
cmp byte [ebx], 0x53
je 0x44d2c2
jmp 0x44a4d6
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x44d652
cmp dword [ebx + 4], 0
jne 0x44d652
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.00453170
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 0x44a2af
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x1c], eax
inc ebx
inc ebx
jmp 0x44a4d9
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.0044a263
add esp, 0x24
cmp eax, 1
je 0x44a44e
test eax, eax
je 0x44a43f
cmp eax, 0xfffffc1c
jne 0x44e566
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a40d
cmp byte [ebx], 0x54
je case.0x44a2e6.108
test byte [ebp + 0x24], 1
jne 0x44d670
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a461
mov eax, dword [edi + 0x64]
add ebx, 3
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], eax
jmp 0x44a2af
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.0044a263
add esp, 0x24
cmp eax, 1
je case.0x44a2e6.108
test eax, eax
je 0x44a4bd
cmp eax, 0xfffffc1c
jne 0x44e566
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a48b
test byte [ebp + 0x24], 1
jne 0x44d670
add ebx, 3
mov dword [ebp + 0xc], ebx
jmp 0x44a2af
xor eax, eax
cmp dword [ebp - 0x18], edx
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x44a513
cmp eax, edx
jle 0x44a4d6
mov ecx, dword [edi + 0x54]
dec eax
dec esi
cmp esi, ecx
jae 0x44a503
xor eax, eax
jmp 0x44e566
dec esi
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x44a502
test eax, eax
jg 0x44a4f5
jmp 0x44a4d6
sub esi, eax
cmp esi, dword [edi + 0x54]
jb case.0x44a2e6.108
jmp 0x44a4d6
mov ecx, dword [0x4789c0]
cmp ecx, edx
je 0x44a599
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.0x44a2e6.108
jl 0x44e566
add ebx, 6
jmp 0x44a4d9
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.0044a263
add esp, 0x24
cmp eax, 1
je 0x44a5f3
test eax, eax
je 0x44a5e4
cmp eax, 0xfffffc1c
jne 0x44e566
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a5b1
mov al, byte [ebx]
cmp al, 0x5c
je 0x44a601
cmp al, 0x53
jne case.0x44a2e6.108
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a601
cmp byte [ebx], 0x54
mov eax, dword [edi + 0x64]
mov esi, dword [edi + 0x60]
mov dword [ebp + 0x14], eax
je 0x44a4d6
cmp esi, dword [ebp - 0x1c]
je 0x44a4d6
lea ecx, [ebx + 3]
cmp byte [ecx], 0x18
mov dword [ebp - 0x20], ecx
jne 0x44a645
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 0x44d380
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44d428
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x44a2e6.83
jmp 0x44a4d9
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x44a6bd
jmp 0x44a4d6
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 0x44a6d4
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
jmp 0x44a4d9
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 0x44a72f
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 0x44d7db
cmp al, 0x58
je 0x44d7db
cmp al, 0x59
je 0x44d7db
cmp al, 0x5a
je 0x44d7db
cmp al, 0x5c
je 0x44d7db
cmp al, 0x5e
je 0x44a769
cmp al, 0x61
jne 0x44a7ed
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 0x44a788
mov dword [edi + 0x2c], 1
jmp 0x44a7b0
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 0x44a7b0
add ecx, 2
mov dword [ebp + 0x14], ecx
mov ebx, dword [edi + 0x78]
test ebx, ebx
je 0x44a7ed
cmp dword [ebx + 4], edx
jne 0x44a7ed
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.0044fd10
mov eax, dword [ebx + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x44a2af
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x44a804
cmp esi, dword [ebp - 0x1c]
jne 0x44d3a9
add eax, 3
jmp 0x44a3ed
cmp dword [edi + 0x30], edx
je 0x44a81a
cmp esi, dword [edi + 0x54]
je case.0x44a2e6.108
test byte [ebp + 0x1c], 2
je case.0x44a2e6.1
mov ecx, dword [edi + 0x54]
cmp esi, ecx
je 0x44a888
cmp esi, dword [edi + 0x58]
je case.0x44a2e6.108
mov eax, dword [edi + 0x18]
test eax, eax
je 0x44a85b
cmp esi, ecx
jbe case.0x44a2e6.108
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0044f18e
add esp, 0x14
test eax, eax
je case.0x44a2e6.108
jmp 0x44a888
mov eax, dword [edi + 0x1c]
add ecx, eax
cmp esi, ecx
jb case.0x44a2e6.108
mov ecx, esi
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi + 0x20]
jne case.0x44a2e6.108
cmp eax, 1
je 0x44a888
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x21]
jne case.0x44a2e6.108
inc ebx
jmp 0x44a4d9
cmp esi, dword [edi + 0x54]
jmp 0x44a882
mov eax, dword [edi + 0x6c]
add eax, dword [edi + 0x54]
cmp esi, eax
jmp 0x44a882
mov dword [ebp + 0x10], esi
jmp 0x44a888
test byte [ebp + 0x1c], 2
je 0x44a8ee
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44a8e9
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a8c7
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
jmp 0x44a84e
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x44a2e6.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44a2e6.108
cmp ecx, 1
je 0x44a888
mov al, byte [esi + 1]
jmp 0x44a87f
cmp dword [edi + 0x34], edx
jmp 0x44a882
cmp dword [edi + 0x34], edx
jne case.0x44a2e6.108
cmp dword [edi + 0x3c], edx
jne case.0x44a2e6.23
mov eax, dword [edi + 0x58]
cmp esi, eax
je 0x44a966
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44a92e
cmp esi, eax
jae case.0x44a2e6.108
push dword [ebp - 0x18]
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
je case.0x44a2e6.108
jmp 0x44a959
lea ebx, [edi + 0x1c]
mov ecx, dword [ebx]
sub eax, ecx
cmp esi, eax
ja case.0x44a2e6.108
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44a2e6.108
cmp ecx, 1
je 0x44a959
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x44a2e6.108
mov eax, dword [edi + 0x58]
sub eax, dword [ebx]
cmp esi, eax
jne case.0x44a2e6.108
inc dword [ebp + 0xc]
jmp 0x44a2af
cmp esi, dword [edi + 0x58]
jb case.0x44a2e6.108
jmp 0x44a888
cmp dword [ebp - 0x18], edx
je 0x44aa91
cmp esi, dword [edi + 0x54]
jne 0x44a992
mov dword [ebp + 0x18], edx
jmp 0x44aa1b
lea eax, [esi - 1]
jmp 0x44a998
dec eax
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x44a997
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x44a9fd
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 0x44a9fa
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 0x44a9dc
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
cmp edx, 0x100
jae 0x44aa17
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44aa17
mov dword [ebp + 0x18], 1
jmp 0x44aa1b
and dword [ebp + 0x18], 0
cmp esi, dword [edi + 0x58]
jb 0x44aa24
xor eax, eax
jmp 0x44aa8d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44aa72
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 0x44aa72
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 0x44aa59
cmp edx, 0x100
jae 0x44aa88
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x44aa88
xor eax, eax
inc eax
jmp 0x44aa8a
xor eax, eax
mov ebx, dword [ebp + 0xc]
xor edx, edx
jmp 0x44aac5
cmp esi, dword [edi + 0x54]
je 0x44aaaa
movzx eax, byte [esi - 1]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x18], 1
jne 0x44aaad
mov dword [ebp + 0x18], edx
cmp esi, dword [edi + 0x58]
jae 0x44aac3
movzx eax, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je 0x44aac3
xor eax, eax
inc eax
jmp 0x44aac5
xor eax, eax
mov cl, byte [ebx]
inc ebx
cmp cl, 5
mov dword [ebp + 0xc], ebx
jne 0x44aada
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
sete cl
jmp 0x44aae2
xor ecx, ecx
cmp eax, dword [ebp + 0x18]
setne cl
mov eax, ecx
cmp eax, edx
je 0x44a2af
jmp case.0x44a2e6.108
test byte [ebp + 0x1c], 4
jne 0x44ab49
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44ab21
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44ab49
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne case.0x44a2e6.108
jmp 0x44ab49
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x58]
sub ecx, eax
cmp esi, ecx
ja 0x44ab49
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44ab49
cmp eax, 1
je case.0x44a2e6.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44a2e6.108
mov eax, dword [edi + 0x58]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x44a2e6.108
cmp dword [ebp - 0x18], 0
je 0x44a888
cmp esi, eax
jae 0x44a888
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44a888
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44ab69
jmp 0x44a888
mov eax, esi
inc esi
cmp eax, dword [edi + 0x58]
jae case.0x44a2e6.108
jmp 0x44a888
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44abe5
cmp edx, 0xc0
jb 0x44abe5
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 0x44abde
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 0x44abcc
cmp edx, 0x100
jae 0x44a966
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jmp 0x44a960
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ac51
cmp edx, 0xc0
jb 0x44ac51
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 0x44ac4a
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 0x44ac38
cmp edx, 0x100
jae case.0x44a2e6.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x44a2e6.108
jmp 0x44a966
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44acc3
cmp edx, 0xc0
jb 0x44acc3
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 0x44acbc
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 0x44acaa
cmp edx, 0x100
jae 0x44a966
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x44a960
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ad2f
cmp edx, 0xc0
jb 0x44ad2f
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 0x44ad28
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 0x44ad16
cmp edx, 0x100
jae case.0x44a2e6.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jmp 0x44ac64
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ad9b
cmp edx, 0xc0
jb 0x44ad9b
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 0x44ad94
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 0x44ad82
cmp edx, 0x100
jae 0x44a966
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x44a960
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ae07
cmp edx, 0xc0
jb 0x44ae07
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 0x44ae00
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 0x44adee
cmp edx, 0x100
jae case.0x44a2e6.108
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jmp 0x44ac64
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44ae73
cmp edx, 0xc0
jb 0x44ae73
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 0x44ae6c
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 0x44ae5a
cmp edx, 0xa
je 0x44a966
jbe case.0x44a2e6.108
cmp edx, 0xc
jbe 0x44aeac
cmp edx, 0xd
je 0x44aeb5
cmp edx, 0x85
je 0x44aeac
cmp edx, 0x2027
jbe case.0x44a2e6.108
cmp edx, 0x2029
ja case.0x44a2e6.108
cmp dword [edi + 0x4c], 0
jmp 0x44a960
cmp esi, dword [edi + 0x58]
jae 0x44a966
cmp byte [esi], 0xa
jne 0x44a966
inc esi
jmp 0x44a966
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44af23
cmp eax, 0xc0
jb 0x44af23
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 0x44af23
jmp 0x44af0d
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 0x44af0a
mov ecx, 0x180e
cmp eax, ecx
ja 0x44af59
je case.0x44a2e6.108
cmp eax, 9
je case.0x44a2e6.108
cmp eax, 0x20
je case.0x44a2e6.108
cmp eax, 0xa0
je case.0x44a2e6.108
cmp eax, 0x1680
jmp 0x44ac64
cmp eax, 0x2000
jb 0x44a966
cmp eax, 0x200a
jbe case.0x44a2e6.108
cmp eax, 0x202f
je case.0x44a2e6.108
cmp eax, 0x205f
je case.0x44a2e6.108
cmp eax, 0x3000
jmp 0x44ac64
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x18], edx
je 0x44afe5
cmp eax, 0xc0
jb 0x44afe5
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 0x44afe5
jmp 0x44afcf
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 0x44afcc
mov ecx, 0x180e
cmp eax, ecx
ja 0x44b01b
je 0x44a966
cmp eax, 9
je 0x44a966
cmp eax, 0x20
je 0x44a966
cmp eax, 0xa0
je 0x44a966
cmp eax, 0x1680
jmp 0x44a960
cmp eax, 0x2000
jb case.0x44a2e6.108
cmp eax, 0x200a
jbe 0x44a966
cmp eax, 0x202f
je 0x44a966
cmp eax, 0x205f
je 0x44a966
cmp eax, 0x3000
jmp 0x44a960
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44b0a5
cmp edx, 0xc0
jb 0x44b0a5
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 0x44b09e
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 0x44b08c
cmp edx, 0xa
jb 0x44a966
cmp edx, 0xd
jbe case.0x44a2e6.108
cmp edx, 0x85
je case.0x44a2e6.108
cmp edx, 0x2027
jbe 0x44a966
cmp edx, 0x2029
jbe case.0x44a2e6.108
jmp 0x44a966
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x18], 0
je 0x44b134
cmp edx, 0xc0
jb 0x44b134
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 0x44b12d
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 0x44b11b
cmp edx, 0xa
jb case.0x44a2e6.108
cmp edx, 0xd
jbe 0x44a966
cmp edx, 0x85
je 0x44a966
cmp edx, 0x2027
jbe case.0x44a2e6.108
cmp edx, 0x2029
ja case.0x44a2e6.108
jmp 0x44a966
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 0x44b19a
mov eax, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x44b19a
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x44b1a0
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 0x44b275
cmp al, 0x4a
jbe 0x44b1ef
cmp al, 0x4c
ja 0x44b275
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 0x44b1e7
mov dword [ebp - 4], SysReAllocString
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x44b21c
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 0x44b21c
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x10], 0
je 0x44a2af
xor eax, eax
inc eax
cmp ebx, eax
mov dword [ebp + 0x18], eax
jl 0x44b256
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044a205
test eax, eax
pop ecx
pop ecx
je case.0x44a2e6.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44b230
cmp ebx, dword [ebp - 4]
je 0x44a2af
cmp dword [ebp - 0x24], 0
je 0x44d838
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44d813
push dword [ebp + 0x1c]
mov ecx, edi
push esi
mov eax, ebx
call fcn.0044a205
test eax, eax
pop ecx
pop ecx
je case.0x44a2e6.108
add esi, ebx
jmp 0x44a2af
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 0x44b313
cmp al, 0x4a
jbe 0x44b2e0
cmp al, 0x4c
ja 0x44b313
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 0x44b2d8
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44b31c
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 0x44b31c
mov dword [ebp - 4], SysReAllocString
jmp 0x44b31c
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 0x44b3c1
cmp edx, eax
jl 0x44b3f8
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44b388
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 0x44b385
jmp 0x44b36f
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 0x44b36c
mov edx, dword [ebp - 0x14]
cmp eax, 0xff
jbe 0x44b395
cmp dword [ebp - 8], 0x4d
jmp 0x44b3aa
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.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44b334
mov ebx, dword [ebp + 0xc]
jmp 0x44b3f8
cmp edx, eax
jl 0x44b3f8
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.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.0x44a2e6.108
inc dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
cmp dword [ebp + 0x18], edx
jle 0x44b3c5
cmp edx, dword [ebp - 4]
je 0x44a2af
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x44d9b3
cmp dword [ebp - 0x18], eax
mov dword [ebp + 0x18], edx
je 0x44d951
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 0x44d93b
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 0x44b4bc
cmp al, 0x4a
jbe 0x44b489
cmp al, 0x4c
ja 0x44b4bc
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 0x44b481
mov dword [ebp - 4], SysReAllocString
add ebx, 5
mov dword [ebp + 0xc], ebx
jmp 0x44b4c5
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 0x44b4c5
mov dword [ebp - 4], SysReAllocString
jmp 0x44b4c5
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 0x44b540
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44b51b
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 0x44b517
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 0x44b507
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044f4b1
test eax, eax
pop ecx
pop ecx
je case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44b4d0
mov ebx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
je 0x44a2af
cmp dword [ebp - 0x24], edx
je 0x44dbb2
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 0x44db9c
cmp dword [ebp - 0x18], edx
je 0x44b5c0
xor ecx, ecx
inc ecx
inc ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
mov dword [ebp + 0xc], ebx
jb 0x44b596
and eax, 0x3f
movzx ecx, byte [eax + 0x468680]
inc ecx
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ecx, eax
jg case.0x44a2e6.108
jmp 0x44b5b7
mov dl, byte [esi]
mov al, byte [ebx]
dec ecx
inc esi
inc ebx
cmp al, dl
mov dword [ebp + 0xc], ebx
jne case.0x44a2e6.108
test ecx, ecx
jg 0x44b5a5
jmp 0x44a2af
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x44a2e6.108
mov al, byte [esi]
inc esi
cmp byte [ebx + 1], al
jne case.0x44a2e6.108
jmp 0x44a3fc
cmp dword [ebp - 0x18], edx
je 0x44b6d4
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 0x44b655
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 0x44b64b
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 0x44b62e
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.0x44a2e6.108
cmp dword [ebp - 8], 0x80
jae 0x44b681
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 0x44aae6
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp + 0x18], eax
jb 0x44b6c3
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 0x44b6bf
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 0x44b6af
mov eax, dword [ebp - 0x10]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 8], eax
jmp 0x44aae6
mov eax, dword [edi + 0x58]
sub eax, esi
cmp eax, 1
jl case.0x44a2e6.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 0x44b5d4
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 0x44b788
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 0x44b706
mov dword [ebp - 0x1c], 1
xor ebx, ebx
inc dword [ebp + 0xc]
jmp 0x44b781
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44b73b
xor eax, eax
inc eax
xor ebx, ebx
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44b788
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 0x44b788
mov dword [ebp - 4], SysReAllocString
cmp dword [ebp - 0x18], 0
je 0x44b8a4
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 0x44b806
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 0x44b802
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 0x44b7df
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.0x44a2e6.108
mov ecx, dword [ebp - 0x10]
add dword [ebp + 0xc], ecx
xor edx, edx
inc edx
cmp ecx, edx
jle 0x44b8c0
cmp ebx, edx
mov dword [ebp + 0x18], edx
jl 0x44b853
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.00450075
add esp, 0xc
test eax, eax
jne case.0x44a2e6.108
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], ebx
jle 0x44b831
cmp ebx, dword [ebp - 4]
je 0x44a2af
cmp dword [ebp - 0x24], 0
jne 0x44dc77
mov dword [ebp - 0x14], esi
jmp 0x44b88c
mov eax, dword [edi + 0x58]
sub eax, dword [ebp - 0x10]
cmp esi, eax
ja 0x44b891
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.00450075
add esp, 0xc
test eax, eax
jne 0x44b891
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b86b
cmp dword [ebp - 0x1c], 0
jne 0x44a2af
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dce3
mov eax, dword [edi + 0x58]
sub eax, esi
cmp ebx, eax
jg case.0x44a2e6.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 0x44b966
cmp ebx, edx
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
mov eax, edx
jl 0x44b8f0
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [ebp - 8], edx
jne case.0x44a2e6.108
inc eax
cmp eax, ebx
jle 0x44b8da
cmp ebx, dword [ebp - 4]
je 0x44a2af
cmp dword [ebp - 0x24], 0
jne 0x44dd08
mov dword [ebp - 0x14], esi
jmp 0x44b91b
cmp esi, dword [edi + 0x58]
jae 0x44b920
movzx eax, byte [esi]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 8], eax
jne 0x44b920
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b908
cmp dword [ebp - 0x1c], 0
jne 0x44a2af
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
dec esi
test eax, eax
jne 0x44e566
cmp esi, dword [ebp - 0x14]
jae 0x44b937
jmp case.0x44a2e6.108
cmp ebx, edx
mov ecx, edx
jl 0x44b97d
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x44a2e6.108
inc ecx
cmp ecx, ebx
jle 0x44b96c
cmp ebx, dword [ebp - 4]
je 0x44a2af
cmp dword [ebp - 0x24], 0
jne 0x44dd62
mov dword [ebp - 0x14], esi
jmp 0x44b9a4
cmp esi, dword [edi + 0x58]
jae 0x44b9a9
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
jne 0x44b9a9
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44b995
cmp dword [ebp - 0x1c], 0
jne 0x44a2af
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
dec esi
test eax, eax
jne 0x44e566
cmp esi, dword [ebp - 0x14]
jae 0x44b9c0
jmp case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc ebx
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0xc], ebx
je 0x44ba47
cmp edx, 0xc0
jb 0x44ba47
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 0x44ba40
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 0x44ba2e
test byte [ebp + 0x1c], 1
je 0x44ba79
cmp edx, 0x100
jae 0x44ba5c
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 0x44a2af
jmp case.0x44a2e6.108
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x44ba69
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
mov dword [ebp - 4], edx
add ebx, 3
jmp 0x44bb0e
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 0x44ba8c
mov dword [ebp - 0x1c], 1
xor edx, edx
inc ebx
jmp 0x44bb07
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x44bab4
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
inc ebx
jmp 0x44bb0e
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 0x44ba8c
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 0x44bb0e
mov dword [ebp - 4], SysReAllocString
mov eax, dword [edi + 0x58]
sub eax, esi
cmp edx, eax
jg case.0x44a2e6.108
movzx ecx, byte [ebx]
inc ebx
test byte [ebp + 0x1c], 1
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], ebx
je 0x44bd06
cmp dword [ebp - 0x18], 0
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 8], ecx
je 0x44bbc9
xor eax, eax
inc eax
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44bbec
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44bba4
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 0x44bb9d
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 0x44bb83
cmp ebx, 0x100
jae 0x44bbb3
mov eax, dword [edi + 0x24]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 8], ebx
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44bb51
mov ebx, dword [ebp + 0xc]
jmp 0x44bbec
xor ecx, ecx
inc ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
jl 0x44bbec
movzx ecx, byte [esi]
movzx ecx, byte [ecx + eax]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44bbd3
cmp edx, dword [ebp - 4]
je 0x44a2af
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44ddb5
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44bcbc
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44bc8f
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44bc8f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44bc6e
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 0x44bc6a
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 0x44bc51
mov ebx, dword [ebp + 0xc]
inc eax
cmp edx, 0x100
jae 0x44bc7d
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 8], edx
je 0x44bc8f
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bc14
cmp dword [ebp - 0x1c], 0
jne 0x44a2af
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44deef
cmp esi, dword [edi + 0x58]
jae 0x44bcc1
movzx ebx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [ebx + eax]
cmp dword [ebp - 8], eax
je 0x44bcc1
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44bca6
cmp dword [ebp - 0x1c], ecx
jne 0x44a2af
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44bcd7
jmp case.0x44a2e6.108
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0
je 0x44bd7f
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44bd95
movzx ebx, byte [esi]
inc esi
cmp ebx, 0xc0
jb 0x44bd69
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 0x44bd62
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 0x44bd48
cmp dword [ebp - 8], ebx
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44bd16
mov ebx, dword [ebp + 0xc]
jmp 0x44bd95
cmp edx, eax
jl 0x44bd95
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 8], ecx
je case.0x44a2e6.108
inc eax
cmp eax, edx
jle 0x44bd83
cmp edx, dword [ebp - 4]
je 0x44a2af
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x44df11
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
je 0x44be55
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44be2f
jmp 0x44bdc1
xor ecx, ecx
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44be2f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44be1b
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 0x44be17
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 0x44bdfe
mov ebx, dword [ebp + 0xc]
inc eax
cmp dword [ebp - 8], edx
je 0x44be2d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44bdbf
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x44a2af
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x10], eax
push ecx
jmp 0x44e035
cmp esi, dword [edi + 0x58]
jae 0x44be5a
movzx eax, byte [esi]
cmp dword [ebp - 8], eax
je 0x44be5a
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44be46
cmp dword [ebp - 0x1c], ecx
jne 0x44a2af
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44be70
jmp case.0x44a2e6.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 0x44bf58
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 0x44bf55
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], SysReAllocString
inc ebx
jmp 0x44bedb
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
jmp 0x44beeb
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp 0x44bef2
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 0x44bed8
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 0x44bf55
mov dword [ebp - 4], SysReAllocString
xor eax, eax
inc eax
movzx ecx, byte [ebx]
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0x10], ecx
inc ebx
sub ecx, esi
cmp edx, ecx
mov dword [ebp + 0xc], ebx
jg case.0x44a2e6.108
test edx, edx
jle 0x44c835
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp dword [ebp - 0x18], 0
je 0x44c57c
cmp ecx, 0xe
ja case.0x44e41b.14
jmp dword [ecx*4 + 0x44e6ef]
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae case.0x44a2e6.108
test byte [ebp + 0x1c], 4
jne 0x44bffe
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44bfda
push dword [ebp - 0x18]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne case.0x44a2e6.108
inc eax
jmp 0x44bffe
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x44bffe
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x44bffe
cmp edx, eax
je case.0x44a2e6.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44a2e6.108
mov ecx, dword [edi + 0x58]
inc esi
cmp esi, ecx
mov dword [ebp - 0x10], ecx
jae 0x44c019
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44c019
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c009
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44bfa5
mov edx, dword [ebp - 0x14]
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c085
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 0x44c07e
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 0x44c06c
cmp edx, 0xa
je 0x44c0c4
jbe case.0x44a2e6.108
cmp edx, 0xc
jbe 0x44c0ba
cmp edx, 0xd
je 0x44c0db
cmp edx, 0x85
je 0x44c0ba
cmp edx, 0x2027
jbe case.0x44a2e6.108
cmp edx, 0x2029
ja case.0x44a2e6.108
cmp dword [edi + 0x4c], 0
jne case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c037
mov ebx, dword [ebp + 0xc]
jmp 0x44c024
cmp esi, dword [ebp - 0x10]
jae 0x44c0c4
cmp byte [esi], 0xa
jne 0x44c0c4
inc esi
jmp 0x44c0c4
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44c144
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 0x44c144
jmp 0x44c12e
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 0x44c12b
mov ecx, 0x180e
cmp eax, ecx
ja 0x44c177
je case.0x44a2e6.108
cmp eax, 9
je case.0x44a2e6.108
cmp eax, 0x20
je case.0x44a2e6.108
cmp eax, 0xa0
je case.0x44a2e6.108
cmp eax, 0x1680
jmp 0x44c1a4
cmp eax, 0x2000
jb 0x44c1aa
cmp eax, 0x200a
jbe case.0x44a2e6.108
cmp eax, 0x202f
je case.0x44a2e6.108
cmp eax, 0x205f
je case.0x44a2e6.108
cmp eax, 0x3000
je case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c0f3
jmp 0x44c0d3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44c21a
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 0x44c21a
jmp 0x44c204
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 0x44c201
mov ecx, 0x180e
cmp eax, ecx
ja 0x44c23d
je 0x44c268
cmp eax, 9
je 0x44c268
cmp eax, 0x20
je 0x44c268
cmp eax, 0xa0
je 0x44c268
cmp eax, 0x1680
jmp 0x44c262
cmp eax, 0x2000
jb case.0x44a2e6.108
cmp eax, 0x200a
jbe 0x44c268
cmp eax, 0x202f
je 0x44c268
cmp eax, 0x205f
je 0x44c268
cmp eax, 0x3000
jne case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c1c9
jmp 0x44c0d3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c2d5
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 0x44c2ce
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 0x44c2bc
cmp edx, 0xa
jb 0x44c303
cmp edx, 0xd
jbe case.0x44a2e6.108
cmp edx, 0x85
je case.0x44a2e6.108
cmp edx, 0x2027
jbe 0x44c303
cmp edx, 0x2029
jbe case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c287
jmp 0x44c0d3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c370
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 0x44c369
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 0x44c357
cmp edx, 0xa
jb case.0x44a2e6.108
cmp edx, 0xd
jbe 0x44c39e
cmp edx, 0x85
je 0x44c39e
cmp edx, 0x2027
jbe case.0x44a2e6.108
cmp edx, 0x2029
ja case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c322
jmp 0x44c0d3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44c40b
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 0x44c404
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 0x44c3f2
cmp edx, 0x80
jae 0x44c420
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x44a2e6.108
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0x14]
jle 0x44c3bd
jmp 0x44c0d3
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44a2e6.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 4
inc esi
test al, al
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c43b
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44c49b
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x44a2e6.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44c4a9
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c49b
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c47b
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44a2e6.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 1
inc esi
test al, al
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c4c1
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
mov cl, byte [esi]
cmp cl, 0x80
jae 0x44c521
movzx eax, cl
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44a2e6.108
inc esi
cmp esi, dword [ebp - 0x10]
jae 0x44c52f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44c521
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c501
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44a2e6.108
movzx eax, cl
mov ecx, dword [edi + 0x28]
mov al, byte [eax + ecx]
and al, 0x10
inc esi
test al, al
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c547
jmp 0x44c835
cmp ecx, 0xe
ja case.0x44e41b.14
jmp dword [ecx*4 + 0x44e72b]
test byte [ebp + 0x1c], 4
jne case.0x44c585.7
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov edx, dword [edi + 0x18]
test edx, edx
je 0x44c5c7
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44c5ee
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne case.0x44a2e6.108
inc eax
jmp 0x44c5ee
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x58]
sub edx, ecx
cmp esi, edx
ja 0x44c5ee
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne 0x44c5ee
cmp ecx, eax
je case.0x44a2e6.108
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44a2e6.108
inc esi
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x44c59d
jmp 0x44c024
add esi, edx
jmp 0x44c835
cmp edx, eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
je 0x44c646
jle case.0x44a2e6.108
cmp ecx, 0xc
jle 0x44c63c
cmp ecx, 0xd
je 0x44c650
cmp ecx, 0x85
jne case.0x44a2e6.108
cmp dword [edi + 0x4c], 0
jne case.0x44a2e6.108
inc eax
cmp eax, edx
jle 0x44c60e
jmp 0x44c835
cmp esi, dword [ebp - 0x10]
jae 0x44c646
cmp byte [esi], 0xa
jne 0x44c646
inc esi
jmp 0x44c646
cmp edx, eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x44a2e6.108
cmp ecx, 0x20
je case.0x44a2e6.108
cmp ecx, 0xa0
je case.0x44a2e6.108
inc eax
cmp eax, edx
jle 0x44c665
jmp 0x44c835
cmp edx, eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x44c6c5
cmp ecx, 0x20
je 0x44c6c5
cmp ecx, 0xa0
jne case.0x44a2e6.108
inc eax
cmp eax, edx
jle 0x44c6a2
jmp 0x44c835
cmp edx, eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x44c6fe
cmp ecx, 0xd
jle case.0x44a2e6.108
cmp ecx, 0x85
je case.0x44a2e6.108
inc eax
cmp eax, edx
jle 0x44c6d7
jmp 0x44c835
cmp edx, eax
jl 0x44c835
cmp esi, dword [ebp - 0x10]
jae case.0x44a2e6.108
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x44a2e6.108
cmp ecx, 0xd
jle 0x44c737
cmp ecx, 0x85
jne case.0x44a2e6.108
inc eax
cmp eax, edx
jle 0x44c710
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
jne case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c74f
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 4
inc esi
test cl, cl
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c77c
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
jne case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c7a9
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 1
inc esi
test cl, cl
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c7cf
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
jne case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c7f5
jmp 0x44c835
cmp edx, eax
mov dword [ebp + 0x18], eax
jl 0x44c835
mov eax, dword [edi + 0x28]
movzx ecx, byte [esi]
mov cl, byte [ecx + eax]
and cl, 0x10
inc esi
test cl, cl
je case.0x44a2e6.108
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edx
jle 0x44c81b
mov ecx, dword [ebp - 4]
cmp edx, ecx
je 0x44a2af
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x44e05c
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
je 0x44cf80
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44e41b.14
jmp dword [eax*4 + 0x44e767]
cmp ecx, 0x7fffffff
jge 0x44c92a
test byte [ebp + 0x1c], 4
jne 0x44c8f7
cmp edx, ecx
mov ebx, edx
jge 0x44cf6d
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44cf6d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c8b7
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne 0x44cf6d
jmp 0x44c8e6
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c8e6
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c8e6
cmp ecx, 1
je 0x44cf6d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44cf6d
jmp 0x44c8e6
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44c8ec
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c8de
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c889
jmp 0x44cf6d
cmp edx, ecx
jge 0x44cf6d
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44cf6d
inc esi
cmp esi, eax
jae 0x44c91f
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44c91f
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c90f
inc edx
cmp edx, dword [ebp - 4]
jl 0x44c902
jmp 0x44cf6d
test byte [ebp + 0x1c], 4
jne 0x44c9a8
cmp edx, ecx
mov ebx, edx
jge 0x44cf6d
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44cf6d
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44c968
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne 0x44cf6d
jmp 0x44c997
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44c997
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44c997
cmp ecx, 1
je 0x44cf6d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44cf6d
jmp 0x44c997
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44c99d
inc esi
cmp esi, dword [edi + 0x58]
jb 0x44c98f
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44c93a
jmp 0x44cf6d
mov esi, dword [edi + 0x58]
jmp 0x44cf6d
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44c9bd
mov ecx, eax
add esi, ecx
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ca2a
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 0x44ca29
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 0x44ca10
inc eax
cmp edx, 0xd
jne 0x44ca41
inc esi
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
cmp byte [esi], 0xa
jne 0x44ca78
inc esi
jmp 0x44ca78
cmp edx, 0xa
je 0x44ca76
cmp dword [edi + 0x4c], 0
jne 0x44cf6d
cmp edx, 0xb
je 0x44ca76
cmp edx, 0xc
je 0x44ca76
cmp edx, 0x85
je 0x44ca76
cmp edx, 0x2028
je 0x44ca76
cmp edx, 0x2029
jne 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44c9cf
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44caf2
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 0x44caf1
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 0x44cad8
inc eax
mov ecx, 0x180e
cmp edx, ecx
ja 0x44cb40
je 0x44cb68
cmp edx, 9
je 0x44cb68
cmp edx, 0x20
je 0x44cb68
cmp edx, 0xa0
je 0x44cb68
cmp edx, 0x1680
je 0x44cb68
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x11
sete dl
cmp ecx, edx
je 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ca97
jmp 0x44cf6d
cmp edx, 0x2000
jb 0x44cb17
cmp edx, 0x200a
jbe 0x44cb68
cmp edx, 0x202f
je 0x44cb68
cmp edx, 0x205f
je 0x44cb68
cmp edx, 0x3000
jne 0x44cb17
xor ecx, ecx
inc ecx
jmp 0x44cb19
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cbd3
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 0x44cbd2
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 0x44cbb9
inc eax
cmp edx, 0xa
jb 0x44cbfa
cmp edx, 0xd
jbe 0x44cbf5
cmp edx, 0x85
je 0x44cbf5
cmp edx, 0x2027
jbe 0x44cbfa
cmp edx, 0x2029
ja 0x44cbfa
xor ecx, ecx
inc ecx
jmp 0x44cbfc
xor ecx, ecx
xor edx, edx
cmp dword [ebp - 0xc], 0x13
sete dl
cmp ecx, edx
je 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cb78
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cc89
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 0x44cc88
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 0x44cc6f
inc eax
cmp edx, 0x100
jae 0x44cc9e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cc2e
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cd16
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 0x44cd15
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 0x44ccfc
inc eax
cmp edx, 0x100
jae 0x44cf6d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ccbb
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cdab
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 0x44cdaa
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 0x44cd91
inc eax
cmp edx, 0x100
jae 0x44cdc0
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cd50
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44ce38
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 0x44ce37
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 0x44ce1e
inc eax
cmp edx, 0x100
jae 0x44cf6d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cddd
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cecd
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 0x44cecc
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 0x44ceb3
inc eax
cmp edx, 0x100
jae 0x44cee2
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44ce72
jmp 0x44cf6d
cmp edx, ecx
mov dword [ebp + 0x18], edx
jge 0x44cf6d
xor eax, eax
inc eax
cmp esi, dword [edi + 0x58]
jae 0x44cf6d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44cf4f
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 0x44cf4e
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 0x44cf35
inc eax
cmp edx, 0x100
jae 0x44cf6d
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x44cf6d
add esi, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44cef8
cmp dword [ebp - 0x1c], 0
jne 0x44a2af
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44e541
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44e41b.14
jmp dword [eax*4 + 0x44e7a3]
test byte [ebp + 0x1c], 4
jne case.0x44cf8c.13
cmp edx, ecx
mov ebx, edx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44cfd0
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne 0x44d251
jmp 0x44cff5
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44cff5
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44cff5
cmp ecx, 1
je 0x44d251
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je 0x44d251
inc esi
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44cfa3
jmp 0x44d251
mov eax, dword [edi + 0x58]
sub ecx, edx
sub eax, esi
cmp ecx, eax
jbe 0x44d00e
mov ecx, eax
add esi, ecx
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d251
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44d040
inc esi
cmp esi, ecx
jae 0x44d251
cmp byte [esi], 0xa
jne 0x44d065
jmp 0x44d064
cmp eax, 0xa
je 0x44d064
cmp dword [edi + 0x4c], 0
jne 0x44d251
cmp eax, 0xb
je 0x44d064
cmp eax, 0xc
je 0x44d064
cmp eax, 0x85
jne 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d020
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d251
movzx eax, byte [esi]
cmp eax, 9
je 0x44d251
cmp eax, 0x20
je 0x44d251
cmp eax, 0xa0
je 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d07b
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d251
movzx eax, byte [esi]
cmp eax, 9
je 0x44d0da
cmp eax, 0x20
je 0x44d0da
cmp eax, 0xa0
jne 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d0ba
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d251
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44d251
cmp eax, 0xb
je 0x44d251
cmp eax, 0xc
je 0x44d251
cmp eax, 0xd
je 0x44d251
cmp eax, 0x85
je 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d0f1
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov ecx, dword [edi + 0x58]
cmp esi, ecx
jae 0x44d251
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44d16c
cmp eax, 0xb
je 0x44d16c
cmp eax, 0xc
je 0x44d16c
cmp eax, 0xd
je 0x44d16c
cmp eax, 0x85
jne 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d142
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
jne 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d183
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 4
je 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d1b2
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
jne 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d1da
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 1
je 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d1fa
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
jne 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d21a
jmp 0x44d251
cmp edx, ecx
jge 0x44d251
mov eax, dword [edi + 0x58]
cmp esi, eax
jae 0x44d251
movzx ecx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [ecx + ebx], 0x10
je 0x44d251
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44d23a
cmp dword [ebp - 0x1c], 0
jne 0x44a2af
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
dec esi
test eax, eax
jne 0x44e566
cmp esi, dword [ebp - 0x14]
jae 0x44d268
jmp case.0x44a2e6.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 0x44d2bd
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44d2ab
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 0x44d63b
mov dword [ebp + 0x24], edx
jmp 0x44d42c
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 0x44d544
cmp ecx, 0x60
mov dword [ebp + 0x24], 2
jge 0x44d2ff
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 0x44d362
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.0044a263
add esp, 0x24
test eax, eax
je 0x44d34a
cmp eax, 0xfffffc1c
jne 0x44e566
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 0x44d310
cmp dword [ebp + 0x24], 0
jne 0x44d60b
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4685c0]
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0x44d42c
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov eax, dword [ebp - 0x20]
jmp 0x44a677
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 0x44d3fd
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
cmp dword [ebp + 0x24], eax
jne 0x44d7c1
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x44d42c
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
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 0x44a286
inc dword [edi]
push 0xfffffffffffffff8
jmp 0x44e565
push 0xffffffffffffffeb
jmp 0x44e565
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov eax, 0xfffffc1a
jmp 0x44e566
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov eax, 0xfffffc19
jmp 0x44e566
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov dword [edi + 0x5c], esi
mov eax, 0xfffffc1b
jmp 0x44e566
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov eax, 0xfffffc1c
jmp 0x44e566
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 0x44d583
mov dword [ebp + 0x24], 2
jmp 0x44d587
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.0044a263
add esp, 0x24
test eax, eax
je 0x44d5c9
cmp eax, 0xfffffc1c
jne 0x44e566
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 0x44d58e
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.0x44a2e6.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.0044a263
add esp, 0x24
jmp 0x44e566
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 0x44d62d
cmp dword [edi + 0x40], 0
je 0x44d661
cmp esi, dword [ebp + 0x10]
je case.0x44a2e6.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 0x44e566
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 0x44d692
and dword [ebp - 0x38], 0
jmp 0x44d69d
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 0x44d6c5
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x2c], ecx
jmp 0x44d6e1
shl eax, 2
push eax
call dword [0x47603c]
test eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
jne 0x44d6de
push 0xfffffffffffffffa
jmp 0x44e565
mov eax, dword [ebp - 0x28]
shl eax, 2
push eax
push dword [edi + 0xc]
push dword [ebp - 0x2c]
call fcn.0044fd10
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.0044a263
add esp, 0x24
cmp eax, 1
je 0x44d79d
test eax, eax
je 0x44d748
cmp eax, 0xfffffc1c
jne 0x44e566
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.0044fd10
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 0x44d70e
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je case.0x44a2e6.108
push dword [ebp - 0x2c]
call dword [0x476040]
pop ecx
jmp case.0x44a2e6.108
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
lea eax, [ebp - 0xec]
cmp dword [ebp - 0x2c], eax
je 0x44d670
push dword [ebp - 0x2c]
call dword [0x476040]
pop ecx
jmp 0x44d670
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 0x44d62d
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x64], eax
jmp 0x44d66d
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a2e6.108
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044a205
test eax, eax
pop ecx
pop ecx
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44d7e6
jmp 0x44e566
cmp ebx, dword [ebp - 4]
mov dword [ebp - 0x14], esi
jge 0x44d869
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push esi
mov ecx, edi
call fcn.0044a205
test eax, eax
pop ecx
pop ecx
je 0x44d860
add esi, dword [ebp - 0x10]
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x44d840
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x44d86d
jmp case.0x44a2e6.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44d8fb
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 0x44d8fb
jmp 0x44d8e5
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 0x44d8e2
cmp eax, 0xff
jbe 0x44d908
cmp dword [ebp - 8], 0x4d
jmp 0x44d91d
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.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44d89e
jmp 0x44e566
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44d98e
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.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.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44d957
jmp 0x44e566
cmp dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x44dab1
cmp edx, dword [ebp - 4]
mov dword [ebp + 0x18], edx
jge 0x44da6b
cmp esi, dword [edi + 0x58]
mov dword [ebp - 0x20], 1
jae 0x44da6b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44da35
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 0x44da2e
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 0x44da12
mov ebx, dword [ebp + 0xc]
inc edx
mov dword [ebp - 0x20], edx
cmp eax, 0xff
jbe 0x44da42
cmp dword [ebp - 8], 0x4d
jmp 0x44da57
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 0x44da6b
add esi, dword [ebp - 0x20]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44d9cb
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44da8f
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a2e6.108
jmp 0x44da84
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44da83
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.0044a263
add esp, 0x24
test eax, eax
je 0x44da75
jmp 0x44e566
cmp edx, dword [ebp - 4]
jge 0x44dae5
cmp esi, dword [edi + 0x58]
jae 0x44dadc
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 0x44dadc
inc esi
inc edx
cmp edx, dword [ebp - 4]
jl 0x44dab6
cmp esi, dword [ebp - 0x14]
jb case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x44dae9
jmp case.0x44a2e6.108
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
mov dword [ebp - 8], eax
jb 0x44db6f
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 0x44db6b
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 0x44db5b
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0044f4b1
test eax, eax
pop ecx
pop ecx
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44db18
jmp 0x44e566
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x18], eax
jmp 0x44dc2a
xor ebx, ebx
inc ebx
cmp esi, dword [edi + 0x58]
jae 0x44dc2f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x44dc13
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 0x44dc10
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 0x44dbf7
lea ebx, [eax + 1]
push dword [ebp - 0x1c]
push edx
call fcn.0044f4b1
test eax, eax
pop ecx
pop ecx
je 0x44dc2f
add esi, ebx
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jl 0x44dbba
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dc52
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a2e6.108
cmp dword [ebp - 0x18], 0
je 0x44dc52
jmp 0x44dc4a
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44dc49
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.0044a263
add esp, 0x24
test eax, eax
je 0x44dc35
jmp 0x44e566
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dcb2
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push esi
call fcn.00450075
add esp, 0xc
test eax, eax
jne case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44dc80
jmp 0x44e566
cmp esi, dword [ebp - 0x14]
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44dcd7
jmp 0x44e566
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dd3d
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44dd11
jmp 0x44e566
mov dword [ebp + 0x18], ebx
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44dd90
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
jne case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44dd6b
jmp 0x44e566
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44de7e
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 0x44de68
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44de23
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 0x44de1c
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 0x44de0a
cmp edx, 0x100
jae 0x44de32
mov eax, dword [edi + 0x24]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
cmp dword [ebp - 8], edx
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44ddde
jmp 0x44e566
mov ebx, dword [ebp + 0x28]
inc ebx
jmp 0x44deb0
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx eax, byte [eax + ecx]
inc esi
cmp dword [ebp - 8], eax
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44de84
jmp 0x44e566
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a2e6.108
jmp 0x44dee4
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44dee3
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.0044a263
add esp, 0x24
test eax, eax
je 0x44ded5
jmp 0x44e566
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0x18], edx
je 0x44dfc7
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 0x44dfb1
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x44df7b
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 0x44df74
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 0x44df62
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
cmp dword [ebp - 8], edx
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44df36
jmp 0x44e566
mov ebx, dword [ebp + 0x28]
inc ebx
push ebx
push ecx
jmp 0x44dff7
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a2e6.108
cmp esi, dword [edi + 0x58]
jae case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 8], eax
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44dfcf
jmp 0x44e566
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a2e6.108
jmp 0x44e028
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44e027
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.0044a263
add esp, 0x24
test eax, eax
je 0x44e019
jmp 0x44e566
push 0xfffffffffffffff2
jmp 0x44e565
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x28]
je 0x44e39a
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.0044a263
add esp, 0x24
test eax, eax
jne 0x44e566
mov ebx, 0x100
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 4]
jge case.0x44a2e6.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x44a2e6.108
cmp dword [ebp - 0xc], 0xc
jne 0x44e104
test byte [ebp + 0x1c], 4
jne 0x44e104
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44e0df
push dword [ebp - 0x18]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne case.0x44a2e6.108
jmp 0x44e104
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44e104
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44e104
cmp ecx, 1
je case.0x44a2e6.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44a2e6.108
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44e151
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 0x44e14c
jmp 0x44e136
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 0x44e133
mov ebx, 0x100
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffffa
cmp ecx, 0xe
ja case.0x44e41b.14
jmp dword [ecx*4 + 0x44e7df]
cmp eax, 0xa
je case.0x44e160.12
jbe case.0x44a2e6.108
cmp eax, 0xc
jbe 0x44e19d
cmp eax, 0xd
je 0x44e1ac
cmp eax, 0x85
je 0x44e19d
cmp eax, 0x2027
jbe case.0x44a2e6.108
cmp eax, 0x2029
ja case.0x44a2e6.108
cmp dword [edi + 0x4c], 0
jne case.0x44a2e6.108
jmp case.0x44e160.12
cmp esi, dword [edi + 0x58]
jae case.0x44e160.12
cmp byte [esi], 0xa
jne case.0x44e160.12
inc esi
jmp case.0x44e160.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x44e1fa
je case.0x44a2e6.108
cmp eax, 9
je case.0x44a2e6.108
cmp eax, 0x20
je case.0x44a2e6.108
cmp eax, 0xa0
je case.0x44a2e6.108
cmp eax, 0x1680
jmp 0x44e366
cmp eax, 0x2000
jb case.0x44e160.12
cmp eax, 0x200a
jbe case.0x44a2e6.108
cmp eax, 0x202f
je case.0x44a2e6.108
cmp eax, 0x205f
je case.0x44a2e6.108
cmp eax, 0x3000
jmp 0x44e366
mov ecx, 0x180e
cmp eax, ecx
ja 0x44e266
je case.0x44e160.12
cmp eax, 9
je case.0x44e160.12
cmp eax, 0x20
je case.0x44e160.12
cmp eax, 0xa0
je case.0x44e160.12
cmp eax, 0x1680
jmp 0x44e1a1
cmp eax, 0x2000
jb case.0x44a2e6.108
cmp eax, 0x200a
jbe case.0x44e160.12
cmp eax, 0x202f
je case.0x44e160.12
cmp eax, 0x205f
je case.0x44e160.12
cmp eax, 0x3000
jmp 0x44e1a1
cmp eax, 0xa
jb case.0x44e160.12
cmp eax, 0xd
jbe case.0x44a2e6.108
cmp eax, 0x85
je case.0x44a2e6.108
cmp eax, 0x2027
jbe case.0x44e160.12
cmp eax, 0x2029
jbe case.0x44a2e6.108
jmp case.0x44e160.12
cmp eax, 0xa
jb case.0x44a2e6.108
cmp eax, 0xd
jbe case.0x44e160.12
cmp eax, 0x85
je case.0x44e160.12
cmp eax, 0x2027
jbe case.0x44a2e6.108
cmp eax, 0x2029
ja case.0x44a2e6.108
jmp case.0x44e160.12
cmp eax, ebx
jae case.0x44e160.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e1a1
cmp eax, ebx
jae case.0x44a2e6.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e366
cmp eax, ebx
jae case.0x44e160.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e1a1
cmp eax, ebx
jae case.0x44a2e6.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e366
cmp eax, ebx
jae case.0x44e160.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44e1a1
cmp eax, ebx
jae case.0x44a2e6.108
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44e099
jmp 0x44e566
inc eax
mov dword [ebp - 0x10], eax
push eax
jmp 0x44e507
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x18], eax
jge case.0x44a2e6.108
mov eax, dword [edi + 0x58]
cmp esi, eax
jae case.0x44a2e6.108
test byte [ebp + 0x1c], 4
jne 0x44e408
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x44e3e3
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0044f0c3
add esp, 0x14
test eax, eax
jne case.0x44a2e6.108
jmp 0x44e408
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44e408
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x44e408
cmp ecx, 1
je case.0x44a2e6.108
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44a2e6.108
mov ecx, dword [ebp - 0xc]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xe
ja case.0x44e41b.14
jmp dword [ecx*4 + 0x44e81b]
cmp eax, 0xa
je case.0x44e41b.12
jbe case.0x44a2e6.108
cmp eax, 0xc
jbe 0x44e446
cmp eax, 0xd
je 0x44e455
cmp eax, 0x85
jne case.0x44a2e6.108
cmp dword [edi + 0x4c], 0
jne case.0x44a2e6.108
jmp case.0x44e41b.12
cmp esi, dword [edi + 0x58]
jae case.0x44e41b.12
cmp byte [esi], 0xa
jne case.0x44e41b.12
inc esi
jmp case.0x44e41b.12
cmp eax, 9
je case.0x44a2e6.108
cmp eax, 0x20
je case.0x44a2e6.108
cmp eax, 0xa0
jmp 0x44e4fb
cmp eax, 9
je case.0x44e41b.12
cmp eax, 0x20
je case.0x44e41b.12
cmp eax, 0xa0
jmp 0x44e44a
cmp eax, 0xa
jb case.0x44e41b.12
cmp eax, 0xd
jbe case.0x44a2e6.108
cmp eax, 0x85
jmp 0x44e4fb
cmp eax, 0xa
jb case.0x44a2e6.108
cmp eax, 0xd
jbe case.0x44e41b.12
cmp eax, 0x85
jmp 0x44e44a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e44a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x44e4fb
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e44a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x44e4fb
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44e44a
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44a2e6.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.0044a263
add esp, 0x24
test eax, eax
je 0x44e3a4
jmp 0x44e566
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je case.0x44a2e6.108
jmp 0x44e539
dec esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x44e538
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.0044a263
add esp, 0x24
test eax, eax
je 0x44e52a
jmp 0x44e566
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret