Function at 0x44ac12
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 0x44ac3b
push 0xfffffffffffffff8
pop eax
jmp 0x44c311
test byte [ebp + 0x7c], 2
push ebx
mov ebx, dword [ebp + 0x64]
je 0x44ac54
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 0x44ac9c
add ecx, 0xffffffb4
cmp ecx, 0x96
mov dword [ebp + 0x58], ecx
jle 0x44ac89
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 0x44bb67
push 0x4c
pop ecx
jmp 0x44ac9f
xor edx, edx
inc edx
cmp ecx, 0x4c
ja case.0x44acaf.47
movzx ecx, byte [ecx + 0x44c3ca]
jmp dword [ecx*4 + 0x44c31a]
mov edi, dword [esi + 0x54]
test edi, edi
je 0x44bbfd
cmp dword [edi + 4], 0
jne 0x44bbfd
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 fcn.0044fbe0
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 0x44ac58
movzx eax, byte [edi + 1]
mov dword [ebp + 0x74], eax
inc edi
inc edi
jmp 0x44ac58
push 2
push 0
push dword [ebp + 0x74]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044ac12
add esp, 0x1c
cmp eax, 1
je 0x44ad40
test eax, eax
jne 0x44c30f
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.0x44acaf.65
cmp byte [edi], 0x3e
je 0x44c308
test byte [ebp + 0x7c], 1
jne 0x44bd46
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44ad53
mov eax, dword [esi + 0x48]
add edi, 3
mov dword [ebp + 0x6c], eax
jmp 0x44ac58
push 2
push 0
push dword [ebp + 0x74]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044ac12
add esp, 0x1c
cmp eax, 1
je 0x44c308
test eax, eax
jne 0x44c30f
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.0x44acaf.66
test byte [ebp + 0x7c], 1
jne 0x44bd46
add edi, 3
jmp 0x44ac58
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 0x44c308
jmp case.0x44acaf.72
cmp dword [0x4750fc], 0
je 0x44ad00
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 [0x4750fc]
pop ecx
test eax, eax
jg 0x44c308
jl 0x44c30f
jmp 0x44ad00
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.0044ac12
add esp, 0x1c
cmp eax, 1
je 0x44ae8e
test eax, eax
jne 0x44c30f
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44ae54
mov al, byte [edi]
cmp al, 0x46
je 0x44ae9c
cmp al, 0x3d
jne 0x44c308
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44ae9c
cmp byte [edi], 0x3e
mov eax, dword [esi + 0x48]
mov ebx, dword [esi + 0x44]
mov dword [ebp + 0x6c], eax
je case.0x44acaf.72
cmp ebx, dword [ebp + 0x58]
je case.0x44acaf.72
lea eax, [edi + 3]
cmp byte [eax], 0xf
mov dword [ebp + 0x58], eax
jne 0x44aee5
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 0x44bd4e
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x58]
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
push 2
push dword [ebp + 0x78]
push dword [ebp + 0x74]
jmp 0x44b0f4
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.0x44acaf.61
jmp 0x44ac58
push 2
push dword [ebp + 0x78]
inc edi
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44af53
jmp case.0x44acaf.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 0x44af6f
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.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
jmp 0x44ac58
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 0x44bc0c
cmp al, 0x42
je 0x44bc0c
cmp al, 0x43
je 0x44bc0c
cmp al, 0x44
je 0x44bc0c
cmp al, 0x46
je 0x44bc0c
cmp al, 0x47
je 0x44b0ac
movzx eax, al
sub eax, 0x4c
cmp eax, 0x96
mov dword [ebp + 0x74], eax
jle 0x44b020
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 0x44b0ac
cmp edx, dword [esi + 0x10]
mov dword [esi + 0x4c], eax
jl 0x44b03c
mov dword [esi + 0x1c], 1
jmp 0x44b070
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 0x44b070
add ecx, 2
mov dword [ebp + 0x6c], ecx
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x44b0ac
cmp dword [ecx + 4], eax
jne 0x44b0ac
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 fcn.0044de20
mov eax, dword [ebp + 0x48]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x74], eax
jmp 0x44ac58
cmp byte [edi], 0x3e
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x74], eax
je case.0x44acaf.72
cmp ebx, dword [ebp + 0x54]
je case.0x44acaf.72
cmp byte [edi], 0x40
jne 0x44bd81
push 0
push dword [ebp + 0x78]
add edi, 3
push eax
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
push 2
push dword [ebp + 0x78]
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x70]
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
je 0x44c308
jmp 0x44c30f
cmp dword [esi + 0x20], 0
je 0x44b120
cmp ebx, dword [esi + 0x38]
je 0x44c308
test byte [ebp + 0x74], 2
je case.0x44acaf.1
cmp ebx, dword [esi + 0x38]
je 0x44b135
cmp byte [ebx - 1], 0xa
jne 0x44c308
inc edi
jmp 0x44ac58
cmp ebx, dword [esi + 0x38]
jmp 0x44b12f
mov eax, dword [esi + 0x50]
add eax, dword [esi + 0x38]
cmp ebx, eax
jmp 0x44b12f
test byte [ebp + 0x74], 2
je 0x44b165
cmp ebx, dword [esi + 0x3c]
jae 0x44b15f
mov al, byte [ebx]
cmp al, 0xa
je 0x44b135
cmp al, 0xd
jmp 0x44b12f
cmp dword [esi + 0x24], 0
jmp 0x44b12f
cmp dword [esi + 0x24], 0
jne 0x44c308
cmp dword [esi + 0x2c], 0
jne case.0x44acaf.14
mov eax, dword [esi + 0x3c]
lea ecx, [eax - 2]
cmp ebx, ecx
jb 0x44c308
dec eax
cmp ebx, eax
jne 0x44b191
cmp byte [ebx], 0xa
jne 0x44c308
cmp ebx, ecx
jne 0x44b135
cmp byte [ebx], 0xd
jne 0x44c308
cmp byte [ebx + 1], 0xa
jmp 0x44b12f
cmp ebx, dword [esi + 0x3c]
jb 0x44c308
jmp 0x44b135
cmp ebx, dword [esi + 0x38]
je 0x44b1c6
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
je 0x44b1c6
mov dword [ebp + 0x58], edx
jmp 0x44b1ca
and dword [ebp + 0x58], 0
cmp ebx, dword [esi + 0x3c]
jae 0x44b1db
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jne 0x44b1dd
xor edx, edx
inc edi
xor eax, eax
cmp byte [ebp + 0x73], 4
jne 0x44b1ee
cmp edx, dword [ebp + 0x58]
sete al
jmp 0x44b1f4
cmp edx, dword [ebp + 0x58]
setne al
test eax, eax
je 0x44ac58
jmp 0x44c308
test byte [ebp + 0x74], 4
jne case.0x44acaf.12
cmp ebx, dword [esi + 0x3c]
jae case.0x44acaf.12
cmp byte [ebx], 0xa
je 0x44c308
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x3c]
jae 0x44c308
jmp 0x44b135
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 4
jmp 0x44b12f
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 4
je 0x44c308
jmp 0x44b135
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 1
jmp 0x44b12f
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 1
jmp 0x44b253
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x44b12f
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x18]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x44b253
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 0x44b2e9
mov ecx, dword [esi + 8]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x44b2e9
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x44b2ef
mov edx, dword [esi + 0x3c]
sub edx, ebx
inc edx
mov al, byte [edi]
mov dword [ebp + 0x54], edx
cmp al, 0x2f
jb 0x44b3d1
cmp al, 0x34
jbe 0x44b344
cmp al, 0x36
ja 0x44b3d1
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 0x44b33c
mov eax, SysReAllocString
mov dword [ebp + 0x50], eax
mov edx, dword [ebp + 0x54]
add edi, 5
jmp 0x44b373
movzx eax, al
sub eax, 0x2f
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x466080]
movsx eax, byte [eax + 0x466088]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b373
mov eax, SysReAllocString
mov dword [ebp + 0x50], eax
test edx, edx
je 0x44ac58
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44b3b4
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044abb4
pop ecx
pop ecx
test eax, eax
je 0x44c308
add ebx, dword [ebp + 0x54]
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ebp + 0x4c]
jle 0x44b385
mov ecx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x50]
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
je 0x44bdff
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x70], eax
jmp 0x44bde0
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044abb4
pop ecx
pop ecx
test eax, eax
je 0x44c308
add ebx, dword [ebp + 0x54]
jmp 0x44ac58
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp + 0x58], eax
mov al, byte [edi]
cmp al, 0x2f
jb 0x44b474
cmp al, 0x34
jbe 0x44b447
cmp al, 0x36
ja 0x44b474
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 0x44b43f
mov eax, SysReAllocString
mov dword [ebp + 0x50], eax
xor edx, edx
add edi, 5
inc edx
jmp 0x44b47e
movzx eax, al
sub eax, 0x2f
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x466080]
movsx eax, byte [eax + 0x466088]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b47e
mov eax, SysReAllocString
jmp 0x44b47b
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 0x44b4c7
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
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 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b485
mov eax, dword [ebp + 0x50]
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
je 0x44bebd
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x70], eax
jmp 0x44be9e
movzx eax, byte [edi + 1]
mov ecx, dword [esi + 0x3c]
inc edi
sub ecx, ebx
inc edi
cmp eax, ecx
jg 0x44c308
test byte [ebp + 0x74], 1
je 0x44b53b
test eax, eax
jle 0x44ac58
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 0x44c308
mov eax, dword [ebp + 0x70]
test eax, eax
jg 0x44b508
jmp 0x44ac58
mov dl, byte [ebx]
mov cl, byte [edi]
dec eax
inc ebx
inc edi
cmp cl, dl
jne 0x44c308
test eax, eax
jg 0x44b52c
jmp 0x44ac58
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 0x44b5a8
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 0x44b5a8
add eax, 0xffffffec
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x466080]
movsx eax, byte [eax + 0x466088]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b5ab
mov eax, SysReAllocString
mov dword [ebp + 0x50], eax
mov edx, dword [esi + 0x3c]
sub edx, ebx
cmp ecx, edx
jg 0x44c308
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x74], 1
mov dword [ebp + 0x54], edx
je 0x44b649
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 0x44b5ff
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
inc ebx
cmp dword [ebp + 0x54], ecx
jne 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b5e0
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44bf55
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44bf74
cmp ebx, dword [esi + 0x3c]
jae 0x44bf93
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
cmp dword [ebp + 0x54], ecx
jne 0x44bf93
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44b61f
jmp 0x44bf93
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44b66b
movzx ecx, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], ecx
jne 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b653
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44bfc2
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44bfe1
cmp ebx, dword [esi + 0x3c]
jae 0x44c000
movzx ecx, byte [ebx]
cmp dword [ebp + 0x54], ecx
jne 0x44c000
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44b68b
jmp 0x44c000
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x74], 1
je 0x44b6d1
mov eax, dword [esi + 0x14]
movzx edx, byte [edi]
mov cl, byte [eax + ecx]
inc edi
cmp byte [edx + eax], cl
jmp 0x44b6d7
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jne 0x44ac58
jmp 0x44c308
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 0x44b746
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 0x44b746
add eax, 0xffffffe3
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x466080]
movsx eax, byte [eax + 0x466088]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b749
mov eax, SysReAllocString
mov dword [ebp + 0x50], eax
mov edx, dword [esi + 0x3c]
sub edx, ebx
cmp ecx, edx
jg 0x44c308
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x74], 1
mov dword [ebp + 0x54], edx
je 0x44b7e7
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 0x44b79d
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
inc ebx
cmp dword [ebp + 0x54], ecx
je 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b77e
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44c036
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44c055
cmp ebx, dword [esi + 0x3c]
jae 0x44c074
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edx + ecx]
cmp dword [ebp + 0x54], ecx
je 0x44c074
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44b7bd
jmp 0x44c074
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl 0x44b809
movzx ecx, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], ecx
je 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b7f1
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x70], ecx
jne 0x44c0a3
cmp ecx, eax
mov dword [ebp + 0x58], ebx
jge 0x44c0c2
cmp ebx, dword [esi + 0x3c]
jae 0x44c0e1
movzx ecx, byte [ebx]
cmp dword [ebp + 0x54], ecx
je 0x44c0e1
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44b829
jmp 0x44c0e1
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 0x44b8b3
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 0x44b8b3
add eax, 0xffffffda
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x44], ecx
movsx ecx, byte [eax + 0x466080]
movsx eax, byte [eax + 0x466088]
inc edi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], eax
test eax, eax
jne 0x44b8b6
mov eax, SysReAllocString
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 0x44c308
test ecx, ecx
jle case.default.0x44b8e1
mov edx, dword [ebp + 0x58]
add edx, 0xfffffffb
cmp edx, 7
ja case.default.0x44b8e1
jmp dword [edx*4 + 0x44c41a]
test byte [ebp + 0x74], 4
jne case.0x44b8e1.12
cmp ecx, 1
mov dword [ebp + 0x70], 1
jl case.default.0x44b8e1
mov dl, byte [ebx]
inc ebx
cmp dl, 0xa
je 0x44c308
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], ecx
jle 0x44b8fe
jmp case.default.0x44b8e1
add ebx, ecx
jmp case.default.0x44b8e1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b8e1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 4
inc ebx
test cl, cl
jne 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b92c
jmp case.default.0x44b8e1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b8e1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 4
inc ebx
test cl, cl
je 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b95f
jmp case.default.0x44b8e1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b8e1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 1
inc ebx
test cl, cl
jne 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b992
jmp case.default.0x44b8e1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b8e1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 1
inc ebx
test cl, cl
je 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b9c1
jmp case.default.0x44b8e1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b8e1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 0x10
inc ebx
test cl, cl
jne 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44b9ed
jmp case.default.0x44b8e1
xor edx, edx
inc edx
cmp ecx, edx
mov dword [ebp + 0x70], edx
jl case.default.0x44b8e1
movzx edx, byte [ebx]
mov ecx, dword [esi + 0x18]
mov cl, byte [edx + ecx]
and cl, 0x10
inc ebx
test cl, cl
je 0x44c308
inc dword [ebp + 0x70]
mov ecx, dword [ebp + 0x4c]
cmp dword [ebp + 0x70], ecx
jle 0x44ba19
cmp ecx, eax
je 0x44ac58
cmp dword [ebp + 0x44], 0
je 0x44c18f
mov dword [ebp + 0x70], ecx
jmp 0x44c16c
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.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
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.0x44acaf.76
jmp 0x44c308
lea eax, [edi + 3]
cmp byte [eax], 0x48
jne 0x44baef
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, 0x1fffe
jne 0x44bab5
xor eax, eax
cmp dword [esi + 0x54], eax
setne al
jmp 0x44bac5
cmp eax, dword [ebp + 0x6c]
jge 0x44bac3
mov ecx, dword [esi + 8]
cmp dword [ecx + eax*4], 0
jge 0x44bac9
xor eax, eax
test eax, eax
je 0x44bace
push 6
pop eax
jmp 0x44bade
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 0x44bb59
push 3
push 0
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push eax
push ebx
call fcn.0044ac12
add esp, 0x1c
cmp eax, 1
jne 0x44bb32
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
lea edi, [edi + eax + 3]
jmp 0x44bb2b
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x3d
je 0x44bb1c
jmp 0x44bb49
test eax, eax
jne 0x44c30f
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.0044ac12
add esp, 0x1c
jmp 0x44c30f
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.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
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 0x44bb98
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 0x44c308
cmp dword [esi + 0x30], 0
je 0x44bc0c
cmp ebx, dword [esi + 0x40]
je 0x44c308
mov eax, dword [ebp + 0x6c]
mov dword [esi + 0x48], eax
mov dword [esi + 0x44], ebx
mov eax, edx
jmp 0x44c30f
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 0x44bc38
inc eax
mov dword [ebp + 0x70], eax
movzx ecx, byte [eax]
sub ecx, 0x4c
cmp ecx, 0x96
mov dword [ebp + 0x30], ecx
jle 0x44bc59
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 0x44bc7e
lea ecx, [ebp - 0x64]
mov dword [ebp + 0x3c], ecx
jmp 0x44bc9a
shl eax, 2
push eax
call dword [0x4718a8]
pop ecx
mov dword [ebp + 0x3c], eax
test eax, eax
jne 0x44bc97
push 0xfffffffffffffffa
jmp 0x44c30e
mov eax, dword [ebp + 0x40]
shl eax, 2
push eax
push dword [esi + 8]
push dword [ebp + 0x3c]
call fcn.0044de20
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.0044ac12
add esp, 0x1c
cmp eax, 1
je 0x44bd2e
test eax, eax
jne 0x44c30f
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 fcn.0044de20
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 0x44bcb8
mov eax, dword [ebp + 0x2c]
mov dword [esi + 0x54], eax
lea eax, [ebp - 0x64]
cmp dword [ebp + 0x3c], eax
je 0x44c308
push dword [ebp + 0x3c]
call dword [0x4718ac]
pop ecx
jmp 0x44c308
mov eax, dword [ebp + 0x2c]
mov dword [esi + 0x54], eax
lea eax, [ebp - 0x64]
cmp dword [ebp + 0x3c], eax
je 0x44bd46
push dword [ebp + 0x3c]
call dword [0x4718ac]
pop ecx
xor eax, eax
inc eax
jmp 0x44c30f
push 2
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x70]
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
push eax
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x58]
jmp 0x44b0fb
push 2
push dword [ebp + 0x78]
push eax
push esi
push dword [ebp + 0x6c]
push dword [ebp + 0x70]
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
push eax
push dword [ebp + 0x78]
add edi, 3
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x6c]
push edi
jmp 0x44b0fb
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044abb4
pop ecx
pop ecx
test eax, eax
je 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44bdb3
jmp 0x44c30f
cmp ecx, eax
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x70], ecx
jge 0x44be30
push dword [ebp + 0x74]
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x58]
push ebx
mov ecx, esi
call fcn.0044abb4
pop ecx
pop ecx
test eax, eax
je 0x44be51
add ebx, dword [ebp + 0x54]
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ebp + 0x50]
jl 0x44be09
jmp 0x44be51
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
sub ebx, dword [ebp + 0x54]
cmp ebx, dword [ebp + 0x48]
jae 0x44be30
jmp 0x44c308
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
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 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44be5b
jmp 0x44c30f
cmp ecx, eax
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x70], ecx
jge 0x44bf00
cmp ebx, dword [esi + 0x3c]
jae 0x44bf1f
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 0x44bf1f
inc ebx
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ebp + 0x50]
jl 0x44bec7
jmp 0x44bf1f
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44c30f
cmp ebx, dword [ebp + 0x48]
jae 0x44bf00
jmp 0x44c308
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x54], eax
jne 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44bf29
jmp 0x44c30f
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44c30f
cmp ebx, dword [ebp + 0x58]
jae 0x44bf74
jmp 0x44c308
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], eax
jne 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44bf9d
jmp 0x44c30f
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44c30f
cmp ebx, dword [ebp + 0x58]
jae 0x44bfe1
jmp 0x44c308
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x54], eax
je 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44c00a
jmp 0x44c30f
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
dec ebx
cmp ebx, dword [ebp + 0x58]
jae 0x44c055
jmp 0x44c308
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x54], eax
je 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44c07e
jmp 0x44c30f
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
test eax, eax
jne 0x44c30f
dec ebx
cmp ebx, dword [ebp + 0x58]
jae 0x44c0c2
jmp 0x44c308
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x70], eax
jge 0x44c308
cmp ebx, dword [esi + 0x3c]
jae 0x44c308
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x58]
inc ebx
sub ecx, 5
je 0x44c15c
dec ecx
je 0x44c153
dec ecx
je 0x44c14a
dec ecx
je 0x44c141
dec ecx
je 0x44c138
dec ecx
je 0x44c12f
dec ecx
jne 0x44c169
test byte [ebp + 0x74], 4
jne 0x44c169
cmp eax, 0xa
je 0x44c308
jmp 0x44c169
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jmp 0x44c127
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 0x10
jmp 0x44c163
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x44c127
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 1
jmp 0x44c163
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 4
jmp 0x44c127
mov ecx, dword [esi + 0x18]
test byte [eax + ecx], 4
jne 0x44c308
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.0044ac12
add esp, 0x1c
test eax, eax
je 0x44c0eb
jmp 0x44c30f
mov edx, dword [ebp + 0x58]
add edx, 0xfffffffb
mov dword [ebp + 0x48], ebx
cmp edx, 7
ja case.default.0x44c1a1
jmp dword [edx*4 + 0x44c43a]
test byte [ebp + 0x74], 4
jne case.0x44c1a1.12
cmp ecx, eax
jge case.default.0x44c1a1
mov edx, dword [esi + 0x3c]
cmp ebx, edx
jae 0x44c303
cmp byte [ebx], 0xa
je 0x44c303
inc ebx
inc ecx
cmp ecx, eax
jl 0x44c1b9
jmp 0x44c303
sub eax, ecx
mov ecx, dword [esi + 0x3c]
sub ecx, ebx
cmp eax, ecx
jle 0x44c1e2
mov eax, ecx
add ebx, eax
jmp 0x44c303
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44c1a1
cmp ebx, dword [esi + 0x3c]
jae 0x44c303
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 4
jne 0x44c303
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44c1f4
jmp 0x44c303
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44c1a1
cmp ebx, dword [esi + 0x3c]
jae 0x44c303
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 4
je 0x44c303
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44c226
jmp 0x44c303
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44c1a1
cmp ebx, dword [esi + 0x3c]
jae 0x44c303
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 1
jne 0x44c303
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44c258
jmp 0x44c303
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44c1a1
cmp ebx, dword [esi + 0x3c]
jae 0x44c303
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 1
je 0x44c303
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44c286
jmp 0x44c303
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44c1a1
cmp ebx, dword [esi + 0x3c]
jae 0x44c303
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 0x10
jne 0x44c303
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44c2a9
jmp 0x44c303
cmp ecx, eax
mov dword [ebp + 0x70], ecx
jge case.default.0x44c1a1
cmp ebx, dword [esi + 0x3c]
jae 0x44c303
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x18]
test byte [ecx + edx], 0x10
je 0x44c303
inc ebx
inc dword [ebp + 0x70]
cmp dword [ebp + 0x70], eax
jl 0x44c2cc
jmp 0x44c303
push 0
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push esi
push dword [ebp + 0x6c]
push edi
push ebx
call fcn.0044ac12
add esp, 0x1c
dec ebx
test eax, eax
jne 0x44c30f
cmp ebx, dword [ebp + 0x48]
jae case.default.0x44c1a1
xor eax, eax
jmp 0x44c30f
push 0xfffffffffffffffb
pop eax
pop edi
pop ebx
pop esi
add ebp, 0x5c
leave
ret