Function at 0x44beab
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
and dword [ebp - 0xc], 0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov ecx, esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
call fcn.0043cbc0
mov ebx, eax
test dl, 0x40
jne 0x44bee6
cmp dword [0x4db034], 0
je 0x44c22a
push 5
pop ecx
cmp ebx, ecx
jl 0x44c22a
mov edi, str.file:
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x44c22a
or dword [ebp - 8], 0x40
mov esi, dword [ebp + 0xc]
lea eax, [ebx + 2]
xor ecx, ecx
cmp ebx, ecx
cdq
mov dword [ebp + 8], ecx
mov dword [ebp - 0x24], edx
jle 0x44bf2c
xor edi, edi
cmp byte [ecx + esi], 0x26
jne 0x44bf20
inc edi
xor edx, edx
add eax, edi
adc dword [ebp - 0x24], edx
inc ecx
cmp ecx, ebx
jl 0x44bf17
push dword [ebp - 0x24]
push eax
call fcn.00444b96
pop ecx
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x44bf46
push 7
pop eax
jmp 0x44c2ab
cmp byte [esi + 5], 0x2f
push 5
pop edx
jne 0x44bfa2
cmp byte [esi + 6], 0x2f
jne 0x44bfa2
lea eax, [esi + 7]
mov cl, byte [eax]
push 7
pop edx
test cl, cl
je 0x44bfa2
cmp cl, 0x2f
je 0x44bf6e
inc edx
mov cl, byte [edx + esi]
test cl, cl
jne 0x44bf61
cmp edx, 7
je 0x44bfa2
cmp edx, 0x10
jne 0x44bf88
push 9
pop ecx
mov edi, eax
mov esi, str.localhost
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x44bf9f
push eax
add edx, 0xfffffff9
push edx
push str.invalid_uri_authority:__.s
call fcn.00445115
add esp, 0xc
jmp 0x44c27f
mov esi, dword [ebp + 0xc]
mov al, byte [edx + esi]
xor edi, edi
test al, al
je 0x44c0dd
cmp al, 0x23
je 0x44c0c9
inc edx
cmp al, 0x25
jne 0x44c058
mov cl, byte [edx + esi]
movzx ebx, cl
test byte [ebx + 0x4b89e8], 8
je 0x44c058
movzx ebx, byte [edx + esi + 1]
test byte [ebx + 0x4b89e8], 8
je 0x44c058
inc edx
movsx eax, byte [edx + esi]
mov dword [ebp - 0x18], eax
movsx ecx, cl
mov eax, ecx
sar eax, 6
and al, 1
mov bl, 7
imul bl
sub cl, al
mov eax, dword [ebp - 0x18]
sar eax, 6
and al, 1
imul bl
mov esi, dword [ebp + 0xc]
mov bl, al
mov eax, dword [ebp - 0x18]
sub al, bl
and ecx, 0xf
shl ecx, 4
and eax, 0xf
add ecx, eax
inc edx
test ecx, ecx
je 0x44c04f
mov al, cl
jmp 0x44c0b2
cmp al, 0x23
je 0x44c0be
test edi, edi
jne 0x44c038
cmp al, 0x3f
je 0x44c0be
cmp edi, 1
jne 0x44c045
cmp al, 0x3d
je 0x44c0be
cmp al, 0x26
je 0x44c0be
cmp edi, 2
jne 0x44c04e
cmp al, 0x26
je 0x44c0be
inc edx
mov al, byte [edx + esi]
test al, al
jne 0x44c024
jmp 0x44c0be
cmp edi, 1
jne 0x44c09c
cmp al, 0x26
je 0x44c065
cmp al, 0x3d
jne 0x44c0b2
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
cmp byte [ebx + ecx - 1], 0
je 0x44c08c
cmp al, 0x26
jne 0x44c095
mov byte [ebx + ecx], 0
inc ecx
mov dword [ebp + 8], ecx
jmp 0x44c098
cmp al, 0x23
je 0x44c0be
cmp byte [edx + esi - 1], 0x26
je 0x44c0be
inc edx
mov al, byte [edx + esi]
test al, al
jne 0x44c080
jmp 0x44c0be
push 2
pop edi
xor al, al
jmp 0x44c0b2
test edi, edi
jne 0x44c0a4
cmp al, 0x3f
je 0x44c0ad
cmp edi, 2
jne 0x44c0b2
cmp al, 0x26
jne 0x44c0b2
xor edi, edi
xor al, al
inc edi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 8]
mov byte [ecx + ebx], al
mov al, byte [edx + esi]
test al, al
jne 0x44bfaf
mov ecx, dword [ebp - 4]
cmp edi, 1
jne 0x44c0e0
mov eax, dword [ebp + 8]
inc dword [ebp + 8]
mov byte [ecx + eax], 0
jmp 0x44c0e0
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
add eax, ecx
mov byte [eax], 0
mov byte [eax + 1], 0
call fcn.0043cbc0
jmp 0x44c1ff
mov ecx, edx
call fcn.0043cbc0
mov esi, eax
lea ebx, [esi + edx + 1]
mov ecx, ebx
mov dword [ebp - 0x20], esi
mov dword [ebp + 8], ebx
call fcn.0043cbc0
push 3
pop ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
jne 0x44c12f
mov edi, edx
mov esi, 0x4bc2f8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x44c12f
mov dword [ebp - 0x1c], ebx
jmp 0x44c1f9
xor ebx, ebx
cmp dword [ebp - 0x20], 5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
jne 0x44c169
push 5
mov eax, str.cache
pop ecx
mov edi, edx
mov esi, eax
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x44c1f9
mov ecx, 0x60000
mov dword [ebp - 0x18], ecx
mov ebx, 0x4dbf9c
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x20], 4
jne 0x44c196
mov eax, str.mode
mov eax, dword [eax]
cmp eax, dword [edx]
jne 0x44c196
mov eax, dword [ebp - 8]
mov ecx, 0x87
and eax, ecx
mov dword [ebp - 0x18], ecx
mov ebx, 0x4dbfb4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], str.access
test ebx, ebx
je 0x44c1f9
mov edi, dword [ebx]
xor edx, edx
jmp 0x44c1c4
mov ecx, edi
call fcn.0043cbc0
mov ecx, dword [ebp - 0x24]
cmp ecx, eax
jne 0x44c1c0
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x44c1bc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44c1d8
inc edx
mov edi, dword [ebx + edx*8]
test edi, edi
jne 0x44c1a0
push dword [ebp + 8]
push dword [ebp - 0x10]
push str.no_such__s_mode:__s
jmp 0x44bf92
mov ebx, dword [ebx + edx*8 + 4]
test ebx, ebx
je 0x44c1c8
mov eax, ebx
and eax, 0xffffff7f
cmp eax, dword [ebp - 0x14]
jg 0x44c20e
mov eax, dword [ebp - 0x18]
not eax
and eax, dword [ebp - 8]
or eax, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
lea edx, [eax + ecx + 1]
cmp byte [edx], 0
jne 0x44c0f6
jmp 0x44c25e
push dword [ebp + 8]
push dword [ebp - 0x10]
push str._s_mode_not_allowed:__s
call fcn.00445115
add esp, 0xc
mov dword [ebp - 0xc], 3
jmp 0x44c286
lea eax, [ebx + 2]
cdq
push edx
push eax
call fcn.00444b96
mov esi, eax
pop ecx
pop ecx
mov dword [ebp - 4], esi
test esi, esi
je 0x44bf3e
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0048afb0
add ebx, esi
add esp, 0xc
and dword [ebp - 8], 0xffffffbf
mov byte [ebx], 0
mov byte [ebx + 1], 0
push dword [ebp - 0x1c]
call fcn.00444901
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x44c298
push dword [ebp - 0x1c]
push str.no_such_vfs:__s
call fcn.00445115
pop ecx
pop ecx
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp + 0x1c]
push dword [ebp - 4]
mov dword [ecx], eax
call fcn.0043c9d0
and dword [ebp - 4], 0
pop ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret