Function at 0x44dc46
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xb4
push ebx
push esi
mov esi, dword [ebp + 0x6c]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
push edi
jae 0x44f45f
mov edi, dword [ebp + 0x60]
mov ebx, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x7c]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x44f468
test byte [ebp + 0x78], 2
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x38], eax
je 0x44dc91
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x18]
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x74], eax
movzx ecx, byte [edi]
xor eax, eax
cmp dword [esi + 0x40], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x6c], ecx
je 0x44dcb6
cmp ebx, dword [esi + 0x54]
jb 0x44dcb6
xor edx, edx
inc edx
cmp ebx, dword [ebp + 0x64]
jbe 0x44dcb9
mov dword [esi + 0x44], edx
jmp 0x44dcb9
xor edx, edx
inc edx
cmp ecx, 0x6d
ja case.0x44dcc9.14
movzx eax, byte [ecx + 0x44fd97]
jmp dword [eax*4 + 0x44fc87]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x44dcf8
mov eax, dword [esi + 0x74]
xor ecx, ecx
test eax, eax
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x44dd62
cmp ecx, 0xffff
je 0x44dd15
cmp ecx, dword [eax + 4]
jne 0x44dd62
jmp 0x44dd15
cmp cl, 0x63
jne 0x44dd1c
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
shl eax, 1
cmp eax, dword [ebp + 0x68]
jge 0x44dd62
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jl 0x44dd62
push 3
mov ecx, edx
pop eax
jmp 0x44dd6c
cmp cl, 0x65
jne 0x44dd2d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x44dd76
mov ecx, dword [ebp + 0x7c]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
cmp eax, 1
je 0x44f326
test eax, eax
je 0x44dd62
cmp eax, 0xfffffc1c
jne 0x44fc7f
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
test ecx, ecx
jne 0x44f343
cmp byte [edi], 0x53
je 0x44f343
add edi, 3
jmp 0x44dc91
mov edi, dword [esi + 0x74]
test edi, edi
je 0x44f65a
cmp dword [edi + 4], 0
jne 0x44f65a
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call sub.MSVCR71.dll_memmove
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 8]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x38]
add esp, 0xc
mov dword [ebp + 0x70], eax
jmp 0x44dc91
movzx eax, byte [edi + 1]
mov dword [ebp + 0x70], eax
inc edi
inc edi
jmp 0x44dc91
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x70]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
cmp eax, 1
je 0x44de1b
test eax, eax
je 0x44de0c
cmp eax, 0xfffffc1c
jne 0x44fc7f
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x44dcc9.87
cmp byte [edi], 0x54
je case.0x44dcc9.108
test byte [ebp + 0x78], 1
jne 0x44de94
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x44de2a
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x68], eax
jmp 0x44dc91
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x70]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
cmp eax, 1
je case.0x44dcc9.108
test eax, eax
je 0x44de7b
cmp eax, 0xfffffc1c
jne 0x44fc7f
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x44dcc9.88
test byte [ebp + 0x78], 1
je 0x44dd7f
xor eax, eax
inc eax
jmp 0x44fc7f
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jae 0x44dd7f
xor eax, eax
jmp 0x44fc7f
add edi, 6
jmp 0x44dc91
mov dword [ebp + 0x6c], edi
mov dword [ebp + 0x44], ebx
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push dword [ebp + 0x74]
lea eax, [edi + 3]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
cmp eax, 1
je 0x44df08
test eax, eax
je 0x44def9
cmp eax, 0xfffffc1c
jne 0x44fc7f
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x44dec4
mov al, byte [edi]
cmp al, 0x5c
je 0x44df12
cmp al, 0x53
jne case.0x44dcc9.108
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x44df12
cmp byte [edi], 0x54
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x68], eax
je 0x44dd7f
cmp ebx, dword [ebp + 0x44]
je 0x44dd7f
lea eax, [edi + 3]
cmp byte [eax], 0x18
mov dword [ebp + 0x40], eax
jne 0x44df56
mov ecx, dword [ebp + 0x70]
movzx eax, byte [edi + 4]
and ecx, 0xfffffff8
or eax, ecx
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x7c]
inc eax
cmp byte [edi], 0x56
push eax
jne 0x44f3fe
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x40]
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
mov edi, dword [ebp + 0x6c]
jmp 0x44f450
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x44dcc9.83
jmp 0x44dc91
mov eax, dword [ebp + 0x7c]
inc edi
inc eax
push eax
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x44dfca
jmp 0x44dd7f
inc edi
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x44dfe1
mov ecx, dword [ebp + 0x7c]
inc ecx
push ecx
push 0
push dword [ebp + 0x74]
add eax, 3
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
jmp 0x44dc91
xor ecx, ecx
mov ch, byte [edi + 1]
mov eax, edi
mov cl, byte [edi + 2]
sub eax, ecx
mov cl, byte [eax]
cmp cl, 0x60
mov dword [ebp + 0x6c], eax
jb 0x44e047
mov edx, dword [ebp + 0x74]
mov edx, dword [edx + 4]
mov dword [ebp + 0x44], edx
mov edx, dword [ebp + 0x74]
mov edx, dword [edx]
mov dword [ebp + 0x74], edx
jmp 0x44e04b
and dword [ebp + 0x44], 0
cmp cl, 0x57
je 0x44f7dc
cmp cl, 0x58
je 0x44f7dc
cmp cl, 0x59
je 0x44f7dc
cmp cl, 0x5a
je 0x44f7dc
cmp cl, 0x5c
je 0x44f7dc
cmp cl, 0x5e
je 0x44e086
cmp cl, 0x61
jne 0x44e116
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [esi + 0x14]
mov dword [ebp + 0x3c], edx
mov dword [esi + 0x64], edx
jl 0x44e0a5
mov dword [esi + 0x2c], 1
jmp 0x44e0d7
mov edx, dword [esi + 0x10]
sub edx, dword [ebp + 0x3c]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edx*4]
shl ecx, 2
mov dword [eax + ecx], edx
mov edx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x50]
mov dword [edx + ecx + 4], eax
mov edx, dword [ebp + 0x3c]
lea eax, [edx + edx]
cmp dword [ebp + 0x68], eax
jg 0x44e0d4
add eax, 2
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [esi + 0x74]
test ecx, ecx
mov dword [ebp + 0x40], ecx
je 0x44e116
cmp dword [ecx + 4], edx
jne 0x44e116
mov edi, ecx
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0xc]
mov dword [ebp + 0x64], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call sub.MSVCR71.dll_memcpy
mov eax, dword [ebp + 0x38]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x70], eax
jmp 0x44dc91
cmp byte [edi], 0x54
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x70], ecx
je 0x44dd7f
cmp ebx, dword [ebp + 0x44]
je 0x44dd7f
cmp byte [eax], 0x60
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x56
mov dword [ebp + 0x78], eax
jne 0x44f426
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push dword [ebp + 0x74]
add edi, 3
push ecx
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
cmp dword [ebp + 0x78], eax
jne 0x44f7bf
mov edi, dword [ebp + 0x6c]
jmp 0x44f454
cmp dword [esi + 0x30], 0
je 0x44e18b
cmp ebx, dword [esi + 0x50]
je case.0x44dcc9.108
test byte [ebp + 0x70], 2
je case.0x44dcc9.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x44e1f5
cmp ebx, dword [esi + 0x54]
je case.0x44dcc9.108
mov eax, dword [esi + 0x18]
test eax, eax
je 0x44e1c8
cmp ebx, ecx
jbe case.0x44dcc9.108
push 0
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
push ebx
call fcn.0041ac54
add esp, 0x14
test eax, eax
jmp 0x44e507
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x44dcc9.108
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne case.0x44dcc9.108
cmp eax, 1
je 0x44e1f5
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne case.0x44dcc9.108
inc edi
jmp 0x44dc91
cmp ebx, dword [esi + 0x50]
jmp 0x44e1ef
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x44e1ef
mov dword [ebp + 0x64], ebx
jmp 0x44e1f5
test byte [ebp + 0x70], 2
je 0x44e25a
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44e254
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44e233
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041abda
jmp 0x44e1be
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x44dcc9.108
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne case.0x44dcc9.108
cmp ecx, edx
je 0x44e1f5
mov al, byte [ebx + 1]
jmp 0x44e1ec
cmp dword [esi + 0x34], 0
jmp 0x44e1ef
cmp dword [esi + 0x34], 0
jne case.0x44dcc9.108
cmp dword [esi + 0x38], 0
jne case.0x44dcc9.23
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x44e1f5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e2a9
cmp ebx, eax
jae case.0x44dcc9.108
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0041abda
add esp, 0x14
test eax, eax
je case.0x44dcc9.108
jmp 0x44e2d2
cmp ebx, dword [esi + 0x54]
jb case.0x44dcc9.108
jmp 0x44e1f5
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x44dcc9.108
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne case.0x44dcc9.108
cmp ecx, 1
je 0x44e2d2
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne case.0x44dcc9.108
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x44e206
cmp ebx, dword [esi + 0x50]
je 0x44e2f3
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x44e2f3
mov ecx, edx
jmp 0x44e2f5
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x44e30b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x44e30b
xor eax, eax
inc eax
jmp 0x44e30d
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 5
jne 0x44e31e
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x44e325
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x44dc91
jmp case.0x44dcc9.108
test byte [ebp + 0x70], 4
jne case.0x44dcc9.13
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44e363
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x44dcc9.13
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041abda
add esp, 0x14
test eax, eax
jne case.0x44dcc9.108
jmp case.0x44dcc9.13
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x44dcc9.13
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x44dcc9.13
cmp eax, edx
je case.0x44dcc9.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x44dcc9.108
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae case.0x44dcc9.108
jmp 0x44e1f5
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x44e1ef
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x44e507
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x44e1ef
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x44e507
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x44e1ef
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x44e507
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x44e1f5
jbe case.0x44dcc9.108
cmp eax, 0xc
jbe 0x44e476
cmp eax, 0xd
je 0x44e47f
cmp eax, 0x85
je 0x44e476
cmp eax, 0x2027
jbe case.0x44dcc9.108
cmp eax, 0x2029
ja case.0x44dcc9.108
cmp dword [esi + 0x48], 0
jmp 0x44e1ef
cmp ebx, ecx
jae 0x44e1f5
cmp byte [ebx], 0xa
jne 0x44e1f5
inc ebx
jmp 0x44e1f5
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, 0x180e
inc ebx
cmp eax, ecx
ja 0x44e4d6
je case.0x44dcc9.108
cmp eax, 9
je case.0x44dcc9.108
cmp eax, 0x20
je case.0x44dcc9.108
cmp eax, 0xa0
je case.0x44dcc9.108
cmp eax, 0x1680
jmp 0x44e507
cmp eax, 0x2000
jb 0x44e1f5
cmp eax, 0x200a
jbe case.0x44dcc9.108
cmp eax, 0x202f
je case.0x44dcc9.108
cmp eax, 0x205f
je case.0x44dcc9.108
cmp eax, 0x3000
je case.0x44dcc9.108
jmp 0x44e1f5
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, 0x180e
inc ebx
cmp eax, ecx
ja 0x44e555
je 0x44e1f5
cmp eax, 9
je 0x44e1f5
cmp eax, 0x20
je 0x44e1f5
cmp eax, 0xa0
je 0x44e1f5
cmp eax, 0x1680
jmp 0x44e1ef
cmp eax, 0x2000
jb case.0x44dcc9.108
cmp eax, 0x200a
jbe 0x44e1f5
cmp eax, 0x202f
je 0x44e1f5
cmp eax, 0x205f
je 0x44e1f5
cmp eax, 0x3000
jmp 0x44e1ef
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x44e1f5
cmp eax, 0xd
jbe case.0x44dcc9.108
cmp eax, 0x85
je case.0x44dcc9.108
cmp eax, 0x2027
jbe 0x44e1f5
cmp eax, 0x2029
jbe case.0x44dcc9.108
jmp 0x44e1f5
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb case.0x44dcc9.108
cmp eax, 0xd
jbe 0x44e1f5
cmp eax, 0x85
je 0x44e1f5
cmp eax, 0x2027
jbe case.0x44dcc9.108
cmp eax, 0x2029
ja case.0x44dcc9.108
jmp 0x44e1f5
xor eax, eax
mov ah, byte [edi + 1]
add edi, 3
mov al, byte [edi - 1]
shl eax, 1
cmp eax, dword [ebp + 0x68]
mov dword [ebp + 0x40], eax
jge 0x44e63d
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x44e63d
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x44e643
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x45
mov dword [ebp + 0x3c], edx
jb 0x44e71e
cmp al, 0x4a
jbe 0x44e68c
cmp al, 0x4c
ja 0x44e71e
xor ecx, ecx
cmp al, 0x4c
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp + 0x48], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], ecx
jne 0x44e687
mov dword [ebp + 0x50], 0x7fffffff
add edi, 5
jmp 0x44e6ba
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x452314]
movsx eax, byte [eax + 0x45231c]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x44e6ba
mov dword [ebp + 0x50], 0x7fffffff
test edx, edx
je 0x44dc91
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44e6f8
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.0044dbe8
test eax, eax
pop ecx
pop ecx
je case.0x44dcc9.108
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x44]
jle 0x44e6cc
mov ecx, dword [ebp + 0x44]
cmp ecx, dword [ebp + 0x50]
je 0x44dc91
cmp dword [ebp + 0x48], 0
je 0x44f83c
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44f81a
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.0044dbe8
test eax, eax
pop ecx
pop ecx
je case.0x44dcc9.108
add ebx, dword [ebp + 0x3c]
jmp 0x44dc91
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp + 0x40], eax
mov al, byte [edi]
cmp al, 0x45
jb 0x44e7b7
cmp al, 0x4a
jbe 0x44e788
cmp al, 0x4c
ja 0x44e7b7
xor ecx, ecx
cmp al, 0x4c
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp + 0x48], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], ecx
jne 0x44e783
mov dword [ebp + 0x50], 0x7fffffff
add edi, 5
jmp 0x44e7bf
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x452314]
movsx eax, byte [eax + 0x45231c]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x44e7bf
mov dword [ebp + 0x50], 0x7fffffff
jmp 0x44e7bf
mov ecx, edx
mov dword [ebp + 0x50], edx
mov dword [ebp + 0x44], ecx
cmp ecx, edx
mov dword [ebp + 0x6c], edx
jl 0x44e7f9
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x44]
cmp dword [ebp + 0x6c], ecx
jle 0x44e7c6
cmp ecx, dword [ebp + 0x50]
je 0x44dc91
cmp dword [ebp + 0x48], 0
mov dword [ebp + 0x6c], ecx
je 0x44f909
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44f8e7
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl case.0x44dcc9.108
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jmp 0x44e84f
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl case.0x44dcc9.108
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx ecx, byte [edi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jne case.0x44dcc9.108
jmp 0x44ddd1
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x44e882
mov dword [ebp + 0x4c], edx
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
xor eax, eax
cmp byte [edi], 0x25
sete al
mov dword [ebp + 0x48], eax
add edi, 3
jmp 0x44e8d4
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x44e898
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
inc edi
jmp 0x44e8cd
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
inc edi
jmp 0x44e8d4
movzx eax, byte [edi]
sub eax, 0x1e
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x452314]
movsx eax, byte [eax + 0x45231c]
inc edi
test eax, eax
mov dword [ebp + 0x50], eax
jne 0x44e8d4
mov dword [ebp + 0x50], 0x7fffffff
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg case.0x44dcc9.108
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x70], 1
mov dword [ebp + 0x44], edx
je 0x44e99e
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + edx]
mov dword [ebp + 0x44], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44e922
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44e906
cmp ecx, dword [ebp + 0x50]
je 0x44dc91
cmp dword [ebp + 0x48], 0
jne 0x44f97b
mov dword [ebp + 0x48], ebx
jmp 0x44e950
cmp ebx, dword [esi + 0x54]
jae 0x44e955
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp + 0x44], eax
jne 0x44e955
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44e93a
cmp dword [ebp + 0x4c], 0
jne 0x44dc91
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
dec ebx
test eax, eax
jne 0x44fc7f
cmp ebx, dword [ebp + 0x48]
jae 0x44e96f
jmp case.0x44dcc9.108
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44e9bc
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44e9a8
cmp ecx, dword [ebp + 0x50]
je 0x44dc91
cmp dword [ebp + 0x48], 0
jne 0x44f9d9
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov eax, ecx
jge 0x44e9ec
cmp ebx, dword [esi + 0x54]
jae 0x44e9ec
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x44e9ec
inc ebx
inc eax
cmp eax, dword [ebp + 0x50]
jl 0x44e9d9
cmp dword [ebp + 0x4c], 0
jne 0x44dc91
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
dec ebx
test eax, eax
jne 0x44fc7f
cmp ebx, dword [ebp + 0x48]
jae 0x44ea06
jmp case.0x44dcc9.108
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x70], 1
je 0x44ea58
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [eax + ecx]
inc edi
cmp byte [edx + eax], cl
jmp 0x44ea5e
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jne 0x44dc91
jmp case.0x44dcc9.108
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x44eac6
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
xor eax, eax
cmp byte [edi], 0x32
sete al
mov dword [ebp + 0x48], eax
jmp 0x44eac6
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x44eaa1
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
inc edi
jmp 0x44eaef
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
inc edi
jmp 0x44eaf6
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp + 0x4c], 1
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
add edi, 3
jmp 0x44eaf6
movzx eax, byte [edi]
sub eax, 0x2b
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x452314]
movsx eax, byte [eax + 0x45231c]
inc edi
test eax, eax
mov dword [ebp + 0x50], eax
jne 0x44eaf6
mov dword [ebp + 0x50], 0x7fffffff
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg case.0x44dcc9.108
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x70], 1
mov dword [ebp + 0x44], edx
je 0x44ebc0
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + edx]
mov dword [ebp + 0x44], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eb44
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44eb28
cmp ecx, dword [ebp + 0x50]
je 0x44dc91
cmp dword [ebp + 0x48], 0
jne 0x44fa30
mov dword [ebp + 0x48], ebx
jmp 0x44eb72
cmp ebx, dword [esi + 0x54]
jae 0x44eb77
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp + 0x44], eax
je 0x44eb77
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44eb5c
cmp dword [ebp + 0x4c], 0
jne 0x44dc91
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x44eb91
jmp case.0x44dcc9.108
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44ebde
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44ebca
cmp ecx, dword [ebp + 0x50]
je 0x44dc91
cmp dword [ebp + 0x48], 0
jne 0x44fa8e
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov eax, ecx
jge 0x44ec0e
cmp ebx, dword [esi + 0x54]
jae 0x44ec0e
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x44ec0e
inc ebx
inc eax
cmp eax, dword [ebp + 0x50]
jl 0x44ebfb
cmp dword [ebp + 0x4c], 0
jne 0x44dc91
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x44ec28
jmp case.0x44dcc9.108
xor ecx, ecx
mov ch, byte [edi + 1]
mov dword [ebp + 0x48], 1
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x44ecc1
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
xor eax, eax
cmp byte [edi], 0x3f
sete al
mov dword [ebp + 0x48], eax
jmp 0x44ecc1
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x44ec96
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x44], ecx
inc edi
jmp 0x44ecf0
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
inc edi
jmp 0x44ecf7
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp + 0x4c], 1
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], ecx
add edi, 3
jmp 0x44ecf7
movzx eax, byte [edi]
sub eax, 0x38
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x452314]
movsx eax, byte [eax + 0x45231c]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x44ecf7
mov dword [ebp + 0x50], 0x7fffffff
movzx eax, byte [edi]
mov edx, dword [esi + 0x54]
mov dword [ebp + 0x40], eax
mov eax, edx
sub eax, ebx
inc edi
cmp ecx, eax
jg case.0x44dcc9.108
test ecx, ecx
jle 0x44eff9
mov eax, dword [ebp + 0x40]
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x44fb6f.14
jmp dword [eax*4 + 0x44fe05]
test byte [ebp + 0x70], 4
jne case.0x44ed24.13
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44ed6b
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44ed93
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0041abda
add esp, 0x14
test eax, eax
jne case.0x44dcc9.108
mov ecx, dword [ebp + 0x44]
jmp 0x44ed93
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x44ed93
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x44ed93
cmp eax, 1
je case.0x44dcc9.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x44dcc9.108
inc ebx
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44ed3f
jmp 0x44eff9
add ebx, ecx
jmp 0x44eff9
cmp ecx, 1
mov dword [ebp + 0x6c], 1
jl 0x44eff9
cmp ebx, edx
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x44edee
jle case.0x44dcc9.108
cmp eax, 0xc
jle 0x44ede4
cmp eax, 0xd
je 0x44edfb
cmp eax, 0x85
jne case.0x44dcc9.108
cmp dword [esi + 0x48], 0
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44edb8
jmp 0x44eff9
cmp ebx, edx
jae 0x44edee
cmp byte [ebx], 0xa
jne 0x44edee
inc ebx
jmp 0x44edee
xor edx, edx
inc edx
cmp ecx, edx
jl 0x44eff9
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x44dcc9.108
cmp eax, 0x20
je case.0x44dcc9.108
cmp eax, 0xa0
je case.0x44dcc9.108
inc edx
cmp edx, ecx
jle 0x44ee12
jmp 0x44eff9
xor edx, edx
inc edx
cmp ecx, edx
jl 0x44eff9
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x44ee73
cmp eax, 0x20
je 0x44ee73
cmp eax, 0xa0
jne case.0x44dcc9.108
inc edx
cmp edx, ecx
jle 0x44ee51
jmp 0x44eff9
xor edx, edx
inc edx
cmp ecx, edx
jl 0x44eff9
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x44eeae
cmp eax, 0xd
jle case.0x44dcc9.108
cmp eax, 0x85
je case.0x44dcc9.108
inc edx
cmp edx, ecx
jle 0x44ee88
jmp 0x44eff9
xor edx, edx
inc edx
cmp ecx, edx
jl 0x44eff9
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x44dcc9.108
cmp eax, 0xd
jle 0x44eee9
cmp eax, 0x85
jne case.0x44dcc9.108
inc edx
cmp edx, ecx
jle 0x44eec3
jmp 0x44eff9
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44ef04
jmp 0x44eff9
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44ef34
jmp 0x44eff9
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44ef64
jmp 0x44eff9
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44ef8d
jmp 0x44eff9
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44efb6
jmp 0x44eff9
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x44eff9
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x44efdf
mov edx, dword [ebp + 0x50]
cmp ecx, edx
je 0x44dc91
cmp dword [ebp + 0x48], 0
jne 0x44fae5
mov eax, dword [ebp + 0x40]
add eax, 0xfffffffa
cmp eax, 0xe
mov dword [ebp + 0x48], ebx
ja case.0x44fb6f.14
jmp dword [eax*4 + 0x44fe41]
test byte [ebp + 0x70], 4
jne case.0x44f020.13
cmp ecx, edx
mov dword [ebp + 0x6c], ecx
jge 0x44f2dd
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44f2dd
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44f065
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041abda
add esp, 0x14
test eax, eax
jne 0x44f2dd
jmp 0x44f08a
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44f08a
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44f08a
cmp ecx, 1
je 0x44f2dd
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x44f2dd
inc ebx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x44f038
jmp 0x44f2dd
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x44f0aa
mov ecx, eax
add ebx, ecx
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x44f2dd
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x44f0dc
inc ebx
cmp ebx, edx
jae 0x44f2dd
cmp byte [ebx], 0xa
jne 0x44f101
jmp 0x44f100
cmp eax, 0xa
je 0x44f100
cmp dword [esi + 0x48], 0
jne 0x44f2dd
cmp eax, 0xb
je 0x44f100
cmp eax, 0xc
je 0x44f100
cmp eax, 0x85
jne 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f0bc
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x44f2dd
movzx eax, byte [ebx]
cmp eax, 9
je 0x44f2dd
cmp eax, 0x20
je 0x44f2dd
cmp eax, 0xa0
je 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f117
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x44f2dd
movzx eax, byte [ebx]
cmp eax, 9
je 0x44f176
cmp eax, 0x20
je 0x44f176
cmp eax, 0xa0
jne 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f156
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x44f2dd
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x44f2dd
cmp eax, 0xb
je 0x44f2dd
cmp eax, 0xc
je 0x44f2dd
cmp eax, 0xd
je 0x44f2dd
cmp eax, 0x85
je 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f18d
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x44f2dd
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x44f208
cmp eax, 0xb
je 0x44f208
cmp eax, 0xc
je 0x44f208
cmp eax, 0xd
je 0x44f208
cmp eax, 0x85
jne 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f1de
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
cmp ebx, dword [esi + 0x54]
jae 0x44f2dd
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f21c
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
cmp ebx, dword [esi + 0x54]
jae 0x44f2dd
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f249
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
cmp ebx, dword [esi + 0x54]
jae 0x44f2dd
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f26b
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
cmp ebx, dword [esi + 0x54]
jae 0x44f2dd
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f289
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
cmp ebx, dword [esi + 0x54]
jae 0x44f2dd
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f2a7
jmp 0x44f2dd
cmp ecx, edx
jge 0x44f2dd
cmp ebx, dword [esi + 0x54]
jae 0x44f2dd
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x44f2dd
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x44f2c5
cmp dword [ebp + 0x4c], 0
jne 0x44dc91
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
dec ebx
test eax, eax
jne 0x44fc7f
cmp ebx, dword [ebp + 0x48]
jae 0x44f2f7
jmp case.0x44dcc9.108
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x44f33e
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x44f334
add edi, 3
cmp dword [ebp + 0x6c], 0x62
jne 0x44f450
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 2
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
jmp 0x44f64c
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
mov dword [ebp + 0x3c], eax
add eax, eax
cmp eax, dword [esi + 0x14]
jl 0x44f566
cmp ecx, 0x60
jl 0x44f38e
mov dword [ebp + 0x78], 2
jmp 0x44f3d8
and dword [ebp + 0x78], 0
jmp 0x44f3d8
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44f3ce
cmp eax, 0xfffffc1c
jne 0x44fc7f
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
cmp byte [eax + edi], 0x53
je 0x44f394
cmp dword [ebp + 0x78], 0
jne 0x44f62a
movzx eax, byte [edi]
movzx eax, byte [eax + 0x452328]
add edi, eax
jmp 0x44f454
push 2
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x6c]
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
mov edi, dword [ebp + 0x40]
jmp 0x44f450
mov ecx, dword [ebp + 0x7c]
inc ecx
push ecx
push eax
push dword [ebp + 0x74]
push dword [ebp + 0x38]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x6c]
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
add edi, 3
and dword [ebp + 0x78], 0
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x44dc68
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x44fc7e
push 0xffffffffffffffeb
jmp 0x44fc7e
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
mov eax, 0xfffffc1a
jmp 0x44fc7f
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
mov eax, 0xfffffc19
jmp 0x44fc7f
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
mov dword [esi + 0x58], ebx
mov eax, 0xfffffc1b
jmp 0x44fc7f
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
mov eax, 0xfffffc1c
jmp 0x44fc7f
mov ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 2
mov dword [ebp + 0x44], ecx
add ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0x48], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp + 0x3c]
mov dword [ebp + 0x38], edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp + 0x50], ecx
mov ecx, dword [esi + 0x64]
mov dword [ebp + 0x40], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x50]
cmp dword [ebp + 0x6c], 0x61
mov dword [eax], ecx
jne 0x44f5a8
mov dword [ebp + 0x78], 2
jmp 0x44f5ac
and dword [ebp + 0x78], 0
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
movzx eax, byte [edi]
push dword [ebp + 0x78]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x74]
add eax, edi
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44f5eb
cmp eax, 0xfffffc1c
jne 0x44fc7f
mov eax, dword [ebp + 0x40]
mov dword [esi + 0x64], eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x44f5b3
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp + 0x44]
mov edx, dword [ebp + 0x38]
mov dword [eax + ecx], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0x48]
mov dword [ecx + eax + 4], edx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x3c]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0x50]
mov dword [ecx + eax*4], edx
jmp case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x452328]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
jmp 0x44fc7f
cmp dword [esi + 0x3c], 0
je 0x44f669
cmp ebx, dword [ebp + 0x64]
je case.0x44dcc9.108
mov eax, dword [ebp + 0x68]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 0x64]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ebx
mov eax, edx
jmp 0x44fc7f
mov eax, dword [esi + 0x4c]
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add ecx, eax
cmp ecx, eax
mov dword [ebp + 0x6c], ecx
jne 0x44f699
and dword [ebp + 0x24], 0
jmp 0x44f6a4
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp + 0x24], eax
mov eax, dword [esi + 0x74]
mov dword [ebp + 0x20], eax
lea eax, [ebp + 0x20]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
add edi, 3
cmp eax, 0x1e
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x34], eax
jg 0x44f6c9
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x30], ecx
jmp 0x44f6e5
shl eax, 2
push eax
call dword [0x45b0a4]
test eax, eax
pop ecx
mov dword [ebp + 0x30], eax
jne 0x44f6e2
push 0xfffffffffffffffa
jmp 0x44fc7e
mov eax, dword [ebp + 0x34]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp + 0x30]
call sub.MSVCR71.dll_memcpy
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x7c]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x6c]
mov al, byte [eax]
add esp, 0xc
cmp al, 0x60
sbb edi, edi
and edi, 0xfffffffe
inc edi
inc edi
inc ecx
mov dword [ebp + 0x4c], ecx
push dword [ebp + 0x4c]
movzx eax, al
movzx eax, byte [eax + 0x452328]
add eax, dword [ebp + 0x6c]
push edi
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push ebx
push eax
push ebx
call fcn.0044dc46
add esp, 0x24
cmp eax, 1
je 0x44f79e
test eax, eax
je 0x44f74c
cmp eax, 0xfffffc1c
jne 0x44fc7f
lea eax, [ebp + 0x20]
mov dword [esi + 0x74], eax
mov eax, dword [ebp + 0x34]
shl eax, 2
push eax
push dword [ebp + 0x30]
push dword [esi + 0xc]
call sub.MSVCR71.dll_memcpy
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x6c], eax
mov al, byte [eax]
cmp al, 0x53
je 0x44f712
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x60]
cmp dword [ebp + 0x30], eax
je case.0x44dcc9.108
push dword [ebp + 0x30]
call dword [0x45b0a8]
pop ecx
jmp case.0x44dcc9.108
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x60]
cmp dword [ebp + 0x30], eax
je 0x44de94
push dword [ebp + 0x30]
call dword [0x45b0a8]
pop ecx
jmp 0x44de94
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push dword [ebp + 0x38]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x6c]
jmp 0x44f64c
mov eax, dword [ebp + 0x68]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
jmp 0x44de94
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.0044dbe8
test eax, eax
pop ecx
pop ecx
je case.0x44dcc9.108
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44f7ea
jmp 0x44fc7f
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x6c], ecx
jge 0x44f875
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.0044dbe8
test eax, eax
pop ecx
pop ecx
je 0x44f86c
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x44f847
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
sub ebx, dword [ebp + 0x3c]
cmp ebx, dword [ebp + 0x48]
jae 0x44f87c
jmp case.0x44dcc9.108
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44f8ad
jmp 0x44fc7f
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
jge 0x44f945
cmp ebx, dword [esi + 0x54]
jae 0x44f93c
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x44f93c
inc ebx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x44f911
cmp ebx, dword [ebp + 0x48]
jb case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
jne 0x44fc7f
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x44f94c
jmp case.0x44dcc9.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44f9b7
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44f988
jmp 0x44fc7f
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44fa0e
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x44dcc9.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44f9e6
jmp 0x44fc7f
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44fa6c
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44fa3d
jmp 0x44fc7f
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44fac3
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
cmp ebx, dword [esi + 0x54]
jae case.0x44dcc9.108
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44fa9b
jmp 0x44fc7f
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x44fc55
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x44dcc9.108
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x44dcc9.108
test byte [ebp + 0x70], 4
jne 0x44fb5c
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44fb37
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041abda
add esp, 0x14
test eax, eax
jne case.0x44dcc9.108
jmp 0x44fb5c
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44fb5c
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44fb5c
cmp ecx, 1
je case.0x44dcc9.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x44dcc9.108
mov ecx, dword [ebp + 0x40]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xe
ja case.0x44fb6f.14
jmp dword [ecx*4 + 0x44fe7d]
cmp eax, 0xa
je case.0x44fb6f.12
jbe case.0x44dcc9.108
cmp eax, 0xc
jbe 0x44fb9a
cmp eax, 0xd
je 0x44fba3
cmp eax, 0x85
jne case.0x44dcc9.108
cmp dword [esi + 0x48], 0
jmp 0x44fc3a
cmp ebx, dword [esi + 0x54]
jae case.0x44fb6f.12
cmp byte [ebx], 0xa
jne case.0x44fb6f.12
inc ebx
jmp case.0x44fb6f.12
cmp eax, 9
je case.0x44dcc9.108
cmp eax, 0x20
je case.0x44dcc9.108
cmp eax, 0xa0
jmp 0x44fc49
cmp eax, 9
je case.0x44fb6f.12
cmp eax, 0x20
je case.0x44fb6f.12
cmp eax, 0xa0
jmp 0x44fc3a
cmp eax, 0xa
jb case.0x44fb6f.12
cmp eax, 0xd
jbe case.0x44dcc9.108
cmp eax, 0x85
jmp 0x44fc49
cmp eax, 0xa
jb case.0x44dcc9.108
cmp eax, 0xd
jbe case.0x44fb6f.12
cmp eax, 0x85
jmp 0x44fc3a
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x44fc3a
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x44fc49
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44fc3a
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44fc49
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44dcc9.108
jmp case.0x44fb6f.12
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je case.0x44dcc9.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.0044dc46
add esp, 0x24
test eax, eax
je 0x44faf8
jmp 0x44fc7f
push 0xfffffffffffffff2
jmp 0x44fc7e
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret