Function at 0x44ac30
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xec
mov eax, dword [esp + 0x100]
mov edx, dword [eax]
cmp edx, dword [eax + 4]
mov ecx, dword [eax + 0x38]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], ecx
jae 0x44f24f
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0x120]
add dword [eax], 1
cmp ecx, dword [eax + 8]
jae 0x44f262
test byte [esp + 0x11c], 2
mov edx, dword [esp + 0x114]
mov dword [esp + 0x30], edx
je 0x44aca0
lea eax, [esp + 0x7c]
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x118], eax
nop
mov ebx, dword [esp + 0x104]
movzx eax, byte [ebx]
mov edx, dword [esp + 0x110]
xor ebp, ebp
cmp dword [edx + 0x48], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], eax
je 0x44acd9
cmp esi, dword [edx + 0x5c]
jb 0x44acd9
cmp esi, dword [esp + 0x108]
jbe 0x44acd9
mov dword [edx + 0x4c], 1
cmp eax, 0x6f
mov ecx, dword [0x54df34]
ja case.0x44acef.15
movzx eax, byte [eax + 0x450c18]
jmp dword [eax*4 + 0x450afc]
mov edi, dword [esp + 0x10c]
xor eax, eax
cmp byte [ebx + 3], 0x53
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
mov ebp, eax
jne 0x44adbf
test ecx, ecx
je 0x44adb6
movzx edx, byte [ebx + 4]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x58]
mov edx, dword [edx + 0x5c]
sub edx, eax
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x108]
sub edx, eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], eax
mov edx, esi
sub edx, eax
xor eax, eax
mov ah, byte [ebx + 5]
mov dword [esp + 0x64], edx
xor edx, edx
mov dh, byte [ebx + 7]
mov dword [esp + 0x4c], 1
mov al, byte [ebx + 6]
mov dl, byte [ebx + 8]
mov dword [esp + 0x74], eax
mov eax, edi
mov dword [esp + 0x78], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x110]
mov edx, dword [eax + 0x6c]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x4c]
push edx
mov dword [esp + 0x74], eax
call ecx
add esp, 4
test eax, eax
jg case.0x4509a7.14
jl 0x450aef
mov edx, dword [esp + 0x110]
movzx eax, byte [0x483d73]
add ebx, eax
movzx ecx, byte [ebx + 3]
cmp ecx, 0x65
lea eax, [ebx + 3]
jne 0x44adf1
mov eax, dword [edx + 0x7c]
xor ecx, ecx
test eax, eax
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x44ae0d
cmp ecx, 0xffff
je 0x44ade7
cmp ecx, dword [eax + 4]
jne 0x44ae0d
mov ecx, 1
lea eax, [ecx + 2]
jmp 0x44ae17
cmp ecx, 0x64
jne 0x44ae39
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, edi
jge 0x44ae0d
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x44ade7
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
test ecx, ecx
jne 0x44efcf
cmp byte [ebx], 0x54
je 0x44efcf
add ebx, 3
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp ecx, 0x66
jne 0x44ae4a
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
jmp 0x44ae21
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x114]
push 1
push 0
push edx
mov edx, dword [esp + 0x118]
push ecx
push edi
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
cmp eax, 1
je 0x44efac
test eax, eax
je 0x44ae94
cmp eax, 0xfffffc1c
jne 0x450aef
add ebx, ebp
jmp 0x44ae21
mov edi, dword [edx + 0x7c]
cmp edi, ebp
je 0x44f5b9
cmp dword [edi + 4], ebp
jne 0x44f5b9
mov ecx, dword [edi]
mov eax, edx
mov dword [eax + 0x7c], ecx
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
add edx, edx
add edx, edx
push edx
mov edx, dword [eax + 0xc]
push ecx
push edx
call sub.MSVCRT.dll_memmove
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x3c]
mov edx, dword [edi + 8]
add esp, 0xc
mov dword [esp + 0x108], eax
mov dword [esp + 0x114], ecx
mov dword [esp + 0x104], edx
jmp 0x44aca0
movzx eax, byte [ebx + 1]
add ebx, 2
mov dword [esp + 0x114], eax
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov edi, dword [esp + 0x120]
mov ebp, dword [esp + 0x10c]
add edi, 1
lea ebx, [ebx]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push edi
push 0
push 0
push ecx
push edx
push ebp
push eax
lea ecx, [ebx + 3]
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
cmp eax, 1
je 0x44af6e
test eax, eax
je 0x44af5f
cmp eax, 0xfffffc1c
jne 0x450aef
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x54
je 0x44af20
cmp byte [ebx], 0x55
je case.0x4509a7.14
test byte [esp + 0x11c], 1
jne 0x44f5e2
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x54
je 0x44af85
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x68]
add ebx, 3
mov dword [esp + 0x104], ebx
mov dword [esp + 0x10c], edx
jmp 0x44aca0
mov edi, dword [esp + 0x120]
mov ebp, dword [esp + 0x10c]
add edi, 1
jmp 0x44afd0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
push edi
push 0
push 0
push eax
push ecx
push ebp
push edx
lea eax, [ebx + 3]
push eax
push esi
call fcn.0044ac30
add esp, 0x24
cmp eax, 1
je case.0x4509a7.14
test eax, eax
je 0x44b013
cmp eax, 0xfffffc1c
jne 0x450aef
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x54
je 0x44afd0
test byte [esp + 0x11c], 1
jne 0x44f5e2
add ebx, 3
mov dword [esp + 0x104], ebx
jmp 0x44aca0
xor eax, eax
cmp dword [esp + 0x20], ebp
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
je 0x44b091
cmp eax, ebp
jle 0x44b09c
mov ecx, dword [edx + 0x58]
sub esi, 1
sub eax, 1
cmp esi, ecx
jb case.0x4509a7.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x44b07e
lea esp, [esp]
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x44b070
test eax, eax
jg 0x44b054
add ebx, 3
mov dword [esp + 0x104], ebx
jmp 0x44aca0
sub esi, eax
cmp esi, dword [edx + 0x58]
jb case.0x4509a7.14
add ebx, 3
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp ecx, ebp
je 0x44b147
mov edi, dword [esp + 0x110]
movzx edx, byte [ebx + 1]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x50], edx
mov edx, dword [edi + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x58]
sub edx, eax
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x108]
sub edx, eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], eax
mov edx, esi
sub edx, eax
xor eax, eax
mov ah, byte [ebx + 2]
mov dword [esp + 0x64], edx
xor edx, edx
mov dh, byte [ebx + 4]
mov dword [esp + 0x4c], 1
mov al, byte [ebx + 3]
mov dl, byte [ebx + 5]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x78], edx
cdq
sub eax, edx
mov edx, dword [edi + 0x80]
sar eax, 1
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x74], edx
call ecx
add esp, 4
test eax, eax
jg case.0x4509a7.14
jl 0x450aef
add ebx, 6
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov edi, dword [esp + 0x120]
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x2c], esi
add edi, 1
jmp 0x44b180
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push edi
push 0
push ebp
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebx
push eax
add ecx, 3
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
cmp eax, 1
je 0x44b1e4
test eax, eax
je 0x44b1c5
cmp eax, 0xfffffc1c
jne 0x450aef
mov eax, dword [esp + 0x104]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x54
mov dword [esp + 0x104], eax
je 0x44b180
jmp 0x44b1eb
mov eax, dword [esp + 0x104]
mov cl, byte [eax]
cmp cl, 0x5d
je 0x44b200
cmp cl, 0x54
jne case.0x4509a7.14
jmp 0x44b200
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x54
je 0x44b200
cmp byte [eax], 0x55
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x68]
mov esi, dword [edx + 0x64]
mov dword [esp + 0x10c], ecx
je 0x44b232
cmp esi, dword [esp + 0x2c]
jne 0x44f0cb
add eax, 3
mov dword [esp + 0x104], eax
jmp 0x44aca0
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x54
je case.0x44acef.84
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
add eax, 1
push eax
mov eax, dword [esp + 0x114]
push 0
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
lea edi, [ebx + 1]
push edi
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x54
je 0x44b2a6
add edi, 3
mov dword [esp + 0x104], edi
jmp 0x44aca0
lea edi, [ebx + 1]
mov eax, edi
lea esp, [esp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x54
je 0x44b2d0
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
add edx, 1
push edx
mov edx, dword [esp + 0x118]
push 0
push ecx
mov ecx, dword [esp + 0x11c]
push edx
mov edx, dword [esp + 0x11c]
push ecx
mov ecx, dword [esp + 0x11c]
push edx
push ecx
add eax, 3
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov dword [esp + 0x104], edi
jmp 0x44aca0
lea eax, [ebx + 1]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x54
je 0x44b338
add eax, 3
mov dword [esp + 0x104], eax
jmp 0x44aca0
mov ebx, dword [esp + 0x104]
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
sub ebx, eax
mov al, byte [ebx]
cmp al, 0x61
jb 0x44b386
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x118], ebp
jmp 0x44b395
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x2c], 0
cmp al, 0x58
je 0x44f818
cmp al, 0x59
je 0x44f818
cmp al, 0x5a
je 0x44f818
cmp al, 0x5b
je 0x44f818
cmp al, 0x5d
je 0x44f818
cmp al, 0x5f
je 0x44b3c9
cmp al, 0x62
jne 0x44b474
mov edi, dword [esp + 0x110]
xor edx, edx
mov dh, byte [ebx + 3]
mov dl, byte [ebx + 4]
lea eax, [edx + edx]
cmp eax, dword [edi + 0x14]
mov dword [edi + 0x6c], edx
jl 0x44b3ec
mov dword [edi + 0x2c], 1
jmp 0x44b420
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
sub edi, edx
mov edi, dword [ecx + edi*4]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x110]
mov edi, esi
sub edi, dword [ecx + 0x58]
cmp dword [esp + 0x10c], eax
mov ecx, dword [ecx + 0xc]
mov dword [ecx + eax*4 + 4], edi
jg 0x44b420
add eax, 2
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x110]
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x44b474
cmp dword [edi + 4], edx
jne 0x44b474
mov ecx, dword [edi]
mov dword [eax + 0x7c], ecx
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
mov eax, dword [eax + 0xc]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x108], edx
mov edx, dword [edi + 0x10]
push ecx
push edx
push eax
call sub.MSVCRT.dll_memcpy
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x104], ecx
mov dword [esp + 0x114], edx
jmp 0x44aca0
mov eax, dword [esp + 0x104]
cmp byte [eax], 0x55
mov edi, dword [esp + 0x30]
mov dword [esp + 0x114], edi
je 0x44b495
cmp esi, dword [esp + 0x2c]
jne 0x44f174
add eax, 3
mov dword [esp + 0x104], eax
jmp 0x44aca0
cmp dword [edx + 0x30], ebp
je 0x44b4b2
cmp esi, dword [edx + 0x58]
je case.0x4509a7.14
test byte [esp + 0x114], 2
je case.0x44acef.1
mov eax, dword [edx + 0x58]
cmp esi, eax
je 0x44b54b
cmp esi, dword [edx + 0x5c]
je case.0x4509a7.14
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x44b515
cmp esi, eax
jbe case.0x4509a7.14
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x114]
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.004520b0
add esp, 0x14
test eax, eax
je case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov ecx, dword [edx + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x4509a7.14
mov edi, dword [esp + 0x110]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x20]
jne case.0x4509a7.14
cmp ecx, 1
je 0x44b54b
mov al, byte [eax + 1]
mov ecx, edi
cmp al, byte [ecx + 0x21]
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x58]
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov eax, dword [edx + 0x70]
add eax, dword [edx + 0x58]
cmp esi, eax
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
add ebx, 1
mov dword [esp + 0x108], esi
mov dword [esp + 0x104], ebx
jmp 0x44aca0
test byte [esp + 0x114], 2
je 0x44b62c
mov eax, dword [edx + 0x5c]
cmp esi, eax
jae 0x44b614
mov ecx, dword [edx + 0x18]
cmp ecx, ebp
je 0x44b5ef
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x114]
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
je case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4509a7.14
mov al, byte [esi]
cmp al, byte [edx + 0x20]
jne case.0x4509a7.14
cmp ecx, 1
je 0x44b61d
mov cl, byte [esi + 1]
cmp cl, byte [edx + 0x21]
jmp 0x44b617
cmp dword [edx + 0x34], ebp
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp dword [edx + 0x34], ebp
jne case.0x4509a7.14
cmp dword [edx + 0x40], ebp
jne case.0x44acef.24
mov eax, dword [edx + 0x5c]
cmp esi, eax
je 0x44b6b4
mov ecx, dword [edx + 0x18]
cmp ecx, ebp
je 0x44b67b
cmp esi, eax
jae case.0x4509a7.14
mov edi, edx
mov edx, dword [esp + 0x20]
push edx
add edi, 0x1c
push edi
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
je case.0x4509a7.14
mov edx, dword [esp + 0x110]
jmp 0x44b6a7
mov ecx, dword [edx + 0x1c]
lea edi, [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4509a7.14
mov al, byte [esi]
cmp al, byte [edx + 0x20]
jne case.0x4509a7.14
cmp ecx, 1
je 0x44b6a7
mov cl, byte [esi + 1]
cmp cl, byte [edx + 0x21]
jne case.0x4509a7.14
mov edx, dword [edx + 0x5c]
sub edx, dword [edi]
cmp esi, edx
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jb case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp dword [esp + 0x20], ebp
je 0x44b822
cmp esi, dword [edx + 0x58]
je 0x44b774
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x44b70e
lea ebx, [ebx]
mov cl, byte [edx - 1]
sub edx, 1
and cl, 0xc0
cmp cl, 0x80
je 0x44b700
movzx ebp, byte [edx]
cmp ebp, 0xc0
jb 0x44b755
mov eax, ebp
and eax, 0x3f
movzx edi, byte [eax + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44b755
movzx ebx, byte [eax + edx]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44b740
cmp ebp, 0x100
jae 0x44b774
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x28]
test byte [edx + ebp], 0x10
je 0x44b774
mov edx, 1
jmp 0x44b776
xor edx, edx
mov eax, dword [esp + 0x110]
cmp esi, dword [eax + 0x5c]
jb 0x44b7ac
mov ebx, dword [esp + 0x104]
xor eax, eax
mov cl, byte [ebx]
add ebx, 1
cmp cl, 5
mov dword [esp + 0x104], ebx
jne 0x44b867
xor ecx, ecx
cmp eax, edx
sete cl
jmp 0x44b86e
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44b7f5
mov ecx, ebp
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44b7f5
mov edi, edi
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44b7e0
cmp ebp, 0x100
jae 0x44b782
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 0x10
je 0x44b782
mov ebx, dword [esp + 0x104]
mov eax, 1
jmp 0x44b78b
cmp esi, dword [edx + 0x58]
je 0x44b83b
movzx ecx, byte [esi - 1]
mov edx, dword [edx + 0x28]
test byte [ecx + edx], 0x10
je 0x44b83b
mov edx, 1
jmp 0x44b83d
xor edx, edx
mov eax, dword [esp + 0x110]
cmp esi, dword [eax + 0x5c]
jae 0x44b789
movzx ecx, byte [esi]
mov eax, dword [eax + 0x28]
test byte [ecx + eax], 0x10
je 0x44b789
mov eax, 1
jmp 0x44b78b
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
test eax, eax
je 0x44aca0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov ecx, dword [edx + 0x18]
cmp ecx, ebp
je 0x44b8bf
mov eax, dword [edx + 0x5c]
cmp esi, eax
jae case.0x44acef.13
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x114]
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne case.0x4509a7.14
mov edx, dword [esp + 0x110]
jmp case.0x44acef.13
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x5c]
sub ecx, eax
cmp esi, ecx
ja case.0x44acef.13
mov cl, byte [esi]
cmp cl, byte [edx + 0x20]
jne case.0x44acef.13
cmp eax, 1
je case.0x4509a7.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x21]
je case.0x4509a7.14
mov eax, dword [edx + 0x5c]
mov ecx, esi
add esi, 1
cmp ecx, eax
jae case.0x4509a7.14
cmp dword [esp + 0x20], 0
je 0x44b912
cmp esi, eax
jae 0x44b912
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44b912
add esi, 1
cmp esi, dword [edx + 0x5c]
jb 0x44b902
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov ecx, esi
add esi, 1
cmp ecx, dword [edx + 0x5c]
jae case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44b999
cmp ebp, 0xc0
jb 0x44b999
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44b999
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44b980
cmp ebp, 0x100
jae 0x44b9b5
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x28]
test byte [ecx + ebp], 4
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44ba1f
cmp ebp, 0xc0
jb 0x44ba1f
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44ba1f
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44ba06
cmp ebp, 0x100
jae case.0x4509a7.14
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x28]
test byte [ecx + ebp], 4
je case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44baa9
cmp ebp, 0xc0
jb 0x44baa9
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44baa9
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44ba90
cmp ebp, 0x100
jae 0x44bac5
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x28]
test byte [ecx + ebp], 1
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44bb2f
cmp ebp, 0xc0
jb 0x44bb2f
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44bb2f
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44bb16
cmp ebp, 0x100
jae case.0x4509a7.14
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x28]
test byte [ecx + ebp], 1
je case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44bbb9
cmp ebp, 0xc0
jb 0x44bbb9
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44bbb9
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44bba0
cmp ebp, 0x100
jae 0x44bbd5
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x28]
test byte [ecx + ebp], 0x10
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44bc3f
cmp ebp, 0xc0
jb 0x44bc3f
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44bc3f
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44bc26
cmp ebp, 0x100
jae case.0x4509a7.14
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x28]
test byte [ecx + ebp], 0x10
je case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov edx, dword [edx + 0x5c]
cmp esi, edx
jae case.0x4509a7.14
movzx edi, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44bccb
cmp edi, 0xc0
jb 0x44bccb
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov ebx, dword [eax*4 + 0x483dc4]
lea ebp, [eax + eax*2]
add ebp, ebp
and ebx, edi
mov ecx, ebp
shl ebx, cl
test eax, eax
mov edi, ebx
jle 0x44bccb
movzx ebx, byte [esi]
sub ebp, 6
and ebx, 0x3f
mov ecx, ebp
shl ebx, cl
sub eax, 1
add esi, 1
or edi, ebx
test eax, eax
jg 0x44bcb2
cmp edi, 0xd
ja 0x44bcfb
je 0x44bce2
cmp edi, 0xa
je 0x44bd2c
jbe case.0x4509a7.14
cmp edi, 0xc
jmp 0x44bd15
cmp esi, edx
jae 0x44bd2c
cmp byte [esi], 0xa
jne 0x44bd2c
add esi, 1
add dword [esp + 0x104], 1
jmp 0x44aca0
cmp edi, 0x85
je 0x44bd1b
cmp edi, 0x2027
jbe case.0x4509a7.14
cmp edi, 0x2029
ja case.0x4509a7.14
mov ecx, dword [esp + 0x110]
cmp dword [ecx + 0x50], 0
jne case.0x4509a7.14
add dword [esp + 0x104], 1
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x44bd99
cmp eax, 0xc0
jb 0x44bd99
mov edx, eax
and edx, 0x3f
movzx edi, byte [edx + 0x483de0]
mov edx, dword [edi*4 + 0x483dc4]
lea ebp, [edi + edi*2]
add ebp, ebp
and edx, eax
mov ecx, ebp
shl edx, cl
test edi, edi
mov eax, edx
jle 0x44bd99
lea esp, [esp]
movzx edx, byte [esi]
sub ebp, 6
and edx, 0x3f
mov ecx, ebp
shl edx, cl
sub edi, 1
add esi, 1
or eax, edx
test edi, edi
jg 0x44bd80
cmp eax, 0x180e
ja 0x44bdc8
je case.0x4509a7.14
cmp eax, 0xa0
ja 0x44bdc1
je case.0x4509a7.14
cmp eax, 9
je case.0x4509a7.14
cmp eax, 0x20
jmp 0x44bdf3
cmp eax, 0x1680
jmp 0x44bdf3
cmp eax, 0x205f
ja 0x44bdee
je case.0x4509a7.14
cmp eax, 0x2000
jb 0x44bdf9
cmp eax, 0x200a
jbe case.0x4509a7.14
cmp eax, 0x202f
jmp 0x44bdf3
cmp eax, 0x3000
je case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x20], ebp
je 0x44be69
cmp eax, 0xc0
jb 0x44be69
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov edx, dword [edi*4 + 0x483dc4]
lea ebp, [edi + edi*2]
add ebp, ebp
and edx, eax
mov ecx, ebp
shl edx, cl
test edi, edi
mov eax, edx
jle 0x44be69
jmp 0x44be50
movzx edx, byte [esi]
sub ebp, 6
and edx, 0x3f
mov ecx, ebp
shl edx, cl
sub edi, 1
add esi, 1
or eax, edx
test edi, edi
jg 0x44be50
cmp eax, 0x180e
ja 0x44be8c
je 0x44beb9
cmp eax, 0xa0
ja 0x44be85
je 0x44beb9
cmp eax, 9
je 0x44beb9
cmp eax, 0x20
jmp 0x44beb3
cmp eax, 0x1680
jmp 0x44beb3
cmp eax, 0x205f
ja 0x44beae
je 0x44beb9
cmp eax, 0x2000
jb case.0x4509a7.14
cmp eax, 0x200a
jbe 0x44beb9
cmp eax, 0x202f
jmp 0x44beb3
cmp eax, 0x3000
jne case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44bf29
cmp ebp, 0xc0
jb 0x44bf29
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44bf29
lea ebx, [ebx]
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44bf10
cmp ebp, 0x85
ja 0x44bf41
je case.0x4509a7.14
cmp ebp, 0xa
jb 0x44bf55
cmp ebp, 0xd
jmp 0x44bf4f
cmp ebp, 0x2028
jb 0x44bf55
cmp ebp, 0x2029
jbe case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44bfbf
cmp ebp, 0xc0
jb 0x44bfbf
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44bfbf
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44bfa6
cmp ebp, 0x85
ja 0x44bfd7
je 0x44bfef
cmp ebp, 0xa
jb case.0x4509a7.14
cmp ebp, 0xd
jmp 0x44bfe9
cmp ebp, 0x2028
jb case.0x4509a7.14
cmp ebp, 0x2029
ja case.0x4509a7.14
add ebx, 1
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov edi, dword [esp + 0x110]
xor edx, edx
mov dh, byte [ebx + 1]
add ebx, 3
mov dword [esp + 0x104], ebx
mov dl, byte [ebx - 1]
add edx, edx
cmp edx, dword [esp + 0x10c]
mov dword [esp + 0x2c], edx
jge 0x44c03a
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
lea eax, [eax + edx*4]
jl 0x44c03a
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x44c04c
cmp dword [edi + 0x3c], 0
je 0x44c044
xor edi, edi
jmp 0x44c04c
mov edi, dword [edi + 0x5c]
sub edi, esi
add edi, 1
mov cl, byte [ebx]
movzx eax, cl
lea ebp, [eax - 0x46]
cmp ebp, 7
ja case.default.0x44c064
movzx ebx, byte [ebp + 0x450c90]
jmp dword [ebx*4 + 0x450c88]
movsx ebx, byte [eax + 0x483cce]
add dword [esp + 0x104], 1
movsx ebp, byte [eax + 0x483cc6]
add eax, 0xffffffba
mov ecx, eax
and ecx, 1
test ebx, ebx
mov dword [esp + 0x1c], ecx
jne 0x44c0d0
mov ebx, 0x7fffffff
jmp 0x44c0d0
mov eax, dword [esp + 0x104]
xor edx, edx
cmp cl, 0x4d
sete dl
xor ecx, ecx
mov ch, byte [eax + 1]
xor ebx, ebx
mov bh, byte [eax + 3]
mov dword [esp + 0x1c], edx
mov cl, byte [eax + 2]
mov bl, byte [eax + 4]
mov ebp, ecx
test ebx, ebx
jne 0x44c0c6
mov ebx, 0x7fffffff
add eax, 5
mov dword [esp + 0x104], eax
test edi, edi
je 0x44aca0
cmp ebp, 1
mov dword [esp + 0x14], 1
jl 0x44c127
jmp 0x44c0f0
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x30]
push esi
mov eax, edi
call fcn.0044abb0
add esp, 8
test eax, eax
je case.0x4509a7.14
mov eax, dword [esp + 0x14]
add eax, 1
add esi, edi
cmp eax, ebp
mov dword [esp + 0x14], eax
jle 0x44c0f0
cmp ebp, ebx
je 0x44aca0
cmp dword [esp + 0x1c], 0
je 0x44f83c
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x120]
add ebp, 1
push ebp
push 0
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
lea esp, [esp]
cmp dword [esp + 0x14], ebx
jge case.0x4509a7.14
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x30]
push esi
mov eax, edi
call fcn.0044abb0
add esp, 8
test eax, eax
je case.0x4509a7.14
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add dword [esp + 0x14], 1
push ebp
push 0
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
add esi, edi
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44c190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
push eax
push esi
mov eax, edi
call fcn.0044abb0
add esp, 8
test eax, eax
je case.0x4509a7.14
add esi, edi
jmp 0x44aca0
lea ecx, [ebx + 1]
add ebx, 0x21
mov dword [esp + 0x28], ecx
mov cl, byte [ebx]
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
mov dword [esp + 0x104], ebx
ja case.default.0x44c264
movzx edx, byte [edx + 0x450ca0]
jmp dword [edx*4 + 0x450c98]
movsx ebx, byte [eax + 0x483cce]
add dword [esp + 0x104], 1
movsx edx, byte [eax + 0x483cc6]
add eax, 0xffffffba
mov ecx, eax
and ecx, 1
test ebx, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ebx
jne 0x44c2e7
mov ebx, 0x7fffffff
jmp 0x44c2e3
xor eax, eax
cmp cl, 0x4d
sete al
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x104]
mov bh, byte [eax + 3]
mov dh, byte [eax + 1]
mov bl, byte [eax + 4]
mov dl, byte [eax + 2]
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x44c2d0
mov ebx, 0x7fffffff
mov dword [esp + 0x10], ebx
add eax, 5
mov dword [esp + 0x104], eax
jmp 0x44c2e7
mov ebx, 1
mov edx, ebx
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x20], 0
je 0x44c3af
cmp edx, 1
mov dword [esp + 0x14], 1
jl 0x44c3f9
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx edi, byte [esi]
add esi, 1
cmp edi, 0xc0
jb 0x44c36d
mov ecx, edi
and ecx, 0x3f
movzx eax, byte [ecx + 0x483de0]
mov ecx, dword [eax*4 + 0x483dc4]
and ecx, edi
lea ebp, [eax + eax*2]
add ebp, ebp
mov edi, ecx
mov ecx, ebp
shl edi, cl
test eax, eax
jle 0x44c36d
lea ecx, [ecx]
movzx ebx, byte [esi]
sub ebp, 6
and ebx, 0x3f
mov ecx, ebp
shl ebx, cl
sub eax, 1
add esi, 1
or edi, ebx
test eax, eax
jg 0x44c350
mov ebx, dword [esp + 0x10]
cmp edi, 0xff
jbe 0x44c37c
cmp dword [esp + 0x2c], 0x4e
jmp 0x44c394
mov ecx, edi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x28]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, al
je case.0x4509a7.14
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, edx
mov dword [esp + 0x14], eax
jle 0x44c311
jmp 0x44c3f9
mov edi, 1
cmp edx, edi
jl 0x44c3f9
mov eax, dword [esp + 0x110]
mov ebp, dword [eax + 0x5c]
cmp esi, ebp
jae case.0x4509a7.14
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x28]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, bl
je case.0x4509a7.14
add edi, 1
cmp edi, edx
jle 0x44c3c2
mov ebx, dword [esp + 0x10]
cmp edx, ebx
je 0x44aca0
cmp dword [esp + 0x1c], 0
je 0x44fa2b
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
je 0x44f964
mov ebx, dword [esp + 0x120]
add ebx, 1
push ebx
push 0
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x120]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
lea esp, [esp]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jge case.0x4509a7.14
mov ecx, dword [esp + 0x110]
cmp esi, dword [ecx + 0x5c]
jae case.0x4509a7.14
movzx edi, byte [esi]
add esi, 1
cmp edi, 0xc0
jb 0x44c4d9
mov edx, edi
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea ebp, [eax + eax*2]
add ebp, ebp
and edx, edi
mov ecx, ebp
shl edx, cl
test eax, eax
mov edi, edx
jle 0x44c4d9
movzx edx, byte [esi]
sub ebp, 6
and edx, 0x3f
mov ecx, ebp
shl edx, cl
sub eax, 1
add esi, 1
or edi, edx
test eax, eax
jg 0x44c4c0
cmp edi, 0xff
jbe 0x44f8f2
cmp dword [esp + 0x2c], 0x4e
jmp 0x44f90a
xor edx, edx
mov dh, byte [ebx + 1]
lea ecx, [ebx + 3]
mov dword [esp + 0x28], ecx
mov dl, byte [ebx + 2]
mov cl, byte [ebx + edx]
movzx eax, cl
add ebx, edx
lea edx, [eax - 0x46]
cmp edx, 7
mov dword [esp + 0x104], ebx
ja case.default.0x44c520
movzx edx, byte [edx + 0x450cb0]
jmp dword [edx*4 + 0x450ca8]
movsx ebx, byte [eax + 0x483cc6]
add dword [esp + 0x104], 1
add eax, 0xffffffba
mov ecx, eax
movsx eax, byte [eax + 0x483d14]
and ecx, 1
test eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
jne 0x44c5a3
mov dword [esp + 0x10], 0x7fffffff
jmp 0x44c5a3
xor eax, eax
cmp cl, 0x4d
sete al
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x104]
mov ch, byte [eax + 3]
mov bh, byte [eax + 1]
mov cl, byte [eax + 4]
mov bl, byte [eax + 2]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x44c58e
mov dword [esp + 0x10], 0x7fffffff
add eax, 5
mov dword [esp + 0x104], eax
jmp 0x44c5a3
mov ebx, 1
mov dword [esp + 0x10], ebx
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x44c652
jmp 0x44c5c0
mov ecx, dword [esp + 0x110]
cmp esi, dword [ecx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44c629
cmp ebp, 0xc0
jb 0x44c629
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44c629
lea esp, [esp]
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44c610
mov eax, dword [esp + 0x28]
push eax
push ebp
call fcn.00452380
add esp, 8
test eax, eax
je case.0x4509a7.14
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x44c5c0
mov eax, dword [esp + 0x10]
cmp ebx, eax
je 0x44aca0
cmp dword [esp + 0x1c], 0
je 0x44fc5c
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x120]
add ebx, 1
push ebx
push 0
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
jmp 0x44c6c0
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x10]
jge case.0x4509a7.14
mov eax, dword [esp + 0x110]
cmp esi, dword [eax + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44c730
cmp ebp, 0xc0
jb 0x44c730
mov ecx, ebp
and ecx, 0x3f
movzx eax, byte [ecx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44c730
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44c717
mov eax, dword [esp + 0x28]
push eax
push ebp
call fcn.00452380
add esp, 8
test eax, eax
je case.0x4509a7.14
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
add dword [esp + 0x14], 1
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44c6c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp dword [esp + 0x20], ebp
je 0x44c805
mov eax, 1
movzx ecx, byte [ebx + eax]
add ebx, eax
cmp ecx, 0xc0
mov dword [esp + 0x104], ebx
jb 0x44c7c7
and ecx, 0x3f
movzx eax, byte [ecx + 0x483de0]
add eax, 1
mov ecx, dword [edx + 0x5c]
sub ecx, esi
cmp eax, ecx
jg case.0x4509a7.14
cmp eax, ebp
jle 0x44aca0
lea esp, [esp]
mov dl, byte [ebx]
mov cl, byte [esi]
add ebx, 1
sub eax, 1
add esi, 1
cmp dl, cl
mov dword [esp + 0x104], ebx
jne case.0x4509a7.14
test eax, eax
jg 0x44c7e0
jmp 0x44aca0
mov edx, dword [edx + 0x5c]
sub edx, esi
cmp edx, 1
jl case.0x4509a7.14
mov al, byte [esi]
add esi, 1
cmp byte [ebx + 1], al
jne case.0x4509a7.14
add ebx, 2
mov dword [esp + 0x104], ebx
jmp 0x44aca0
cmp dword [esp + 0x20], ebp
je 0x44c969
mov eax, dword [esp + 0x104]
mov ebx, 1
movzx ebp, byte [eax + ebx]
add eax, ebx
mov edx, ebp
cmp edx, 0xc0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x104], eax
jb 0x44c8b3
mov ecx, edx
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, edx
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
cmp edi, ebx
mov edx, eax
mov eax, ebx
jl 0x44c8ac
jmp 0x44c890
mov ebx, dword [esp + 0x104]
movzx ebx, byte [eax + ebx]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or edx, ebx
cmp eax, edi
jle 0x44c890
lea ebx, [edi + 1]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x5c]
sub ecx, esi
cmp ebx, ecx
jg case.0x4509a7.14
cmp edx, 0x80
jae 0x44c8f9
movzx edx, byte [esi]
mov eax, dword [eax + 0x24]
mov cl, byte [edx + eax]
add dword [esp + 0x104], 1
add esi, 1
cmp byte [eax + ebp], cl
je 0x44aca0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x44c94d
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov ecx, dword [eax*4 + 0x483dc4]
and ecx, ebp
lea edi, [eax + eax*2]
add edi, edi
mov ebp, ecx
mov ecx, edi
shl ebp, cl
test eax, eax
jle 0x44c94d
jmp 0x44c930
movzx ebx, byte [esi]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
sub eax, 1
add esi, 1
or ebp, ebx
test eax, eax
jg 0x44c930
mov ebx, dword [esp + 0x18]
add dword [esp + 0x104], ebx
cmp edx, ebp
je 0x44aca0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov ecx, dword [edx + 0x5c]
sub ecx, esi
cmp ecx, 1
jl case.0x4509a7.14
mov eax, dword [edx + 0x24]
movzx ecx, byte [esi]
movzx edx, byte [ebx + 1]
mov cl, byte [ecx + eax]
add esi, 1
cmp byte [edx + eax], cl
jne case.0x4509a7.14
add ebx, 2
mov dword [esp + 0x104], ebx
jmp 0x44aca0
mov eax, dword [esp + 0x104]
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 3
mov dword [esp + 0x104], eax
mov bl, byte [eax - 1]
mov dword [esp + 0x10], ebx
jmp 0x44ca78
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x104]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
xor ebx, ebx
cmp byte [eax], 0x26
sete cl
add eax, 3
mov dl, byte [eax - 1]
mov dword [esp + 0x104], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
jmp 0x44ca78
mov eax, 1
xor ebx, ebx
add dword [esp + 0x104], eax
mov dword [esp + 0x28], eax
jmp 0x44ca70
mov ebx, 1
add dword [esp + 0x104], ebx
mov dword [esp + 0x28], ebx
jmp 0x44ca70
mov eax, 1
xor ebx, ebx
add dword [esp + 0x104], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], eax
jmp 0x44ca78
mov ecx, dword [esp + 0x104]
movzx eax, byte [ecx]
movsx ebx, byte [eax + 0x483ced]
add ecx, 1
sub eax, 0x1f
mov dword [esp + 0x104], ecx
mov ecx, eax
movsx eax, byte [eax + 0x483d14]
and ecx, 1
test eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
jne 0x44ca78
mov dword [esp + 0x10], 0x7fffffff
cmp dword [esp + 0x20], 0
je 0x44cd6b
mov ecx, dword [esp + 0x104]
movzx ebp, byte [ecx]
cmp ebp, 0xc0
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ecx
jb 0x44caf5
mov edx, ebp
and edx, 0x3f
movzx edi, byte [edx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44caec
lea esp, [esp]
mov edx, dword [esp + 0x104]
movzx edx, byte [eax + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add eax, 1
or ebp, edx
cmp eax, edi
jle 0x44cad0
add edi, 1
mov dword [esp + 0x18], edi
mov eax, edi
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x5c]
mov edi, ebx
imul edi, eax
mov dword [esp + 0x24], edx
sub edx, esi
cmp edi, edx
jg case.0x4509a7.14
add dword [esp + 0x104], eax
cmp eax, 1
jle 0x44cd97
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x44cbdc
mov eax, dword [esp + 0x18]
cmp eax, 4
mov ecx, dword [esp + 0x2c]
mov edx, esi
jb 0x44cb56
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x44cb5e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x44cb42
test eax, eax
je 0x44cbbb
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x44cbad
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44cbbb
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x44cbad
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44cbbb
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x44cbad
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44cbbb
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x44cbbb
test edi, edi
mov eax, 1
jg 0x44cbbd
or eax, 0xffffffff
jmp 0x44cbbd
xor eax, eax
test eax, eax
jne case.0x4509a7.14
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x18]
add eax, 1
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x44cb33
cmp ebx, dword [esp + 0x10]
je 0x44aca0
cmp dword [esp + 0x1c], 0
jne 0x44fdb0
cmp ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
jge 0x44ccc0
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
jmp 0x44cc14
mov eax, dword [esp + 0x24]
cmp esi, eax
ja 0x44ccc0
mov eax, dword [esp + 0x18]
cmp eax, 4
mov ecx, dword [esp + 0x2c]
mov edx, esi
jb 0x44cc44
jmp 0x44cc30
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x44cc4c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x44cc30
test eax, eax
je 0x44cca9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x44cc9b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44cca9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x44cc9b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44cca9
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x44cc9b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44cca9
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x44cca9
test edi, edi
mov eax, 1
jg 0x44ccab
or eax, 0xffffffff
jmp 0x44ccab
xor eax, eax
test eax, eax
jne 0x44ccc0
add esi, dword [esp + 0x18]
add ebx, 1
cmp ebx, dword [esp + 0x10]
jl 0x44cc10
cmp dword [esp + 0x28], 0
jne 0x44aca0
mov edi, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
add edi, 1
push edi
push 0
push ecx
mov ecx, dword [esp + 0x114]
push ebp
push edx
push eax
push ecx
push ebx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
lea esp, [esp]
cmp esi, dword [esp + 0x1c]
je case.0x4509a7.14
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
sub esi, dword [esp + 0x18]
push edi
push 0
push edx
mov edx, dword [esp + 0x114]
push ebp
push eax
push ecx
push edx
push ebx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44cd20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
sub eax, esi
cmp ebx, eax
jg case.0x4509a7.14
mov eax, dword [esp + 0x104]
movzx ebp, byte [eax]
add eax, 1
mov dword [esp + 0x104], eax
mov eax, 1
test byte [esp + 0x114], al
je 0x44ce8e
cmp ebx, eax
mov ecx, dword [ecx + 0x24]
movzx edx, byte [ecx + ebp]
mov dword [esp + 0x18], edx
jl 0x44cdd9
jmp 0x44cdc0
movzx edi, byte [esi]
movzx edi, byte [edi + ecx]
add esi, 1
cmp edx, edi
jne case.0x4509a7.14
add eax, 1
cmp eax, ebx
jle 0x44cdc0
cmp ebx, dword [esp + 0x10]
je 0x44aca0
cmp dword [esp + 0x1c], 0
jne 0x44ff1a
mov eax, dword [esp + 0x10]
cmp ebx, eax
mov dword [esp + 0x1c], esi
jge 0x44ce19
mov edi, dword [esp + 0x24]
mov edi, edi
cmp esi, edi
jae 0x44ce19
movzx ebp, byte [esi]
movzx ebp, byte [ecx + ebp]
cmp edx, ebp
jne 0x44ce19
add ebx, 1
add esi, 1
cmp ebx, eax
jl 0x44ce00
cmp dword [esp + 0x28], 0
jne 0x44aca0
cmp esi, dword [esp + 0x1c]
jb 0x44ce81
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0x108]
add edi, 1
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push edi
push 0
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push ebp
push ebx
push esi
call fcn.0044ac30
add esp, 0x24
sub esi, 1
test eax, eax
jne 0x450aef
cmp esi, dword [esp + 0x1c]
jae 0x44ce42
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
cmp ebx, 1
jl 0x44cea8
movzx edx, byte [esi]
add esi, 1
cmp ebp, edx
jne case.0x4509a7.14
add eax, 1
cmp eax, ebx
jle 0x44ce93
cmp ebx, dword [esp + 0x10]
je 0x44aca0
cmp dword [esp + 0x1c], 0
jne 0x44ffe1
mov eax, dword [esp + 0x10]
cmp ebx, eax
mov edx, esi
mov dword [esp + 0x1c], edx
jge 0x44cee5
mov ecx, dword [esp + 0x24]
nop
cmp esi, ecx
jae 0x44cee5
movzx edi, byte [esi]
cmp ebp, edi
jne 0x44cee5
add ebx, 1
add esi, 1
cmp ebx, eax
jl 0x44ced0
cmp dword [esp + 0x28], 0
jne 0x44aca0
cmp esi, edx
jb 0x44cf4f
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x104]
mov edi, dword [esp + 0x108]
add ebx, 1
lea esp, [esp]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push edi
push ebp
push esi
call fcn.0044ac30
add esp, 0x24
sub esi, 1
test eax, eax
jne 0x450aef
cmp esi, dword [esp + 0x1c]
jae 0x44cf10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add ebx, 1
add esi, 1
cmp dword [esp + 0x20], 0
je 0x44cfba
cmp ebp, 0xc0
jb 0x44cfba
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x44cfba
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x44cfa1
test byte [esp + 0x114], 1
je 0x44d00a
cmp ebp, 0x100
jae 0x44cfda
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x24]
movzx ebp, byte [ecx + ebp]
movzx edx, byte [ebx]
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x24]
movzx edx, byte [ecx + edx]
add ebx, 1
cmp edx, ebp
mov dword [esp + 0x104], ebx
jne 0x44aca0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
movzx eax, byte [ebx]
add ebx, 1
cmp eax, ebp
mov dword [esp + 0x104], ebx
jne 0x44aca0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x104]
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 3
mov dword [esp + 0x104], eax
mov bl, byte [eax - 1]
mov edx, ebx
jmp 0x44d11b
mov edi, dword [esp + 0x104]
xor ebx, ebx
mov bh, byte [edi + 1]
xor ecx, ecx
xor edx, edx
cmp byte [edi], 0x33
sete cl
add edi, 3
mov bl, byte [edi - 1]
mov dword [esp + 0x104], edi
mov dword [esp + 0x1c], ecx
jmp 0x44d11b
mov eax, 1
xor edx, edx
add dword [esp + 0x104], eax
mov dword [esp + 0x28], eax
jmp 0x44d116
mov edx, 1
add dword [esp + 0x104], edx
mov dword [esp + 0x28], edx
jmp 0x44d116
mov ebx, 1
xor edx, edx
add dword [esp + 0x104], ebx
mov dword [esp + 0x28], ebx
jmp 0x44d11b
mov eax, dword [esp + 0x104]
xor ebx, ebx
mov bh, byte [eax + 1]
xor edx, edx
add eax, 3
mov dword [esp + 0x28], 1
mov dword [esp + 0x104], eax
mov bl, byte [eax - 1]
jmp 0x44d11b
mov ecx, dword [esp + 0x104]
movzx eax, byte [ecx]
movsx ebx, byte [eax + 0x483ce8]
movsx edx, byte [eax + str.ANYCRLF_]
sub eax, 0x2c
add ecx, 1
mov dword [esp + 0x104], ecx
mov ecx, eax
and ecx, 1
test ebx, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ebx
jne 0x44d11f
mov ebx, 0x7fffffff
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
sub eax, esi
cmp edx, eax
jg case.0x4509a7.14
mov edi, dword [esp + 0x104]
movzx ebp, byte [edi]
mov eax, 1
add edi, eax
test byte [esp + 0x114], al
mov dword [esp + 0x18], ebp
mov dword [esp + 0x104], edi
je 0x44d44e
mov edi, dword [ecx + 0x24]
movzx ecx, byte [edi + ebp]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov dword [esp + 0x2c], edi
je 0x44d20e
cmp edx, eax
mov dword [esp + 0x14], eax
jl 0x44d234
jmp 0x44d190
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x44d1db
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov ebx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and ebx, ebp
mov ecx, edi
shl ebx, cl
test eax, eax
mov ebp, ebx
jle 0x44d1db
movzx ebx, byte [esi]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
sub eax, 1
add esi, 1
or ebp, ebx
test eax, eax
jg 0x44d1c2
cmp ebp, 0x100
jae 0x44d1eb
mov ecx, dword [esp + 0x2c]
movzx ebp, byte [ecx + ebp]
cmp dword [esp + 0x18], ebp
je case.0x4509a7.14
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, edx
mov dword [esp + 0x14], eax
jle 0x44d190
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
jmp 0x44d234
cmp edx, 1
jl 0x44d234
jmp 0x44d219
mov edi, dword [esp + 0x2c]
movzx ebp, byte [esi]
movzx edi, byte [edi + ebp]
add esi, 1
cmp dword [esp + 0x18], edi
je case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44d215
cmp edx, ebx
je 0x44aca0
cmp dword [esp + 0x1c], 0
jne 0x4500a6
test ecx, ecx
mov dword [esp + 0x1c], esi
je 0x44d3a9
cmp edx, ebx
mov dword [esp + 0x14], edx
jge 0x44d2e0
nop
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44d2e0
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44d2b9
mov edx, ebp
and edx, 0x3f
movzx edi, byte [edx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44d2b6
movzx edx, byte [eax + esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add eax, 1
or ebp, edx
cmp eax, edi
jle 0x44d2a1
add edi, 1
cmp ebp, 0x100
jae 0x44d2c9
mov eax, dword [esp + 0x2c]
movzx ebp, byte [eax + ebp]
cmp dword [esp + 0x18], ebp
je 0x44d2e0
mov eax, dword [esp + 0x14]
add eax, 1
add esi, edi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x44d260
cmp dword [esp + 0x28], 0
jne 0x44aca0
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov ebp, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
add edi, 1
push edi
push 0
push ebx
push eax
mov eax, dword [esp + 0x114]
push ecx
push ebp
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
lea esp, [esp]
mov ecx, esi
sub esi, 1
cmp ecx, dword [esp + 0x1c]
je 0x44d441
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x44d36c
lea esp, [esp]
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x44d360
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push edi
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44d340
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp edx, ebx
jge 0x44d3d9
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
lea esp, [esp]
cmp esi, edi
jae 0x44d3d9
movzx ebp, byte [esi]
movzx ebp, byte [eax + ebp]
cmp ecx, ebp
je 0x44d3d9
add edx, 1
add esi, 1
cmp edx, ebx
jl 0x44d3c0
cmp dword [esp + 0x28], 0
jne 0x44aca0
cmp esi, dword [esp + 0x1c]
jb 0x44d441
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x10c]
add edi, 1
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push edi
push 0
push ebx
push edx
mov edx, dword [esp + 0x114]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
sub esi, 1
cmp esi, dword [esp + 0x1c]
jae 0x44d402
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x44d4de
cmp edx, eax
mov dword [esp + 0x14], eax
jl 0x44d4f8
jmp 0x44d470
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x44d4bb
mov ecx, ebp
and ecx, 0x3f
movzx eax, byte [ecx + 0x483de0]
mov ebx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and ebx, ebp
mov ecx, edi
shl ebx, cl
test eax, eax
mov ebp, ebx
jle 0x44d4bb
movzx ebx, byte [esi]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
sub eax, 1
add esi, 1
or ebp, ebx
test eax, eax
jg 0x44d4a2
cmp dword [esp + 0x18], ebp
je case.0x4509a7.14
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, edx
mov dword [esp + 0x14], eax
jle 0x44d470
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
jmp 0x44d4f8
cmp edx, 1
jl 0x44d4f8
movzx edi, byte [esi]
add esi, 1
cmp ebp, edi
je case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44d4e3
cmp edx, ebx
je 0x44aca0
cmp dword [esp + 0x1c], 0
jne 0x450298
test ecx, ecx
mov edi, esi
mov dword [esp + 0x1c], edi
je 0x44d669
cmp edx, ebx
mov dword [esp + 0x14], edx
jge 0x44d5a0
jmp 0x44d530
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44d5a0
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44d589
mov edx, ebp
and edx, 0x3f
movzx edi, byte [edx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44d586
movzx edx, byte [eax + esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add eax, 1
or ebp, edx
cmp eax, edi
jle 0x44d571
add edi, 1
cmp dword [esp + 0x18], ebp
je 0x44d5a0
mov eax, dword [esp + 0x14]
add eax, 1
add esi, edi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x44d530
cmp dword [esp + 0x28], 0
jne 0x44aca0
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov ebp, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
add edi, 1
push edi
push 0
push ebx
push eax
mov eax, dword [esp + 0x114]
push ecx
push ebp
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
lea esp, [esp]
mov ecx, esi
sub esi, 1
cmp ecx, dword [esp + 0x1c]
je 0x44d6f0
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x44d62c
lea esp, [esp]
mov al, byte [esi - 1]
sub esi, 1
and al, 0xc0
cmp al, 0x80
je 0x44d620
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push edi
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44d600
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp edx, ebx
jge 0x44d68a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp esi, ecx
jae 0x44d68a
movzx ebp, byte [esi]
cmp eax, ebp
je 0x44d68a
add edx, 1
add esi, 1
cmp edx, ebx
jl 0x44d675
cmp dword [esp + 0x28], 0
jne 0x44aca0
cmp esi, edi
jb 0x44d6f0
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x10c]
add edi, 1
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push edi
push 0
push ebx
push edx
mov edx, dword [esp + 0x114]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
sub esi, 1
cmp esi, dword [esp + 0x1c]
jae 0x44d6b1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
xor edx, edx
mov dh, byte [ebx + 1]
mov dword [esp + 0x1c], 1
add ebx, 3
mov dl, byte [ebx - 1]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
jmp 0x44d7d7
xor eax, eax
mov ah, byte [ebx + 1]
xor ecx, ecx
xor edx, edx
cmp byte [ebx], 0x40
mov dword [esp + 0x18], edx
sete cl
add ebx, 3
mov al, byte [ebx - 1]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
jmp 0x44d7d7
xor edx, edx
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], edx
add ebx, 1
jmp 0x44d7cf
mov edx, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], edx
add ebx, edx
jmp 0x44d7cf
mov eax, 1
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
add ebx, eax
jmp 0x44d7d7
xor eax, eax
mov ah, byte [ebx + 1]
xor edx, edx
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], edx
add ebx, 3
mov al, byte [ebx - 1]
mov dword [esp + 0x10], eax
jmp 0x44d7d7
movzx eax, byte [ebx]
movsx edx, byte [eax + 0x483cd3]
sub eax, 0x39
mov ecx, eax
movsx eax, byte [eax + 0x483d14]
and ecx, 1
add ebx, 1
test eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
jne 0x44d7d7
mov dword [esp + 0x10], 0x7fffffff
movzx eax, byte [ebx]
mov ebp, dword [esp + 0x110]
mov edi, 1
add ebx, edi
mov dword [esp + 0x104], ebx
mov ebx, dword [ebp + 0x5c]
mov ecx, ebx
sub ecx, esi
cmp edx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ebx
jg case.0x4509a7.14
test edx, edx
jle 0x44e1d5
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
je 0x44deeb
cmp eax, 0xf
ja case.0x45098d.15
jmp dword [eax*4 + 0x450cb8]
cmp edx, 1
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x44d874
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x110]
push edx
add ecx, 0x1c
push ecx
push ebx
push eax
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne case.0x4509a7.14
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x110]
jmp 0x44d899
mov eax, dword [ebp + 0x1c]
sub ebx, eax
cmp esi, ebx
ja 0x44d899
mov cl, byte [esi]
cmp cl, byte [ebp + 0x20]
jne 0x44d899
cmp eax, 1
je case.0x4509a7.14
mov al, byte [esi + 1]
cmp al, byte [ebp + 0x21]
je case.0x4509a7.14
mov ebx, dword [ebp + 0x5c]
add esi, 1
cmp esi, ebx
jae 0x44d8b4
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44d8b4
add esi, 1
cmp esi, ebx
jb 0x44d8a3
add edi, 1
cmp edi, edx
jle 0x44d835
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d1
mov edi, edi
cmp esi, ebx
jae case.0x4509a7.14
add esi, edi
cmp esi, ebx
jae 0x44d8f3
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44d8f3
add esi, edi
mov ecx, ebp
cmp esi, dword [ecx + 0x5c]
jb 0x44d8e0
add eax, 1
cmp eax, edx
jle 0x44d8d0
jmp 0x44e1d5
cmp edx, edi
mov ebx, edi
jl 0x44e1d1
lea esp, [esp]
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx edi, byte [esi]
add esi, 1
cmp edi, 0xc0
jb 0x44d96d
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov ecx, dword [eax*4 + 0x483dc4]
and ecx, edi
lea ebp, [eax + eax*2]
add ebp, ebp
mov edi, ecx
mov ecx, ebp
shl edi, cl
test eax, eax
jle 0x44d96d
lea esp, [esp]
movzx edx, byte [esi]
sub ebp, 6
and edx, 0x3f
mov ecx, ebp
shl edx, cl
sub eax, 1
add esi, 1
or edi, edx
test eax, eax
jg 0x44d950
mov edx, dword [esp + 0x18]
cmp edi, 0xd
ja 0x44d994
je 0x44d984
cmp edi, 0xa
je 0x44d9c5
jbe case.0x4509a7.14
cmp edi, 0xc
jmp 0x44d9ae
cmp esi, dword [esp + 0x24]
jae 0x44d9c5
cmp byte [esi], 0xa
jne 0x44d9c5
add esi, 1
jmp 0x44d9c5
cmp edi, 0x85
je 0x44d9b4
cmp edi, 0x2027
jbe case.0x4509a7.14
cmp edi, 0x2029
ja case.0x4509a7.14
mov eax, dword [esp + 0x110]
cmp dword [eax + 0x50], 0
jne case.0x4509a7.14
add ebx, 1
cmp ebx, edx
jle 0x44d910
jmp 0x44e1d5
cmp edx, edi
mov dword [esp + 0x14], edi
jl 0x44e1d1
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x44da39
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov ebx, dword [edi*4 + 0x483dc4]
lea ebp, [edi + edi*2]
add ebp, ebp
and ebx, eax
mov ecx, ebp
shl ebx, cl
test edi, edi
mov eax, ebx
jle 0x44da39
lea esp, [esp]
movzx ebx, byte [esi]
sub ebp, 6
and ebx, 0x3f
mov ecx, ebp
shl ebx, cl
sub edi, 1
add esi, 1
or eax, ebx
test edi, edi
jg 0x44da20
cmp eax, 0x180e
ja 0x44da68
je case.0x4509a7.14
cmp eax, 0xa0
ja 0x44da61
je case.0x4509a7.14
cmp eax, 9
je case.0x4509a7.14
cmp eax, 0x20
jmp 0x44da93
cmp eax, 0x1680
jmp 0x44da93
cmp eax, 0x205f
ja 0x44da8e
je case.0x4509a7.14
cmp eax, 0x2000
jb 0x44da99
cmp eax, 0x200a
jbe case.0x4509a7.14
cmp eax, 0x202f
jmp 0x44da93
cmp eax, 0x3000
je case.0x4509a7.14
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, edx
mov dword [esp + 0x14], eax
jle 0x44d9e1
jmp 0x44e1d5
cmp edx, edi
mov ebx, edi
jl 0x44e1d1
jmp 0x44dac0
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x44db1d
mov ecx, eax
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov ecx, dword [edi*4 + 0x483dc4]
and ecx, eax
lea ebp, [edi + edi*2]
add ebp, ebp
mov eax, ecx
mov ecx, ebp
shl eax, cl
test edi, edi
jle 0x44db1d
jmp 0x44db00
movzx edx, byte [esi]
sub ebp, 6
and edx, 0x3f
mov ecx, ebp
shl edx, cl
sub edi, 1
add esi, 1
or eax, edx
test edi, edi
jg 0x44db00
mov edx, dword [esp + 0x18]
cmp eax, 0x180e
ja 0x44db40
je 0x44db6d
cmp eax, 0xa0
ja 0x44db39
je 0x44db6d
cmp eax, 9
je 0x44db6d
cmp eax, 0x20
jmp 0x44db67
cmp eax, 0x1680
jmp 0x44db67
cmp eax, 0x205f
ja 0x44db62
je 0x44db6d
cmp eax, 0x2000
jb case.0x4509a7.14
cmp eax, 0x200a
jbe 0x44db6d
cmp eax, 0x202f
jmp 0x44db67
cmp eax, 0x3000
jne case.0x4509a7.14
add ebx, 1
cmp ebx, edx
jle 0x44dac0
jmp 0x44e1d5
mov edx, edi
cmp dword [esp + 0x18], edx
jl 0x44e1d1
lea esp, [esp]
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x44dbe9
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov ebx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and ebx, ebp
mov ecx, edi
shl ebx, cl
test eax, eax
mov ebp, ebx
jle 0x44dbe9
lea esp, [esp]
movzx ebx, byte [esi]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
sub eax, 1
add esi, 1
or ebp, ebx
test eax, eax
jg 0x44dbd0
cmp ebp, 0x85
ja 0x44dc01
je case.0x4509a7.14
cmp ebp, 0xa
jb 0x44dc15
cmp ebp, 0xd
jmp 0x44dc0f
cmp ebp, 0x2028
jb 0x44dc15
cmp ebp, 0x2029
jbe case.0x4509a7.14
add edx, 1
cmp edx, dword [esp + 0x18]
jle 0x44db90
jmp 0x44e1d1
mov edx, edi
cmp dword [esp + 0x18], edx
jl 0x44e1d1
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x44dc89
mov ecx, ebp
and ecx, 0x3f
movzx eax, byte [ecx + 0x483de0]
mov ebx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and ebx, ebp
mov ecx, edi
shl ebx, cl
test eax, eax
mov ebp, ebx
jle 0x44dc89
nop
movzx ebx, byte [esi]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
sub eax, 1
add esi, 1
or ebp, ebx
test eax, eax
jg 0x44dc70
cmp ebp, 0x85
ja 0x44dca1
je 0x44dcb9
cmp ebp, 0xa
jb case.0x4509a7.14
cmp ebp, 0xd
jmp 0x44dcb3
cmp ebp, 0x2028
jb case.0x4509a7.14
cmp ebp, 0x2029
ja case.0x4509a7.14
add edx, 1
cmp edx, dword [esp + 0x18]
jle 0x44dc33
jmp 0x44e1d1
mov edx, edi
cmp dword [esp + 0x18], edx
jl 0x44e1d1
jmp 0x44dce0
cmp esi, dword [esp + 0x24]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x44dd39
mov eax, ebp
and eax, 0x3f
movzx eax, byte [eax + 0x483de0]
mov ebx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and ebx, ebp
mov ecx, edi
shl ebx, cl
test eax, eax
mov ebp, ebx
jle 0x44dd39
lea esp, [esp]
movzx ebx, byte [esi]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
sub eax, 1
add esi, 1
or ebp, ebx
test eax, eax
jg 0x44dd20
cmp ebp, 0x80
jae 0x44dd55
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 4
jne case.0x4509a7.14
add edx, 1
cmp edx, dword [esp + 0x18]
jle 0x44dce0
jmp 0x44e1d1
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
jmp 0x44dd77
mov ebp, dword [esp + 0x110]
cmp esi, ebx
jae case.0x4509a7.14
mov al, byte [esi]
cmp al, 0x80
jae case.0x4509a7.14
mov edi, dword [ebp + 0x28]
movzx eax, al
mov al, byte [eax + edi]
and al, 4
add esi, 1
test al, al
je case.0x4509a7.14
add ecx, 1
cmp ecx, edx
jle 0x44dd70
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
mov al, byte [esi]
cmp al, 0x80
jae 0x44ddd4
mov edi, dword [ebp + 0x28]
movzx eax, al
test byte [eax + edi], 1
jne case.0x4509a7.14
add esi, 1
cmp esi, ebx
jae 0x44ddea
mov al, byte [esi]
mov ebp, dword [esp + 0x110]
and al, 0xc0
cmp al, 0x80
je 0x44ddd4
add ecx, 1
cmp ecx, edx
jle 0x44ddb6
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
jmp 0x44de17
mov ebp, dword [esp + 0x110]
cmp esi, ebx
jae case.0x4509a7.14
mov al, byte [esi]
cmp al, 0x80
jae case.0x4509a7.14
mov edi, dword [ebp + 0x28]
movzx eax, al
mov al, byte [eax + edi]
and al, 1
add esi, 1
test al, al
je case.0x4509a7.14
add ecx, 1
cmp ecx, edx
jle 0x44de10
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
mov al, byte [esi]
cmp al, 0x80
jae 0x44de74
mov edi, dword [ebp + 0x28]
movzx eax, al
test byte [eax + edi], 0x10
jne case.0x4509a7.14
add esi, 1
cmp esi, ebx
jae 0x44de8a
mov al, byte [esi]
mov ebp, dword [esp + 0x110]
and al, 0xc0
cmp al, 0x80
je 0x44de74
add ecx, 1
cmp ecx, edx
jle 0x44de56
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
jmp 0x44deb7
mov ebp, dword [esp + 0x110]
cmp esi, ebx
jae case.0x4509a7.14
mov al, byte [esi]
cmp al, 0x80
jae case.0x4509a7.14
mov edi, dword [ebp + 0x28]
movzx eax, al
mov al, byte [eax + edi]
and al, 0x10
add esi, 1
test al, al
je case.0x4509a7.14
add ecx, 1
cmp ecx, edx
jle 0x44deb0
jmp 0x44e1d5
cmp eax, 0xf
ja case.0x45098d.15
jmp dword [eax*4 + 0x450cf8]
cmp edx, 1
jl 0x44e1d1
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x44df3f
mov eax, dword [ebp + 0x5c]
cmp esi, eax
jae 0x44df67
mov edx, dword [esp + 0x110]
push 0
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne case.0x4509a7.14
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x110]
jmp 0x44df67
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x5c]
sub ecx, eax
cmp esi, ecx
ja 0x44df67
mov cl, byte [esi]
cmp cl, byte [ebp + 0x20]
jne 0x44df67
cmp eax, 1
je case.0x4509a7.14
mov al, byte [esi + 1]
cmp al, byte [ebp + 0x21]
je case.0x4509a7.14
add edi, 1
add esi, 1
cmp edi, edx
jle 0x44df04
jmp 0x44e1d5
add esi, edx
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
movzx eax, byte [esi]
sub eax, 0xa
add esi, edi
cmp eax, 0x7b
ja case.0x4509a7.14
movzx eax, byte [eax + 0x450d48]
jmp dword [eax*4 + 0x450d38]
cmp esi, ebx
jae case.0x44dfa8.10
cmp byte [esi], 0xa
jne case.0x44dfa8.10
add esi, edi
jmp case.0x44dfa8.10
cmp dword [ebp + 0x50], 0
jne case.0x4509a7.14
add ecx, edi
cmp ecx, edx
jle 0x44df88
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
lea esp, [esp]
cmp esi, ebx
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, edi
cmp eax, 9
je case.0x4509a7.14
cmp eax, 0x20
je case.0x4509a7.14
cmp eax, 0xa0
je case.0x4509a7.14
add ecx, edi
cmp ecx, edx
jle 0x44dfe0
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, edi
cmp eax, 9
je 0x44e042
cmp eax, 0x20
je 0x44e042
cmp eax, 0xa0
jne case.0x4509a7.14
add ecx, edi
cmp ecx, edx
jle 0x44e020
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, edi
cmp eax, 0xa
jl 0x44e07e
cmp eax, 0xd
jle case.0x4509a7.14
cmp eax, 0x85
je case.0x4509a7.14
add ecx, edi
cmp ecx, edx
jle 0x44e058
jmp 0x44e1d5
cmp edx, 1
mov ecx, edi
jl 0x44e1d1
cmp esi, ebx
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, edi
cmp eax, 0xa
jl case.0x4509a7.14
cmp eax, 0xd
jle 0x44e0ba
cmp eax, 0x85
jne case.0x4509a7.14
add ecx, edi
cmp ecx, edx
jle 0x44e094
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d1
mov ecx, dword [ebp + 0x28]
movzx edi, byte [esi]
mov bl, byte [edi + ecx]
and bl, 4
add esi, 1
test bl, bl
jne case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44e0d2
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d1
mov ecx, dword [ebp + 0x28]
nop
movzx edi, byte [esi]
mov bl, byte [edi + ecx]
and bl, 4
add esi, 1
test bl, bl
je case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44e100
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d1
mov ecx, dword [ebp + 0x28]
lea ecx, [ecx]
movzx edi, byte [esi]
mov bl, byte [edi + ecx]
and bl, 1
add esi, 1
test bl, bl
jne case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44e130
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d1
mov ecx, dword [ebp + 0x28]
lea ecx, [ecx]
movzx edi, byte [esi]
mov bl, byte [edi + ecx]
and bl, 1
add esi, 1
test bl, bl
je case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44e160
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d1
mov ecx, dword [ebp + 0x28]
lea esp, [esp]
movzx edi, byte [esi]
mov bl, byte [edi + ecx]
and bl, 0x10
add esi, 1
test bl, bl
jne case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44e190
jmp 0x44e1d5
cmp edx, edi
mov eax, edi
jl 0x44e1d5
mov ecx, dword [ebp + 0x28]
movzx edi, byte [esi]
mov bl, byte [edi + ecx]
and bl, 0x10
add esi, 1
test bl, bl
je case.0x4509a7.14
add eax, 1
cmp eax, edx
jle 0x44e1b6
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
je 0x44aca0
cmp dword [esp + 0x1c], 0
jne 0x450481
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffa
cmp dword [esp + 0x20], 0
mov dword [esp + 0x1c], esi
je 0x44eb4b
cmp eax, 0xf
ja case.0x45098d.15
jmp dword [eax*4 + 0x450dc4]
mov ebp, dword [esp + 0x10]
cmp ebp, 0x7fffffff
mov edi, edx
jge 0x44e2c0
cmp edx, ebp
jge 0x44ea8c
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 0x5c]
cmp esi, eax
jae 0x44ea8c
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x44e273
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x114]
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne 0x44ea8c
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x110]
jmp 0x44e298
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44e298
mov al, byte [esi]
cmp al, byte [edx + 0x20]
jne 0x44e298
cmp ecx, 1
je 0x44ea8c
mov cl, byte [esi + 1]
cmp cl, byte [edx + 0x21]
je 0x44ea8c
add esi, 1
cmp esi, dword [edx + 0x5c]
jae 0x44e2b0
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44e2b0
add esi, 1
cmp esi, dword [edx + 0x5c]
jb 0x44e2a0
add edi, 1
cmp edi, ebp
jl 0x44e231
jmp 0x44ea8c
cmp edx, ebp
jge 0x44ea8c
mov edx, dword [esp + 0x110]
nop
mov eax, dword [edx + 0x5c]
cmp esi, eax
jae 0x44ea8c
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x44e312
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x114]
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne 0x44ea8c
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x110]
jmp 0x44e337
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44e337
mov al, byte [esi]
cmp al, byte [edx + 0x20]
jne 0x44e337
cmp ecx, 1
je 0x44ea8c
mov cl, byte [esi + 1]
cmp cl, byte [edx + 0x21]
je 0x44ea8c
add esi, 1
cmp esi, dword [edx + 0x5c]
jae 0x44e350
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44e350
add esi, 1
cmp esi, dword [edx + 0x5c]
jb 0x44e340
add edi, 1
cmp edi, ebp
jl 0x44e2d0
jmp 0x44ea8c
mov ebp, dword [esp + 0x10]
cmp ebp, 0x7fffffff
jge 0x44e3ad
cmp edx, ebp
mov eax, edx
jge 0x44ea8c
mov edi, dword [esp + 0x110]
mov ecx, dword [edi + 0x5c]
cmp esi, ecx
jae 0x44ea8c
add esi, 1
cmp esi, ecx
jae 0x44e3a1
nop
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x44e3a1
add esi, 1
cmp esi, ecx
jb 0x44e390
add eax, 1
cmp eax, ebp
jl 0x44e380
jmp 0x44ea8c
mov eax, dword [esp + 0x110]
mov esi, dword [eax + 0x5c]
jmp 0x44ea8c
mov ecx, dword [esp + 0x10]
sub ecx, edx
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 0x5c]
sub eax, esi
cmp ecx, eax
jbe 0x44e3d4
mov ecx, eax
add esi, ecx
jmp 0x44ea8c
cmp edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jge 0x44ea8c
mov eax, dword [esp + 0x110]
mov ebx, dword [eax + 0x5c]
cmp esi, ebx
mov ebp, 1
jae 0x44ea8c
movzx edi, byte [esi]
cmp edi, 0xc0
jb 0x44e44b
mov ecx, edi
and ecx, 0x3f
movzx ebp, byte [ecx + 0x483de0]
mov edx, dword [ebp*4 + 0x483dc4]
lea ecx, [ebp + ebp*2]
and edx, edi
add ecx, ecx
shl edx, cl
mov eax, 1
cmp ebp, eax
mov edi, edx
jl 0x44e448
movzx edx, byte [eax + esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add eax, 1
or edi, edx
cmp eax, ebp
jle 0x44e433
add ebp, 1
cmp edi, 0xd
jne 0x44e465
add esi, 1
cmp esi, ebx
jae 0x44ea8c
cmp byte [esi], 0xa
jne 0x44e4a3
add esi, 1
jmp 0x44e4a3
cmp edi, 0xa
je 0x44e4a1
mov eax, dword [esp + 0x110]
cmp dword [eax + 0x50], 0
jne 0x44ea8c
cmp edi, 0xb
je 0x44e4a1
cmp edi, 0xc
je 0x44e4a1
cmp edi, 0x85
je 0x44e4a1
cmp edi, 0x2028
je 0x44e4a1
cmp edi, 0x2029
jne 0x44ea8c
add esi, ebp
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jl 0x44e3f3
jmp 0x44ea8c
cmp edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jge 0x44ea8c
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x5c]
mov dword [esp + 0x24], edx
lea esp, [esp]
cmp esi, dword [esp + 0x24]
mov edx, 1
jae 0x44ea8c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44e53c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x483de0]
mov ebx, dword [edx*4 + 0x483dc4]
lea edi, [edx + edx*2]
add edi, edi
and ebx, eax
mov ecx, edi
shl ebx, cl
mov ebp, 1
cmp edx, ebp
mov eax, ebx
jl 0x44e539
movzx ebx, byte [esi + ebp]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
add ebp, 1
or eax, ebx
cmp ebp, edx
jle 0x44e522
add edx, 1
cmp eax, 0x180e
ja 0x44e55f
je 0x44e588
cmp eax, 0xa0
ja 0x44e558
je 0x44e588
cmp eax, 9
je 0x44e588
cmp eax, 0x20
jmp 0x44e582
cmp eax, 0x1680
jmp 0x44e582
cmp eax, 0x205f
ja 0x44e57d
je 0x44e588
cmp eax, 0x2000
jb 0x44e584
cmp eax, 0x200a
jbe 0x44e588
cmp eax, 0x202f
jmp 0x44e582
cmp eax, 0x3000
je 0x44e588
xor eax, eax
jmp 0x44e58d
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x2c], 0x12
sete cl
cmp eax, ecx
je 0x44ea8c
mov eax, dword [esp + 0x14]
add eax, 1
add esi, edx
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jl 0x44e4e0
jmp 0x44ea8c
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x24], ecx
jmp 0x44e5e0
cmp esi, dword [esp + 0x24]
mov ebp, 1
jae 0x44ea8c
movzx edi, byte [esi]
cmp edi, 0xc0
jb 0x44e63a
mov eax, edi
and eax, 0x3f
movzx ebp, byte [eax + 0x483de0]
mov eax, dword [ebp*4 + 0x483dc4]
and eax, edi
lea ecx, [ebp + ebp*2]
add ecx, ecx
shl eax, cl
mov edi, eax
mov eax, 1
cmp ebp, eax
jl 0x44e637
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or edi, ebx
cmp eax, ebp
jle 0x44e622
add ebp, 1
cmp edi, 0x85
ja 0x44e676
je 0x44e686
cmp edi, 0xa
jb 0x44e64e
cmp edi, 0xd
jbe 0x44e686
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x2c], 0x14
sete cl
cmp eax, ecx
je 0x44ea8c
add edx, 1
add esi, ebp
cmp edx, dword [esp + 0x10]
jl 0x44e5e0
jmp 0x44ea8c
cmp edi, 0x2028
jb 0x44e64e
cmp edi, 0x2029
ja 0x44e64e
mov eax, 1
jmp 0x44e650
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x24], ecx
lea esp, [esp]
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44ea8c
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44e70d
mov eax, ebp
and eax, 0x3f
movzx edi, byte [eax + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44e70a
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44e6f5
add edi, 1
cmp ebp, 0x100
jae 0x44e729
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 4
jne 0x44ea8c
add edx, 1
add esi, edi
cmp edx, dword [esp + 0x10]
jl 0x44e6b0
jmp 0x44ea8c
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
lea esp, [esp]
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44ea8c
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44e7b9
mov ecx, ebp
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44e7b6
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44e7a1
add edi, 1
cmp ebp, 0x100
jae 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 4
je 0x44ea8c
add edx, 1
add esi, edi
cmp edx, dword [esp + 0x10]
jl 0x44e760
jmp 0x44ea8c
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
lea esp, [esp]
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44ea8c
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44e869
mov ecx, ebp
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44e866
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44e851
add edi, 1
cmp ebp, 0x100
jae 0x44e885
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 1
jne 0x44ea8c
add edx, 1
add esi, edi
cmp edx, dword [esp + 0x10]
jl 0x44e810
jmp 0x44ea8c
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44ea8c
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44e90a
mov ecx, ebp
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44e907
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44e8f2
add edi, 1
cmp ebp, 0x100
jae 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 1
je 0x44ea8c
add edx, 1
add esi, edi
cmp edx, dword [esp + 0x10]
jl 0x44e8b1
jmp 0x44ea8c
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
lea ebx, [ebx]
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44ea8c
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44e9bd
mov ecx, ebp
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44e9ba
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44e9a5
add edi, 1
cmp ebp, 0x100
jae 0x44e9d9
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 0x10
jne 0x44ea8c
add edx, 1
add esi, edi
cmp edx, dword [esp + 0x10]
jl 0x44e960
jmp 0x44ea8c
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x5c]
mov dword [esp + 0x24], eax
lea esp, [esp]
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44ea8c
movzx ebp, byte [esi]
cmp ebp, 0xc0
jb 0x44ea69
mov ecx, ebp
and ecx, 0x3f
movzx edi, byte [ecx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44ea66
movzx ebx, byte [eax + esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
add eax, 1
or ebp, ebx
cmp eax, edi
jle 0x44ea51
add edi, 1
cmp ebp, 0x100
jae 0x44ea8c
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + 0x28]
test byte [eax + ebp], 0x10
je 0x44ea8c
add edx, 1
add esi, edi
cmp edx, dword [esp + 0x10]
jl 0x44ea10
cmp dword [esp + 0x28], 0
jne 0x44aca0
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ebp, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
add edi, 1
push edi
push 0
push ebx
push edx
mov edx, dword [esp + 0x114]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov eax, esi
sub esi, 1
cmp eax, dword [esp + 0x1c]
je 0x44ef9f
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x44eb0e
mov edi, edi
mov dl, byte [esi - 1]
sub esi, 1
and dl, 0xc0
cmp dl, 0x80
je 0x44eb00
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
push edi
push 0
push ebx
push eax
mov eax, dword [esp + 0x114]
push ecx
push ebp
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44eae5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp eax, 0xf
ja case.0x45098d.15
jmp dword [eax*4 + 0x450e04]
cmp edx, dword [esp + 0x10]
mov edi, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov edi, edi
mov eax, dword [edx + 0x5c]
cmp esi, eax
jae 0x44ef2a
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x44ebab
mov edx, dword [esp + 0x110]
push 0
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne 0x44ef2a
mov edx, dword [esp + 0x110]
jmp 0x44ebd0
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44ebd0
mov al, byte [esi]
cmp al, byte [edx + 0x20]
jne 0x44ebd0
cmp ecx, 1
je 0x44ef2a
mov cl, byte [esi + 1]
cmp cl, byte [edx + 0x21]
je 0x44ef2a
add edi, 1
add esi, 1
cmp edi, dword [esp + 0x10]
jl 0x44eb70
jmp 0x44ef2a
mov ecx, dword [esp + 0x10]
sub ecx, edx
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 0x5c]
sub eax, esi
cmp ecx, eax
jbe 0x44ebf9
mov ecx, eax
add esi, ecx
jmp 0x44ef2a
cmp edx, dword [esp + 0x10]
mov ecx, edx
jge 0x44ef2a
mov eax, dword [esp + 0x110]
mov edx, dword [eax + 0x5c]
cmp esi, edx
jae 0x44ef2a
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x44ec38
add esi, 1
cmp esi, edx
jae 0x44ef2a
cmp byte [esi], 0xa
jne 0x44ec66
jmp 0x44ec63
cmp eax, 0xa
je 0x44ec63
mov edi, dword [esp + 0x110]
cmp dword [edi + 0x50], 0
jne 0x44ef2a
cmp eax, 0xb
je 0x44ec63
cmp eax, 0xc
je 0x44ec63
cmp eax, 0x85
jne 0x44ef2a
add esi, 1
add ecx, 1
cmp ecx, dword [esp + 0x10]
jl 0x44ec16
jmp 0x44ef2a
cmp edx, dword [esp + 0x10]
mov ecx, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov edx, dword [edx + 0x5c]
lea ebx, [ebx]
cmp esi, edx
jae 0x44ef2a
movzx eax, byte [esi]
cmp eax, 9
je 0x44ef2a
cmp eax, 0x20
je 0x44ef2a
cmp eax, 0xa0
je 0x44ef2a
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x10]
jl 0x44ec90
jmp 0x44ef2a
cmp edx, dword [esp + 0x10]
mov ecx, edx
jge 0x44ef2a
mov eax, dword [esp + 0x110]
mov edx, dword [eax + 0x5c]
nop
cmp esi, edx
jae 0x44ef2a
movzx eax, byte [esi]
cmp eax, 9
je 0x44ed00
cmp eax, 0x20
je 0x44ed00
cmp eax, 0xa0
jne 0x44ef2a
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x10]
jl 0x44ece0
jmp 0x44ef2a
cmp edx, dword [esp + 0x10]
mov ecx, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov edx, dword [edx + 0x5c]
cmp esi, edx
jae 0x44ef2a
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44ef2a
cmp eax, 0xb
je 0x44ef2a
cmp eax, 0xc
je 0x44ef2a
cmp eax, 0xd
je 0x44ef2a
cmp eax, 0x85
je 0x44ef2a
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x10]
jl 0x44ed27
jmp 0x44ef2a
cmp edx, dword [esp + 0x10]
mov ecx, edx
jge 0x44ef2a
mov eax, dword [esp + 0x110]
mov edx, dword [eax + 0x5c]
cmp esi, edx
jae 0x44ef2a
movzx eax, byte [esi]
cmp eax, 0xa
je 0x44edb2
cmp eax, 0xb
je 0x44edb2
cmp eax, 0xc
je 0x44edb2
cmp eax, 0xd
je 0x44edb2
cmp eax, 0x85
jne 0x44ef2a
add ecx, 1
add esi, 1
cmp ecx, dword [esp + 0x10]
jl 0x44ed88
jmp 0x44ef2a
mov edi, dword [esp + 0x10]
cmp edx, edi
mov eax, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x5c]
jmp 0x44ede0
cmp esi, ecx
jae 0x44ef2a
movzx ebx, byte [esi]
mov ebp, dword [edx + 0x28]
test byte [ebx + ebp], 4
jne 0x44ef2a
add eax, 1
add esi, 1
cmp eax, edi
jl 0x44ede0
jmp 0x44ef2a
mov edi, dword [esp + 0x10]
cmp edx, edi
mov eax, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x5c]
nop
cmp esi, ecx
jae 0x44ef2a
movzx ebx, byte [esi]
mov ebp, dword [edx + 0x28]
test byte [ebx + ebp], 4
je 0x44ef2a
add eax, 1
add esi, 1
cmp eax, edi
jl 0x44ee20
jmp 0x44ef2a
mov edi, dword [esp + 0x10]
cmp edx, edi
mov eax, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x5c]
nop
cmp esi, ecx
jae 0x44ef2a
movzx ebx, byte [esi]
mov ebp, dword [edx + 0x28]
test byte [ebx + ebp], 1
jne 0x44ef2a
add eax, 1
add esi, 1
cmp eax, edi
jl 0x44ee60
jmp 0x44ef2a
mov edi, dword [esp + 0x10]
cmp edx, edi
mov eax, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x5c]
nop
cmp esi, ecx
jae 0x44ef2a
movzx ebx, byte [esi]
mov ebp, dword [edx + 0x28]
test byte [ebx + ebp], 1
je 0x44ef2a
add eax, 1
add esi, 1
cmp eax, edi
jl 0x44eea0
jmp 0x44ef2a
mov edi, dword [esp + 0x10]
cmp edx, edi
mov eax, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x5c]
nop
cmp esi, ecx
jae 0x44ef2a
movzx ebx, byte [esi]
mov ebp, dword [edx + 0x28]
test byte [ebx + ebp], 0x10
jne 0x44ef2a
add eax, 1
add esi, 1
cmp eax, edi
jl 0x44eee0
jmp 0x44ef2a
mov edi, dword [esp + 0x10]
cmp edx, edi
mov eax, edx
jge 0x44ef2a
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x5c]
cmp esi, ecx
jae 0x44ef2a
movzx ebx, byte [esi]
mov ebp, dword [edx + 0x28]
test byte [ebx + ebp], 0x10
je 0x44ef2a
add eax, 1
add esi, 1
cmp eax, edi
jl 0x44ef10
cmp dword [esp + 0x28], 0
jne 0x44aca0
cmp esi, dword [esp + 0x1c]
jb 0x44ef9f
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x10c]
add edi, 1
jmp 0x44ef60
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push edi
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
sub esi, 1
test eax, eax
jne 0x450aef
cmp esi, dword [esp + 0x1c]
jae 0x44ef60
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
xor ecx, ecx
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
cmp byte [ebx + ecx + 3], 0x54
lea ebx, [ebx + ecx + 3]
jne 0x44efcf
nop
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x54
je 0x44efc0
add ebx, 3
cmp dword [esp + 0x2c], 0x63
mov dword [esp + 0x104], ebx
je 0x44f576
mov ebp, dword [esp + 0x118]
jmp 0x44f22b
xor eax, eax
mov ah, byte [ebx + 3]
mov al, byte [ebx + 4]
lea edi, [eax + eax]
cmp edi, dword [edx + 0x14]
mov dword [esp + 0x30], eax
jl 0x44f419
mov edi, dword [esp + 0x104]
mov ebp, dword [esp + 0x118]
xor ebx, ebx
cmp dword [esp + 0x2c], 0x61
setl bl
xor eax, eax
mov ah, byte [edi + 1]
sub ebx, 1
and ebx, 2
mov al, byte [edi + 2]
mov dword [esp + 0x11c], ebx
cmp byte [eax + edi], 0x54
jne 0x44f0ab
nop
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add eax, 1
push eax
mov eax, dword [esp + 0x110]
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x118]
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x483d20]
push ecx
add eax, edi
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44f092
cmp eax, 0xfffffc1c
jne 0x450aef
xor ecx, ecx
mov ch, byte [edi + 1]
xor edx, edx
mov cl, byte [edi + 2]
mov dh, byte [edi + ecx + 1]
add edi, ecx
mov dl, byte [edi + 2]
cmp byte [edx + edi], 0x54
je 0x44f040
test ebx, ebx
jne 0x44f528
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x483d20]
add edi, ecx
mov dword [esp + 0x104], edi
jmp 0x44f236
cmp byte [eax + 3], 0x19
lea edi, [eax + 3]
jne 0x44f0eb
mov ebx, dword [esp + 0x114]
movzx edx, byte [eax + 4]
and ebx, 0xfffffff8
or edx, ebx
mov dword [esp + 0x114], edx
cmp byte [eax], 0x57
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x120]
jne 0x44f139
add eax, 1
push eax
mov eax, dword [esp + 0x114]
push 0
push ebp
push edx
push eax
push ecx
mov ecx, dword [esp + 0x120]
push ecx
push edi
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov edx, dword [esp + 0x28]
mov dword [esp + 0x104], edx
jmp 0x44f22b
add eax, 1
push eax
mov eax, dword [esp + 0x114]
push 2
push ebp
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x120]
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov dword [esp + 0x104], edi
jmp 0x44f22b
cmp byte [ebx], 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
cmp byte [eax], 0x57
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x110]
jne 0x44f1eb
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x10c]
add eax, 1
push eax
mov eax, dword [esp + 0x10c]
push 0
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
add ecx, 3
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
cmp dword [esp + 0x11c], eax
jne 0x44f7d6
mov dword [esp + 0x104], ebx
jmp 0x44f236
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
add edx, 1
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x110]
push ebp
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
add dword [esp + 0x104], 3
mov dword [esp + 0x11c], 0
mov eax, dword [esp + 0x110]
mov edx, dword [eax]
cmp edx, dword [eax + 4]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x20], ecx
jb 0x44ac61
add dword [eax], 1
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0xec
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
add eax, 1
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x483d20]
push eax
add edx, ebx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
add eax, 1
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x483d20]
push eax
add edx, ebx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
pop edi
pop esi
pop ebp
mov eax, 0xfffffc19
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov edi, dword [esp + 0x110]
add eax, 1
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push eax
movzx eax, byte [ebx]
push edi
push ecx
movzx ecx, byte [eax + 0x483d20]
push edx
add ecx, ebx
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov dword [edi + 0x60], esi
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0xec
ret
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
add edx, 1
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x483d20]
push edx
add ecx, ebx
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0xec
ret
mov ecx, edx
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + edi*4]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + edi*4 + 4]
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 0x10]
sub edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x120]
lea eax, [eax + edx*4]
mov edx, dword [eax]
mov dword [esp + 0x24], edx
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x28], edx
mov edx, esi
sub edx, dword [ecx + 0x58]
mov dword [eax], edx
xor eax, eax
cmp dword [esp + 0x2c], 0x62
setne al
sub eax, 1
and eax, 2
mov ebp, eax
add ebx, 1
jmp 0x44f470
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x483d20]
add edx, eax
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44f4c6
cmp eax, 0xfffffc1c
jne 0x450aef
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x110]
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 0x104]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x54
mov dword [esp + 0x104], eax
je 0x44f470
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [eax + edi*4], edx
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x18]
mov dword [eax + edi*4 + 4], edx
mov eax, dword [ecx + 0x10]
sub eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x24]
mov dword [ecx + eax*4], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add eax, 1
push eax
mov eax, dword [esp + 0x110]
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x118]
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x483d20]
push ecx
add eax, edi
push eax
push esi
call fcn.0044ac30
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x114]
push 2
push edx
mov edx, dword [esp + 0x114]
push eax
push ecx
push edi
push edx
push ebx
push esi
call fcn.0044ac30
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp dword [edx + 0x44], ebp
je 0x44f5cb
cmp esi, dword [esp + 0x108]
je case.0x4509a7.14
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov dword [edx + 0x64], esi
mov dword [edx + 0x68], eax
mov dword [edx + 0x60], ecx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xec
ret
mov eax, dword [edx + 0x54]
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, eax
mov edi, ecx
cmp edi, eax
jne 0x44f60f
mov dword [esp + 0x38], 0
jmp 0x44f61b
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
mov dword [esp + 0x38], eax
mov ecx, dword [edx + 0x7c]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0x10]
add ebx, 3
cmp ecx, 0x1e
lea eax, [esp + 0x34]
mov dword [edx + 0x7c], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], ecx
jg 0x44f649
lea eax, [esp + 0x84]
mov dword [esp + 0x44], eax
jmp 0x44f673
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x516080]
add esp, 4
test eax, eax
mov dword [esp + 0x44], eax
jne 0x44f66f
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0xec
ret
mov ecx, dword [esp + 0x48]
lea edx, [ecx*4]
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [ecx + 0xc]
push edx
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x4c], eax
mov al, byte [edi]
add esp, 0xc
cmp al, 0x61
sbb ebp, ebp
and ebp, 0xfffffffe
add ebp, 2
add ecx, 1
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push ebp
push ecx
mov ecx, dword [esp + 0x11c]
push edx
mov edx, dword [esp + 0x11c]
push ecx
movzx eax, al
movzx ecx, byte [eax + 0x483d20]
push edx
push esi
add ecx, edi
push ecx
push esi
call fcn.0044ac30
mov ebx, eax
add esp, 0x24
cmp ebx, 1
je 0x44f779
test ebx, ebx
je 0x44f70c
cmp ebx, 0xfffffc1c
jne 0x44f7b0
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x110]
lea edx, [esp + 0x34]
lea ecx, [eax*4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x7c], edx
mov edx, dword [esp + 0x44]
push ecx
push edx
push eax
call sub.MSVCRT.dll_memcpy
xor ecx, ecx
mov ch, byte [edi + 1]
add esp, 0xc
mov cl, byte [edi + 2]
mov al, byte [edi + ecx]
add edi, ecx
cmp al, 0x54
je 0x44f6b4
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x84]
cmp eax, ecx
je 0x44f76c
push eax
call dword [0x516084]
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x7c], edx
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x84]
cmp eax, ecx
je 0x44f7a0
push eax
call dword [0x516084]
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x84]
cmp eax, edx
je 0x44f7c9
push eax
call dword [0x516084]
add esp, 4
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xec
ret
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x110]
add edx, 1
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x110]
push ebp
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0044ac30
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
pop edi
mov dword [eax + 0x64], esi
pop esi
pop ebp
mov dword [eax + 0x68], ecx
mov eax, 1
pop ebx
add esp, 0xec
ret
cmp ebp, ebx
mov dword [esp + 0x1c], esi
jge 0x44f885
jmp 0x44f850
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x2c]
push eax
push esi
mov eax, edi
call fcn.0044abb0
add esp, 8
test eax, eax
je 0x44f87b
add ebp, 1
add esi, edi
cmp ebp, ebx
jl 0x44f850
cmp esi, dword [esp + 0x1c]
jb 0x44f8e5
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x118]
add ebx, 1
jmp 0x44f8a0
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
push ebx
push 0
push ebp
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
sub esi, edi
cmp esi, dword [esp + 0x1c]
jae 0x44f8a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
mov ecx, edi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x28]
shr edi, 3
mov dl, byte [edi + ecx]
test dl, al
je case.0x4509a7.14
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add dword [esp + 0x14], 1
push ebx
push 0
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44c470
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x10c]
add edi, 1
push edi
push 0
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
mov ebp, edx
mov edx, dword [esp + 0x120]
push edx
push ebx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
cmp ebp, dword [esp + 0x10]
jge case.0x4509a7.14
mov edx, dword [esp + 0x110]
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr eax, 3
mov al, byte [eax + ecx]
add esi, 1
test al, dl
je case.0x4509a7.14
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push edi
push 0
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push eax
push ebx
push ecx
push edx
push esi
add ebp, 1
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44f9a6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp dword [esp + 0x20], 0
mov dword [esp + 0x1c], esi
je 0x44fbb2
cmp edx, ebx
mov dword [esp + 0x14], edx
jge 0x44fb01
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x24], ecx
jmp 0x44fa60
cmp esi, dword [esp + 0x24]
mov edi, 1
jae 0x44fb01
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44fac4
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x483de0]
mov ebx, dword [edx*4 + 0x483dc4]
lea edi, [edx + edx*2]
add edi, edi
and ebx, eax
mov ecx, edi
shl ebx, cl
mov ebp, 1
cmp edx, ebp
mov eax, ebx
jl 0x44fabd
movzx ebx, byte [esi + ebp]
sub edi, 6
and ebx, 0x3f
mov ecx, edi
shl ebx, cl
add ebp, 1
or eax, ebx
cmp ebp, edx
jle 0x44faa6
mov ebx, dword [esp + 0x10]
lea edi, [edx + 1]
cmp eax, 0xff
jbe 0x44fad2
cmp dword [esp + 0x2c], 0x4e
jmp 0x44faea
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x44fb01
mov eax, dword [esp + 0x14]
add eax, 1
add esi, edi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x44fa60
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x10c]
mov eax, dword [esp + 0x108]
add edi, 1
push edi
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
nop
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x1c]
je 0x44fc4f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44fb75
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x44fb67
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push edi
push 0
push ebx
push edx
mov edx, dword [esp + 0x114]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44fb50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
cmp edx, ebx
mov edi, edx
jge 0x44fbf7
mov eax, dword [esp + 0x110]
mov ebp, dword [eax + 0x5c]
cmp esi, ebp
jae 0x44fbed
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x44fbed
add edi, 1
add esi, 1
cmp edi, ebx
jl 0x44fbc2
cmp esi, dword [esp + 0x1c]
jb 0x44fc4f
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x10c]
add edi, 1
nop
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push edi
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
sub esi, 1
cmp esi, dword [esp + 0x1c]
jae 0x44fc10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xec
ret
cmp ebx, eax
mov dword [esp + 0x1c], esi
jge 0x44fcf9
jmp 0x44fc70
mov ecx, dword [esp + 0x110]
cmp esi, dword [ecx + 0x5c]
mov edi, 1
jae 0x44fcf9
cmp dword [esp + 0x20], 0
movzx ebp, byte [esi]
je 0x44fcd8
cmp ebp, 0xc0
jb 0x44fcd8
mov edx, ebp
and edx, 0x3f
movzx edi, byte [edx + 0x483de0]
mov eax, dword [edi*4 + 0x483dc4]
and eax, ebp
lea ecx, [edi + edi*2]
add ecx, ecx
shl eax, cl
mov ebp, eax
mov eax, 1
cmp edi, eax
jl 0x44fcd5
mov edi, edi
movzx edx, byte [eax + esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add eax, 1
or ebp, edx
cmp eax, edi
jle 0x44fcc0
add edi, 1
mov eax, dword [esp + 0x28]
push eax
push ebp
call fcn.00452380
add esp, 8
test eax, eax
je 0x44fcf9
add ebx, 1
add esi, edi
cmp ebx, dword [esp + 0x10]
jl 0x44fc70
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x10c]
mov eax, dword [esp + 0x108]
add edi, 1
push edi
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov edx, esi
sub esi, 1
cmp edx, dword [esp + 0x1c]
je case.0x4509a7.14
cmp dword [esp + 0x20], 0
je 0x44fd73
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x44fd73
mov cl, byte [esi - 1]
sub esi, 1
and cl, 0xc0
cmp cl, 0x80
je 0x44fd65
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push edi
push 0
push ebx
push edx
mov edx, dword [esp + 0x114]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44fd47
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x114]
mov edi, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
add eax, 1
push eax
push 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x120]
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
push edi
push edx
push eax
push ecx
push esi
mov dword [esp + 0x38], ebx
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov ebp, dword [esp + 0x18]
lea ebx, [ebx]
cmp ebx, dword [esp + 0x10]
jge case.0x4509a7.14
cmp esi, dword [edi + 0x5c]
jae case.0x4509a7.14
cmp ebp, 4
mov ecx, dword [esp + 0x2c]
mov eax, ebp
mov edx, esi
jb 0x44fe44
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x44fe4c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x44fe30
test eax, eax
je 0x44feb1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x44fea3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44feb1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x44fea3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44feb1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x44fea3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x44feb1
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x44feb1
test edi, edi
mov eax, 1
jg 0x44feb3
or eax, 0xffffffff
jmp 0x44feb3
xor eax, eax
test eax, eax
jne case.0x4509a7.14
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x118]
mov edi, dword [esp + 0x110]
mov ebx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x11c]
push edx
mov edx, dword [esp + 0x114]
push eax
mov eax, dword [esp + 0x114]
push edi
push ecx
push edx
push eax
add esi, ebp
add ebx, 1
push esi
mov dword [esp + 0x38], ebx
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44fe10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edi, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov ebp, ebx
mov ebx, dword [esp + 0x120]
add ebx, 1
push ebx
push 0
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
push edi
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
lea ebx, [ebx]
cmp ebp, dword [esp + 0x10]
jge case.0x4509a7.14
cmp esi, dword [edi + 0x5c]
jae case.0x4509a7.14
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx ecx, byte [edx + eax]
add esi, 1
cmp dword [esp + 0x18], ecx
jne case.0x4509a7.14
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x10c]
push ebx
push 0
push edx
mov edx, dword [esp + 0x114]
push eax
mov eax, dword [esp + 0x114]
push edi
push ecx
push edx
push eax
push esi
add ebp, 1
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x44ff70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
add edi, 1
push edi
push 0
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
nop
cmp ebx, dword [esp + 0x10]
jge case.0x4509a7.14
mov edx, dword [esp + 0x110]
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp ebp, eax
jne case.0x4509a7.14
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push edi
push 0
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
push edx
push eax
push esi
add ebx, 1
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x450030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x114]
test ecx, ecx
mov ecx, dword [esp + 0x110]
je 0x4501dd
mov ebx, dword [esp + 0x120]
add ebx, 1
push ebx
push 0
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x120]
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x10]
jge case.0x4509a7.14
mov eax, dword [esp + 0x110]
cmp esi, dword [eax + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x450169
mov ecx, ebp
and ecx, 0x3f
movzx eax, byte [ecx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x450169
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x450150
cmp ebp, 0x100
jae 0x45017f
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 0x24]
movzx ebp, byte [ecx + ebp]
cmp dword [esp + 0x18], ebp
je case.0x4509a7.14
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
add dword [esp + 0x14], 1
push ebx
push 0
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x450100
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x10c]
add edi, 1
push edi
push 0
mov ebp, edx
mov edx, dword [esp + 0x120]
push edx
mov edx, dword [esp + 0x114]
push eax
mov eax, dword [esp + 0x114]
push ecx
push ebx
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
nop
cmp ebp, dword [esp + 0x10]
jge case.0x4509a7.14
mov eax, dword [esp + 0x110]
cmp esi, dword [eax + 0x5c]
jae case.0x4509a7.14
movzx ecx, byte [esi]
mov edx, dword [eax + 0x24]
movzx eax, byte [ecx + edx]
add esi, 1
cmp dword [esp + 0x18], eax
je case.0x4509a7.14
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push edi
push 0
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push eax
push ebx
push ecx
push edx
push esi
add ebp, 1
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x450220
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x118]
test ecx, ecx
mov ecx, dword [esp + 0x114]
je 0x4503bd
mov ebx, dword [esp + 0x120]
add ebx, 1
push ebx
push 0
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x120]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jge case.0x4509a7.14
mov ecx, dword [esp + 0x110]
cmp esi, dword [ecx + 0x5c]
jae case.0x4509a7.14
movzx ebp, byte [esi]
add esi, 1
cmp ebp, 0xc0
jb 0x45035f
mov edx, ebp
and edx, 0x3f
movzx eax, byte [edx + 0x483de0]
mov edx, dword [eax*4 + 0x483dc4]
lea edi, [eax + eax*2]
add edi, edi
and edx, ebp
mov ecx, edi
shl edx, cl
test eax, eax
mov ebp, edx
jle 0x45035f
movzx edx, byte [esi]
sub edi, 6
and edx, 0x3f
mov ecx, edi
shl edx, cl
sub eax, 1
add esi, 1
or ebp, edx
test eax, eax
jg 0x450346
cmp dword [esp + 0x18], ebp
je case.0x4509a7.14
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add dword [esp + 0x14], 1
push ebx
push 0
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x118]
push eax
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x4502f2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x10c]
add edi, 1
push edi
push 0
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
mov ebp, edx
mov edx, dword [esp + 0x120]
push edx
push ebx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
nop
cmp ebp, dword [esp + 0x10]
jge case.0x4509a7.14
mov edx, dword [esp + 0x110]
cmp esi, dword [edx + 0x5c]
jae case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp dword [esp + 0x18], eax
je case.0x4509a7.14
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push edi
push 0
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push eax
push ebx
push ecx
push edx
push esi
add ebp, 1
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x450400
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0xec
ret
cmp dword [esp + 0x20], 0
je 0x4508b0
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x110]
add ebx, 1
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x120]
push eax
push ecx
push edx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
jmp 0x4504f7
mov edi, dword [esp + 0x110]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jge case.0x4509a7.14
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x4509a7.14
cmp dword [esp + 0x2c], 0xc
jne 0x450561
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x45053c
mov edx, dword [esp + 0x20]
push edx
add edi, 0x1c
push edi
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne case.0x4509a7.14
jmp 0x450561
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x450561
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x450561
cmp ecx, 1
je case.0x4509a7.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x4509a7.14
movzx eax, byte [esi]
add esi, 1
cmp eax, 0xc0
jb 0x4505ab
mov edx, eax
and edx, 0x3f
movzx edi, byte [edx + 0x483de0]
mov edx, dword [edi*4 + 0x483dc4]
lea ebp, [edi + edi*2]
add ebp, ebp
and edx, eax
mov ecx, ebp
shl edx, cl
test edi, edi
mov eax, edx
jle 0x4505ab
movzx edx, byte [esi]
sub ebp, 6
and edx, 0x3f
mov ecx, ebp
shl edx, cl
sub edi, 1
add esi, 1
or eax, edx
test edi, edi
jg 0x450592
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x45098d.15
jmp dword [ecx*4 + 0x450e44]
cmp eax, 0xd
ja 0x4505fe
je 0x4505dd
cmp eax, 0xa
je case.0x4505bb.12
jbe case.0x4509a7.14
cmp eax, 0xc
jmp 0x450615
mov eax, dword [esp + 0x110]
cmp esi, dword [eax + 0x5c]
jae case.0x4505bb.12
cmp byte [esi], 0xa
jne case.0x4505bb.12
add esi, 1
jmp case.0x4505bb.12
cmp eax, 0x85
je 0x45061b
cmp eax, 0x2027
jbe case.0x4509a7.14
cmp eax, 0x2029
ja case.0x4509a7.14
mov ecx, dword [esp + 0x110]
cmp dword [ecx + 0x50], 0
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x180e
ja 0x450666
je case.0x4509a7.14
cmp eax, 0xa0
ja 0x45065c
je case.0x4509a7.14
cmp eax, 9
je case.0x4509a7.14
cmp eax, 0x20
jmp 0x450856
cmp eax, 0x1680
jmp 0x450856
cmp eax, 0x205f
ja 0x450693
je case.0x4509a7.14
cmp eax, 0x2000
jb case.0x4505bb.12
cmp eax, 0x200a
jbe case.0x4509a7.14
cmp eax, 0x202f
jmp 0x450856
cmp eax, 0x3000
jmp 0x450856
cmp eax, 0x180e
ja 0x4506de
je case.0x4505bb.12
cmp eax, 0xa0
ja 0x4506ce
je case.0x4505bb.12
cmp eax, 9
je case.0x4505bb.12
cmp eax, 0x20
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x1680
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x205f
ja 0x450711
je case.0x4505bb.12
cmp eax, 0x2000
jb case.0x4509a7.14
cmp eax, 0x200a
jbe case.0x4505bb.12
cmp eax, 0x202f
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x3000
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x85
ja 0x450745
je case.0x4509a7.14
cmp eax, 0xa
jb case.0x4505bb.12
cmp eax, 0xd
jbe case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x2028
jb case.0x4505bb.12
cmp eax, 0x2029
jbe case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x85
ja 0x450784
je case.0x4505bb.12
cmp eax, 0xa
jb case.0x4509a7.14
cmp eax, 0xd
ja case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x2028
jb case.0x4509a7.14
cmp eax, 0x2029
ja case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x100
jae case.0x4505bb.12
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 4
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x100
jae case.0x4509a7.14
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 4
jmp 0x450856
cmp eax, 0x100
jae case.0x4505bb.12
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 1
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x100
jae case.0x4509a7.14
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 1
jmp 0x450856
cmp eax, 0x100
jae case.0x4505bb.12
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 0x10
jne case.0x4509a7.14
jmp case.0x4505bb.12
cmp eax, 0x100
jae case.0x4509a7.14
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 0x10
je case.0x4509a7.14
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
add dword [esp + 0x14], 1
push ebx
push 0
push edx
mov edx, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x118]
push ecx
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x4504f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0x18]
add edi, 1
push edi
push 0
push edx
mov edx, dword [esp + 0x114]
push eax
mov eax, dword [esp + 0x114]
push ecx
push ebx
push edx
push eax
push esi
call fcn.0044ac30
add esp, 0x24
test eax, eax
jne 0x450aef
cmp ebp, dword [esp + 0x10]
jge case.0x4509a7.14
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 0x5c]
cmp esi, eax
jae case.0x4509a7.14
cmp dword [esp + 0x2c], 0xc
jne 0x450977
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x450952
push 0
add edx, 0x1c
push edx
push eax
push ecx
push esi
call fcn.00451f80
add esp, 0x14
test eax, eax
jne case.0x4509a7.14
mov edx, dword [esp + 0x110]
jmp 0x450977
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x450977
mov al, byte [esi]
cmp al, byte [edx + 0x20]
jne 0x450977
cmp ecx, 1
je case.0x4509a7.14
mov cl, byte [esi + 1]
cmp cl, byte [edx + 0x21]
je case.0x4509a7.14
mov ecx, dword [esp + 0x2c]
movzx eax, byte [esi]
add ecx, 0xfffffffa
add esi, 1
cmp ecx, 0xf
ja case.0x45098d.15
jmp dword [ecx*4 + 0x450e84]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4509a7.14
movzx eax, byte [eax + 0x450ed4]
jmp dword [eax*4 + 0x450ec4]
cmp esi, dword [edx + 0x5c]
jae case.0x45098d.12
cmp byte [esi], 0xa
jne case.0x45098d.12
add esi, 1
jmp case.0x45098d.12
cmp dword [edx + 0x50], 0
jne case.0x4509a7.14
jmp case.0x45098d.12
cmp eax, 9
je case.0x4509a7.14
cmp eax, 0x20
je case.0x4509a7.14
cmp eax, 0xa0
jmp 0x450a99
cmp eax, 9
je case.0x45098d.12
cmp eax, 0x20
je case.0x45098d.12
cmp eax, 0xa0
jne case.0x4509a7.14
jmp case.0x45098d.12
cmp eax, 0xa
jb case.0x45098d.12
cmp eax, 0xd
jbe case.0x4509a7.14
cmp eax, 0x85
jmp 0x450a99
cmp eax, 0xa
jb case.0x4509a7.14
cmp eax, 0xd
jbe case.0x45098d.12
cmp eax, 0x85
jne case.0x4509a7.14
jmp case.0x45098d.12
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 4
jne case.0x4509a7.14
jmp case.0x45098d.12
mov edx, dword [edx + 0x28]
test byte [eax + edx], 4
jmp 0x450a99
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 1
jne case.0x4509a7.14
jmp case.0x45098d.12
mov edx, dword [edx + 0x28]
test byte [eax + edx], 1
jmp 0x450a99
mov ecx, dword [edx + 0x28]
test byte [eax + ecx], 0x10
jne case.0x4509a7.14
jmp case.0x45098d.12
mov edx, dword [edx + 0x28]
test byte [eax + edx], 0x10
je case.0x4509a7.14
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
push edi
push 0
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ebx
push eax
push ecx
push esi
add ebp, 1
call fcn.0044ac30
add esp, 0x24
test eax, eax
je 0x450902
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret