Function at 0x44a4d2
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x5c]
sub esp, 0xc0
mov eax, dword [ebp + 0x74]
push esi
mov esi, dword [ebp + 0x70]
mov dword [ebp + 0x48], eax
mov eax, dword [esi]
lea ecx, [eax + 1]
mov dword [esi], ecx
cmp eax, dword [esi + 4]
jb 0x44a4fb
push 0xfffffffffffffff8
pop eax
jmp 0x44bbd1
test byte [ebp + 0x7c], 2
push ebx
mov ebx, dword [ebp + 0x64]
je 0x44a514
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x14]
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x78], eax
push edi
mov edi, dword [ebp + 0x68]
mov al, byte [edi]
and dword [ebp + 0x44], 0
mov byte [ebp + 0x73], al
movzx eax, al
mov ecx, eax
cmp ecx, 0x4c
jle 0x44a55c
add ecx, 0xffffffb4
cmp ecx, 0x96
mov dword [ebp + 0x58], ecx
jle 0x44a549
movzx ecx, byte [edi + 4]
movzx edx, byte [edi + 5]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x58], ecx
xor edx, edx
add ecx, ecx
inc edx
cmp ecx, dword [esi + 0x10]
jl 0x44b427
push 0x4c
pop ecx
jmp 0x44a55f
xor edx, edx
inc edx
cmp ecx, 0x4c
ja case.0x44a56f.47
movzx ecx, byte [ecx + 0x44bc8a]
jmp dword [ecx*4 + 0x44bbda]
mov edi, dword [esi + 0x54]
test edi, edi
je 0x44b4bd
cmp dword [edi + 4], 0
jne 0x44b4bd
mov eax, dword [edi]
mov dword [esi + 0x54], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 8]
call sub.msvcrt.dll_memmove
mov eax, dword [edi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp + 0x48]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x74], eax
jmp 0x44a518
movzx eax, byte [edi + 1]
mov dword [ebp + 0x74], eax
inc edi
inc edi
jmp 0x44a518
push 2
push 0
push dword [ebp + 0x74]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
cmp eax, 1
je 0x44a600
test eax, eax
jne 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je case.0x44a56f.65
cmp byte [edi], 0x3e
je 0x44bbc8
test byte [ebp + 0x7c], 1
jne 0x44b606
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44a613
mov eax, dword [esi + 0x48]
add edi, 3
mov dword [ebp + 0x6c], eax
jmp 0x44a518
push 2
push 0
push dword [ebp + 0x74]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
cmp eax, 1
je 0x44bbc8
test eax, eax
jne 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je case.0x44a56f.66
test byte [ebp + 0x7c], 1
jne 0x44b606
add edi, 3
jmp 0x44a518
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
sub ebx, eax
cmp ebx, dword [esi + 0x38]
jb 0x44bbc8
jmp case.0x44a56f.72
cmp dword [0x464150], 0
je 0x44a5c0
movzx eax, byte [edi + 1]
mov ecx, dword [esi + 0x3c]
mov dword [ebp + 0x20], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x24], eax
mov eax, dword [esi + 0x38]
sub ecx, eax
and dword [ebp + 0x1c], 0
mov dword [ebp + 0x2c], ecx
mov ecx, dword [esi + 0x40]
sub ecx, eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x30], ecx
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp + 0x6c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp + 0x38], eax
mov eax, dword [esi + 0x4c]
mov dword [ebp + 0x3c], eax
mov eax, dword [esi + 0x58]
mov dword [ebp + 0x40], eax
lea eax, [ebp + 0x1c]
push eax
mov dword [ebp + 0x34], ecx
call dword [0x464150]
pop ecx
test eax, eax
jg 0x44bbc8
jl 0x44bbcf
jmp 0x44a5c0
mov dword [ebp + 0x70], edi
mov dword [ebp + 0x58], ebx
push 2
push dword [ebp + 0x78]
lea eax, [edi + 3]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
cmp eax, 1
je 0x44a74e
test eax, eax
jne 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44a714
mov al, byte [edi]
cmp al, 0x46
je 0x44a75c
cmp al, 0x3d
jne 0x44bbc8
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44a75c
cmp byte [edi], 0x3e
mov eax, dword [esi + 0x48]
mov ebx, dword [esi + 0x44]
mov dword [ebp + 0x6c], eax
je case.0x44a56f.72
cmp ebx, dword [ebp + 0x58]
je case.0x44a56f.72
lea eax, [edi + 3]
cmp byte [eax], 0xf
mov dword [ebp + 0x58], eax
jne 0x44a7a5
mov ecx, dword [ebp + 0x74]
movzx eax, byte [edi + 4]
and ecx, 0xfffffff8
or eax, ecx
mov dword [ebp + 0x74], eax
cmp byte [edi], 0x40
jne 0x44b60e
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x58]
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
push 2
push dword [ebp + 0x78]
push dword [ebp + 0x74]
jmp 0x44a9b4
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je case.0x44a56f.61
jmp 0x44a518
push 2
push dword [ebp + 0x78]
inc edi
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44a813
jmp case.0x44a56f.72
inc edi
mov eax, edi
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x3d
je 0x44a82f
push 2
push dword [ebp + 0x78]
add eax, 3
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
jmp 0x44a518
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 4]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax]
mov dword [ebp + 0x78], eax
mov al, byte [ecx]
mov dword [ebp + 0x70], ecx
cmp al, 0x41
je 0x44b4cc
cmp al, 0x42
je 0x44b4cc
cmp al, 0x43
je 0x44b4cc
cmp al, 0x44
je 0x44b4cc
cmp al, 0x46
je 0x44b4cc
cmp al, 0x47
je 0x44a96c
movzx eax, al
sub eax, 0x4c
cmp eax, 0x96
mov dword [ebp + 0x74], eax
jle 0x44a8e0
movzx eax, byte [ecx + 4]
movzx ecx, byte [ecx + 5]
shl eax, 8
or eax, ecx
mov dword [ebp + 0x74], eax
lea edx, [eax + eax]
test eax, eax
jle 0x44a96c
cmp edx, dword [esi + 0x10]
mov dword [esi + 0x4c], eax
jl 0x44a8fc
mov dword [esi + 0x1c], 1
jmp 0x44a930
mov ecx, dword [esi + 8]
shl edx, 2
mov dword [ebp + 0x58], edx
mov edx, dword [esi + 0xc]
sub edx, eax
mov edx, dword [ecx + edx*4]
mov eax, dword [ebp + 0x58]
mov dword [eax + ecx], edx
mov edx, dword [esi + 8]
mov ecx, ebx
sub ecx, dword [esi + 0x38]
mov dword [eax + edx + 4], ecx
mov eax, dword [ebp + 0x74]
lea ecx, [eax + eax]
cmp dword [ebp + 0x6c], ecx
jg 0x44a930
add ecx, 2
mov dword [ebp + 0x6c], ecx
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x44a96c
cmp dword [ecx + 4], eax
jne 0x44a96c
mov edi, ecx
mov eax, dword [edi]
mov dword [esi + 0x54], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 8]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 0x48]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x74], eax
jmp 0x44a518
cmp byte [edi], 0x3e
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x74], eax
je case.0x44a56f.72
cmp ebx, dword [ebp + 0x54]
je case.0x44a56f.72
cmp byte [edi], 0x40
jne 0x44b641
push 0
push dword [ebp + 0x78]
add edi, 3
push eax
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
push 2
push dword [ebp + 0x78]
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x70]
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44bbc8
jmp 0x44bbcf
cmp dword [esi + 0x20], 0
je 0x44a9e0
cmp ebx, dword [esi + 0x38]
je 0x44bbc8
test byte [ebp + 0x74], 2
je case.0x44a56f.1
cmp ebx, dword [esi + 0x38]
je 0x44a9f5
cmp byte [ebx - 1], 0xa
jne 0x44bbc8
inc edi
jmp 0x44a518
cmp ebx, dword [esi + 0x38]
jmp 0x44a9ef
mov eax, dword [esi + 0x50]
add eax, dword [esi + 0x38]
cmp ebx, eax
jmp 0x44a9ef
test byte [ebp + 0x74], 2
je 0x44aa25
cmp ebx, dword [esi + 0x3c]
jae 0x44aa1f
mov al, byte [ebx]
cmp al, 0xa
je 0x44a9f5
cmp al, 0xd
jmp 0x44a9ef
cmp dword [esi + 0x24], 0
jmp 0x44a9ef
cmp dword [esi + 0x24], 0
jne 0x44bbc8
cmp dword [esi + 0x2c], 0
jne case.0x44a56f.14
mov eax, dword [esi + 0x3c]
lea ecx, [eax - 2]
cmp ebx, ecx
jb 0x44bbc8
dec eax
cmp ebx, eax
jne 0x44aa51
cmp byte [ebx], 0xa
jne 0x44bbc8
cmp ebx, ecx
jne 0x44a9f5
cmp byte [ebx], 0xd
jne 0x44bbc8
cmp byte [ebx + 1], 0xa
jmp 0x44a9ef
cmp ebx, dword [esi + 0x3c]
jb 0x44bbc8
jmp 0x44a9f5
cmp ebx, dword [esi + 0x38]
je 0x44aa86
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
je 0x44aa86
mov dword [ebp + 0x58], edx
jmp 0x44aa8a
and dword [ebp + 0x58], 0
cmp ebx, dword [esi + 0x3c]
jae 0x44aa9b
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jne 0x44aa9d
xor edx, edx
inc edi
xor eax, eax
cmp byte [ebp + 0x73], 4
jne 0x44aaae
cmp edx, dword [ebp + 0x58]
sete al
jmp 0x44aab4
cmp edx, dword [ebp + 0x58]
setne al
test eax, eax
je 0x44a518
jmp 0x44bbc8
test byte [ebp + 0x74], 4
jne case.0x44a56f.12
cmp ebx, dword [esi + 0x3c]
jae case.0x44a56f.12
cmp byte [ebx], 0xa
je 0x44bbc8
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x3c]
jae 0x44bbc8
jmp 0x44a9f5
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 4
jmp 0x44a9ef
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 4
je 0x44bbc8
jmp 0x44a9f5
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 1
jmp 0x44a9ef
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 1
jmp 0x44ab13
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x44a9ef
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x44ab13
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add eax, eax
add edi, 3
cmp eax, dword [ebp + 0x6c]
mov dword [ebp + 0x58], eax
jge 0x44aba9
mov ecx, dword [esi + 8]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x44aba9
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x44abaf
mov edx, dword [esi + 0x3c]
sub edx, ebx
inc edx
mov al, byte [edi]
mov dword [ebp + 0x54], edx
cmp al, 0x2f
jb 0x44ac91
cmp al, 0x34
jbe 0x44ac04
cmp al, 0x36
ja 0x44ac91
movzx edx, byte [edi + 4]
xor ecx, ecx
cmp al, 0x36
movzx eax, byte [edi + 2]
sete cl
mov dword [ebp + 0x44], ecx
movzx ecx, byte [edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 3]
shl eax, 8
or eax, edx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
jne 0x44abfc
mov eax, SysAllocStringLen
mov dword [ebp + 0x50], eax
mov edx, dword [ebp + 0x54]
add edi, 5
jmp 0x44ac33
movzx eax, al
sub eax, 0x2f
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x4579d0]
movsx eax, byte [eax + 0x4579d8]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44ac33
mov eax, SysAllocStringLen
mov dword [ebp + 0x50], eax
test edx, edx
je 0x44a518
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44ac74
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044a474
pop ecx
pop ecx
test eax, eax
je 0x44bbc8
add ebx, dword [ebp + 0x54]
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ebp + 0x4c]
jle 0x44ac45
mov ecx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x50]
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
je 0x44b6bf
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x70], eax
jmp 0x44b6a0
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044a474
pop ecx
pop ecx
test eax, eax
je 0x44bbc8
add ebx, dword [ebp + 0x54]
jmp 0x44a518
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp + 0x58], eax
mov al, byte [edi]
cmp al, 0x2f
jb 0x44ad34
cmp al, 0x34
jbe 0x44ad07
cmp al, 0x36
ja 0x44ad34
movzx edx, byte [edi + 4]
xor ecx, ecx
cmp al, 0x36
movzx eax, byte [edi + 2]
sete cl
mov dword [ebp + 0x44], ecx
movzx ecx, byte [edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 3]
shl eax, 8
or eax, edx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
jne 0x44acff
mov eax, SysAllocStringLen
mov dword [ebp + 0x50], eax
xor edx, edx
add edi, 5
inc edx
jmp 0x44ad3e
movzx eax, al
sub eax, 0x2f
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x4579d0]
movsx eax, byte [eax + 0x4579d8]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44ad3e
mov eax, SysAllocStringLen
jmp 0x44ad3b
mov eax, edx
mov ecx, edx
mov dword [ebp + 0x4c], edx
mov dword [ebp + 0x50], eax
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44ad87
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x58]
inc ebx
mov dword [ebp + 0x54], edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x54]
test al, cl
je 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44ad45
mov eax, dword [ebp + 0x50]
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
je 0x44b77d
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x70], eax
jmp 0x44b75e
movzx eax, byte [edi + 1]
mov ecx, dword [esi + 0x3c]
inc edi
sub ecx, ebx
inc edi
cmp eax, ecx
jg 0x44bbc8
test byte [ebp + 0x74], 1
je 0x44adfb
test eax, eax
jle 0x44a518
mov ecx, dword [esi + 0x14]
movzx edx, byte [edi]
dec eax
mov dword [ebp + 0x70], eax
movzx eax, byte [ebx]
mov al, byte [eax + ecx]
inc ebx
inc edi
cmp byte [edx + ecx], al
jne 0x44bbc8
mov eax, dword [ebp + 0x70]
test eax, eax
jg 0x44adc8
jmp 0x44a518
mov dl, byte [ebx]
mov cl, byte [edi]
dec eax
inc ebx
inc edi
cmp cl, dl
jne 0x44bbc8
test eax, eax
jg 0x44adec
jmp 0x44a518
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov ecx, eax
mov dword [ebp + 0x4c], ecx
add edi, 3
jmp 0x44ae68
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and dword [ebp + 0x4c], 0
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp byte [ebp + 0x73], 0x1b
sete cl
add edi, 3
mov dword [ebp + 0x44], ecx
mov ecx, dword [ebp + 0x4c]
jmp 0x44ae68
add eax, 0xffffffec
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x4579d0]
movsx eax, byte [eax + 0x4579d8]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44ae6b
mov eax, SysAllocStringLen
mov dword [ebp + 0x50], eax
mov edx, dword [esi + 0x3c]
sub edx, ebx
cmp ecx, edx
jg 0x44bbc8
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x74], 1
mov dword [ebp + 0x54], edx
je 0x44af09
mov ecx, dword [esi + 0x14]
movzx ecx, byte [ecx + edx]
xor edx, edx
mov dword [ebp + 0x54], ecx
mov ecx, dword [ebp + 0x4c]
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44aebf
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
inc ebx
cmp dword [ebp + 0x54], ecx
jne 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44aea0
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44b815
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44b834
cmp ebx, dword [esi + 0x3c]
jae 0x44b853
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
cmp dword [ebp + 0x54], ecx
jne 0x44b853
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44aedf
jmp 0x44b853
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44af2b
movzx ecx, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], ecx
jne 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44af13
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44b882
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44b8a1
cmp ebx, dword [esi + 0x3c]
jae 0x44b8c0
movzx ecx, byte [ebx]
cmp dword [ebp + 0x54], ecx
jne 0x44b8c0
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44af4b
jmp 0x44b8c0
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x74], 1
je 0x44af91
mov eax, dword [esi + 0x14]
movzx edx, byte [edi]
mov cl, byte [eax + ecx]
inc edi
cmp byte [edx + eax], cl
jmp 0x44af97
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jne 0x44a518
jmp 0x44bbc8
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov ecx, eax
mov dword [ebp + 0x4c], ecx
add edi, 3
jmp 0x44b006
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and dword [ebp + 0x4c], 0
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp byte [ebp + 0x73], 0x24
sete cl
add edi, 3
mov dword [ebp + 0x44], ecx
mov ecx, dword [ebp + 0x4c]
jmp 0x44b006
add eax, 0xffffffe3
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x4579d0]
movsx eax, byte [eax + 0x4579d8]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b009
mov eax, SysAllocStringLen
mov dword [ebp + 0x50], eax
mov edx, dword [esi + 0x3c]
sub edx, ebx
cmp ecx, edx
jg 0x44bbc8
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x74], 1
mov dword [ebp + 0x54], edx
je 0x44b0a7
mov ecx, dword [esi + 0x14]
movzx ecx, byte [ecx + edx]
xor edx, edx
mov dword [ebp + 0x54], ecx
mov ecx, dword [ebp + 0x4c]
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44b05d
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
inc ebx
cmp dword [ebp + 0x54], ecx
je 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b03e
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44b8f6
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44b915
cmp ebx, dword [esi + 0x3c]
jae 0x44b934
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
cmp dword [ebp + 0x54], ecx
je 0x44b934
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44b07d
jmp 0x44b934
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44b0c9
movzx ecx, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], ecx
je 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b0b1
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44b963
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44b982
cmp ebx, dword [esi + 0x3c]
jae 0x44b9a1
movzx ecx, byte [ebx]
cmp dword [ebp + 0x54], ecx
je 0x44b9a1
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44b0e9
jmp 0x44b9a1
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov ecx, eax
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x44], edx
add edi, 3
jmp 0x44b173
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
and dword [ebp + 0x4c], 0
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp byte [ebp + 0x73], 0x2d
sete cl
add edi, 3
mov dword [ebp + 0x44], ecx
mov ecx, dword [ebp + 0x4c]
jmp 0x44b173
add eax, 0xffffffda
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x4579d0]
movsx eax, byte [eax + 0x4579d8]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b176
mov eax, SysAllocStringLen
mov dword [ebp + 0x50], eax
movzx edx, byte [edi]
mov dword [ebp + 0x58], edx
mov edx, dword [esi + 0x3c]
sub edx, ebx
inc edi
cmp ecx, edx
jg 0x44bbc8
test ecx, ecx
jle case.default.0x44b1a1
mov edx, dword [ebp + 0x58]
add edx, 0xfffffffb
cmp edx, 7
ja case.default.0x44b1a1
jmp dword [edx*4 + 0x44bcda]
test byte [ebp + 0x74], 4
jne case.0x44b1a1.12
cmp ecx, 1
mov dword [ebp + 0x70], 1
jl case.default.0x44b1a1
mov dl, byte [ebx]
inc ebx
cmp dl, 0xa
je 0x44bbc8
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], ecx
jle 0x44b1be
jmp case.default.0x44b1a1
add ebx, ecx
jmp case.default.0x44b1a1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b1a1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 4
inc ebx
test cl, cl
jne 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b1ec
jmp case.default.0x44b1a1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b1a1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 4
inc ebx
test cl, cl
je 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b21f
jmp case.default.0x44b1a1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b1a1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 1
inc ebx
test cl, cl
jne 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b252
jmp case.default.0x44b1a1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b1a1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 1
inc ebx
test cl, cl
je 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b281
jmp case.default.0x44b1a1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b1a1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 0x10
inc ebx
test cl, cl
jne 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b2ad
jmp case.default.0x44b1a1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b1a1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 0x10
inc ebx
test cl, cl
je 0x44bbc8
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b2d9
cmp ecx, eax
je 0x44a518
cmp dword [ebp + 0x44], 0
je 0x44ba4f
mov dword [ebp + 0x70], ecx
jmp 0x44ba2c
push 2
push dword [ebp + 0x78]
lea eax, [edi + 3]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je case.0x44a56f.76
jmp 0x44bbc8
lea eax, [edi + 3]
cmp byte [eax], 0x48
jne 0x44b3af
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, 0x1fffe
jne 0x44b375
xor eax, eax
cmp dword [esi + 0x54], eax
setne al
jmp 0x44b385
cmp eax, dword [ebp + 0x6c]
jge 0x44b383
mov ecx, dword [esi + 8]
cmp dword [ecx + eax*4], 0
jge 0x44b389
xor eax, eax
test eax, eax
je 0x44b38e
push 6
pop eax
jmp 0x44b39e
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add eax, 3
push 2
push dword [ebp + 0x78]
add eax, edi
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
jmp 0x44b419
push 3
push 0
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
cmp eax, 1
jne 0x44b3f2
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
lea edi, [edi + eax + 3]
jmp 0x44b3eb
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44b3dc
jmp 0x44b409
test eax, eax
jne 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
push 2
push dword [ebp + 0x78]
add edi, 3
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
jmp 0x44bbcf
mov eax, dword [esi + 8]
shl ecx, 2
mov dword [ebp + 0x54], ecx
add ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0x44], ecx
mov ecx, dword [esi + 0xc]
sub ecx, dword [ebp + 0x58]
mov dword [ebp + 0x48], edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp + 0x50], ecx
mov ecx, dword [esi + 0x4c]
mov dword [ebp + 0x70], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x38]
mov dword [eax], ecx
push 2
push dword [ebp + 0x78]
lea eax, [edi + 3]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
mov eax, dword [ebp + 0x70]
mov dword [esi + 0x4c], eax
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44b458
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x48]
mov dword [eax + ecx], edx
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x44]
mov dword [eax + ecx + 4], edx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x58]
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x50]
mov dword [ecx + eax*4], edx
jmp 0x44bbc8
cmp dword [esi + 0x30], 0
je 0x44b4cc
cmp ebx, dword [esi + 0x40]
je 0x44bbc8
mov eax, dword [ebp + 0x6c]
mov dword [esi + 0x48], eax
mov dword [esi + 0x44], ebx
mov eax, edx
jmp 0x44bbcf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add eax, dword [esi + 0x34]
cmp byte [eax], 0x49
mov dword [ebp + 0x70], eax
jne 0x44b4f8
inc eax
mov dword [ebp + 0x70], eax
movzx ecx, byte [eax]
sub ecx, 0x4c
cmp ecx, 0x96
mov dword [ebp + 0x30], ecx
jle 0x44b519
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [ebp + 0x30], ecx
mov eax, dword [esi + 0x54]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x2c]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
add edi, 3
cmp eax, 0x1e
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x40], eax
jg 0x44b53e
lea ecx, [ebp - 0x64]
mov dword [ebp + 0x3c], ecx
jmp 0x44b55a
shl eax, 2
push eax
call dword [0x4617a8]
pop ecx
mov dword [ebp + 0x3c], eax
test eax, eax
jne 0x44b557
push 0xfffffffffffffffa
jmp 0x44bbce
mov eax, dword [ebp + 0x40]
shl eax, 2
push eax
push dword [esi + 8]
push dword [ebp + 0x3c]
call sub.msvcrt.dll_memcpy
mov eax, dword [esi + 0x40]
mov edi, dword [ebp + 0x70]
add esp, 0xc
mov dword [ebp + 0x38], eax
mov dword [esi + 0x40], ebx
push 2
push dword [ebp + 0x78]
lea eax, [edi + 3]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044a4d2
add esp, 0x1c
cmp eax, 1
je 0x44b5ee
test eax, eax
jne 0x44bbcf
lea eax, [ebp + 0x2c]
mov dword [esi + 0x54], eax
mov eax, dword [ebp + 0x40]
shl eax, 2
push eax
push dword [ebp + 0x3c]
push dword [esi + 8]
call sub.msvcrt.dll_memcpy
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
add esp, 0xc
cmp byte [edi], 0x3d
je 0x44b578
mov eax, dword [ebp + 0x2c]
mov dword [esi + 0x54], eax
lea eax, [ebp - 0x64]
cmp dword [ebp + 0x3c], eax
je 0x44bbc8
push dword [ebp + 0x3c]
call dword [0x4617ac]
pop ecx
jmp 0x44bbc8
mov eax, dword [ebp + 0x2c]
mov dword [esi + 0x54], eax
lea eax, [ebp - 0x64]
cmp dword [ebp + 0x3c], eax
je 0x44b606
push dword [ebp + 0x3c]
call dword [0x4617ac]
pop ecx
xor eax, eax
inc eax
jmp 0x44bbcf
push 2
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x70]
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
push eax
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x58]
jmp 0x44a9bb
push 2
push dword [ebp + 0x78]
push eax
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x70]
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
push eax
push dword [ebp + 0x78]
add edi, 3
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x6c]
push edi
jmp 0x44a9bb
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044a474
pop ecx
pop ecx
test eax, eax
je 0x44bbc8
add ebx, dword [ebp + 0x54]
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b673
jmp 0x44bbcf
cmp ecx, eax
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x70], ecx
jge 0x44b6f0
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044a474
pop ecx
pop ecx
test eax, eax
je 0x44b711
add ebx, dword [ebp + 0x54]
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ebp + 0x50]
jl 0x44b6c9
jmp 0x44b711
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
sub ebx, dword [ebp + 0x54]
cmp ebx, dword [ebp + 0x48]
jae 0x44b6f0
jmp 0x44bbc8
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x58]
inc ebx
mov dword [ebp + 0x48], edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x48]
test al, cl
je 0x44bbc8
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b71b
jmp 0x44bbcf
cmp ecx, eax
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x70], ecx
jge 0x44b7c0
cmp ebx, dword [esi + 0x3c]
jae 0x44b7df
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x58]
mov dword [ebp + 0x54], edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x54]
test al, cl
je 0x44b7df
inc ebx
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ebp + 0x50]
jl 0x44b787
jmp 0x44b7df
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44bbcf
cmp ebx, dword [ebp + 0x48]
jae 0x44b7c0
jmp 0x44bbc8
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x54], eax
jne 0x44bbc8
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b7e9
jmp 0x44bbcf
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44bbcf
cmp ebx, dword [ebp + 0x58]
jae 0x44b834
jmp 0x44bbc8
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], eax
jne 0x44bbc8
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b85d
jmp 0x44bbcf
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44bbcf
cmp ebx, dword [ebp + 0x58]
jae 0x44b8a1
jmp 0x44bbc8
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x54], eax
je 0x44bbc8
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b8ca
jmp 0x44bbcf
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
dec ebx
cmp ebx, dword [ebp + 0x58]
jae 0x44b915
jmp 0x44bbc8
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], eax
je 0x44bbc8
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b93e
jmp 0x44bbcf
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
jne 0x44bbcf
dec ebx
cmp ebx, dword [ebp + 0x58]
jae 0x44b982
jmp 0x44bbc8
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44bbc8
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc8
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x58]
inc ebx
sub ecx, 5
je 0x44ba1c
dec ecx
je 0x44ba13
dec ecx
je 0x44ba0a
dec ecx
je 0x44ba01
dec ecx
je 0x44b9f8
dec ecx
je 0x44b9ef
dec ecx
jne 0x44ba29
test byte [ebp + 0x74], 4
jne 0x44ba29
cmp eax, 0xa
je 0x44bbc8
jmp 0x44ba29
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jmp 0x44b9e7
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jmp 0x44ba23
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x44b9e7
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x44ba23
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 4
jmp 0x44b9e7
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 4
jne 0x44bbc8
inc dword [ebp + 0x70]
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
test eax, eax
je 0x44b9ab
jmp 0x44bbcf
mov edx, dword [ebp + 0x58]
add edx, 0xfffffffb
mov dword [ebp + 0x48], ebx
cmp edx, 7
ja case.default.0x44ba61
jmp dword [edx*4 + 0x44bcfa]
test byte [ebp + 0x74], 4
jne case.0x44ba61.12
cmp ecx, eax
jge case.default.0x44ba61
mov edx, dword [esi + 0x3c]
cmp ebx, edx
jae 0x44bbc3
cmp byte [ebx], 0xa
je 0x44bbc3
inc ebx
inc ecx
cmp ecx, eax
jl 0x44ba79
jmp 0x44bbc3
sub eax, ecx
mov ecx, dword [esi + 0x3c]
sub ecx, ebx
cmp eax, ecx
jle 0x44baa2
mov eax, ecx
add ebx, eax
jmp 0x44bbc3
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44ba61
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 4
jne 0x44bbc3
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44bab4
jmp 0x44bbc3
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44ba61
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 4
je 0x44bbc3
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44bae6
jmp 0x44bbc3
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44ba61
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 1
jne 0x44bbc3
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44bb18
jmp 0x44bbc3
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44ba61
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 1
je 0x44bbc3
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44bb46
jmp 0x44bbc3
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44ba61
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 0x10
jne 0x44bbc3
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44bb69
jmp 0x44bbc3
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44ba61
cmp ebx, dword [esi + 0x3c]
jae 0x44bbc3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 0x10
je 0x44bbc3
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44bb8c
jmp 0x44bbc3
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044a4d2
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44bbcf
cmp ebx, dword [ebp + 0x48]
jae case.default.0x44ba61
xor eax, eax
jmp 0x44bbcf
push 0xfffffffffffffffb
pop eax
pop edi
pop ebx
pop esi
add ebp, 0x5c
leave
ret