Function at 0x445b71
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, edx
sub esp, 0x3c
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
mov eax, edx
call fcn.00409dfb
test byte [ebp - 0x20], 0x40
mov ebx, eax
je 0x445ba0
cmp ebx, 4
jg 0x445bae
jmp 0x445f89
mov al, byte [0x4f1646]
test al, al
jne 0x445b96
jmp 0x445f89
mov dword [esp + 8], 5
mov dword [esp + 4], str.file:
mov dword [esp], esi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x445f89
lea eax, [ebx + 8]
lea ecx, [esi + ebx]
mov edi, esi
cdq
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
cmp byte [edi], 0x26
sete cl
xor ebx, ebx
add eax, ecx
adc edx, ebx
inc edi
cmp edi, dword [ebp - 0x1c]
jne 0x445bda
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00436e2c
test eax, eax
mov dword [ebp - 0x2c], eax
jne 0x445c0b
mov eax, 7
jmp 0x446023
mov eax, dword [ebp - 0x20]
mov ebx, 5
or eax, 0x40
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
add eax, 4
cmp byte [esi + 5], 0x2f
mov dword [ebp - 0x1c], eax
je 0x445c3a
mov dword [ebp - 0x20], 0
jmp 0x445d2e
cmp byte [esi + 6], 0x2f
jne 0x445c2e
mov ebx, 7
mov al, byte [esi + ebx]
test al, al
je 0x445c53
cmp al, 0x2f
je 0x445c53
inc ebx
jmp 0x445c45
cmp ebx, 7
je 0x445c2e
cmp ebx, 0x10
lea edi, [esi + 7]
jne 0x445c7c
mov dword [esp + 8], 9
mov dword [esp + 4], edi
mov dword [esp], str.localhost
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x445c2e
sub ebx, 7
mov dword [esp + 8], edi
mov dword [esp], str.invalid_uri_authority:__.s
mov dword [esp + 4], ebx
jmp 0x445eab
cmp ecx, 1
jne 0x445d3d
cmp al, 0x3d
jne 0x445d35
mov dl, byte [esi + ebx]
test dl, dl
je 0x445de4
cmp dl, 0x23
je 0x445de4
lea eax, [ebx + 1]
cmp dl, 0x25
mov dword [ebp - 0x28], eax
jne 0x445d4e
movzx edi, byte [esi + ebx + 1]
test byte [edi + 0x506360], 8
mov eax, edi
je 0x445d4e
movzx edi, byte [esi + ebx + 2]
test byte [edi + 0x506360], 8
je 0x445d4e
movsx eax, al
call fcn.0040716d
movzx eax, al
shl eax, 4
mov edi, eax
lea eax, [ebx + 3]
mov dword [ebp - 0x28], eax
movsx eax, byte [esi + ebx + 2]
call fcn.0040716d
movzx edx, al
add edx, edi
jne 0x445dcd
mov ebx, dword [ebp - 0x28]
mov al, byte [esi + ebx]
cmp al, 0x23
je 0x445ca4
test al, al
je 0x445ca4
test ecx, ecx
jne 0x445c93
cmp al, 0x3f
jne 0x445c93
xor ecx, ecx
jmp 0x445ca4
cmp al, 0x26
je 0x445ca4
cmp ecx, 2
je 0x445d45
inc ebx
jmp 0x445d13
cmp al, 0x26
jne 0x445d42
jmp 0x445ca4
cmp ecx, 1
jne 0x445d9f
cmp dl, 0x26
je 0x445d5d
cmp dl, 0x3d
jne 0x445d9f
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
cmp byte [edi + eax - 1], 0
jne 0x445d8e
mov ebx, dword [ebp - 0x28]
mov al, byte [esi + ebx]
test al, al
je 0x445ca4
cmp al, 0x23
je 0x445ca4
cmp byte [esi + ebx - 1], 0x26
je 0x445ca4
inc ebx
jmp 0x445d6d
cmp dl, 0x26
jne 0x445dbf
mov edi, dword [ebp - 0x1c]
inc dword [ebp - 0x20]
mov byte [edi + eax], 0
jmp 0x445dcb
test ecx, ecx
jne 0x445da8
cmp dl, 0x3f
je 0x445dc6
cmp ecx, 2
jne 0x445dcd
cmp dl, 0x26
mov eax, 1
cmove ecx, eax
mov al, 0
cmove edx, eax
jmp 0x445dcd
mov ecx, 2
jmp 0x445dcb
mov ecx, 1
xor edx, edx
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x28]
mov byte [eax + edi], dl
mov eax, edi
inc eax
mov dword [ebp - 0x20], eax
jmp 0x445ca4
dec ecx
jne 0x445df8
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi + 4], 0
mov eax, esi
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx], 0
call fcn.00409dfb
mov esi, dword [ebp - 0x1c]
jmp 0x445efb
cmp ebx, 5
je 0x445f09
cmp ebx, 4
jne 0x445ef8
mov dword [esp + 8], 4
mov dword [esp + 4], edx
mov dword [esp], 0x4f45e0
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x445ef8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0x87
mov edi, str.access
mov ebx, 0x4f0da0
and eax, 0x87
mov dword [ebp - 0x28], eax
mov edx, dword [ebx]
test edx, edx
je 0x445e9c
mov eax, edx
call fcn.00409dfb
cmp dword [ebp - 0x20], eax
jne 0x445f42
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x445f42
mov eax, dword [ebx + 4]
test eax, eax
jne 0x445f4a
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str.no_such__s_mode:__s
call fcn.004440e8
jmp 0x445ff5
mov eax, edx
call fcn.00409dfb
lea esi, [edx + eax + 1]
mov ebx, eax
mov eax, esi
call fcn.00409dfb
cmp ebx, 3
mov dword [ebp - 0x20], eax
jne 0x445e12
mov dword [esp + 8], 3
mov dword [esp + 4], edx
mov dword [esp], 0x4f45dc
call sub.msvcrt.dll_memcmp
test eax, eax
mov eax, dword [ebp - 0x30]
cmove eax, esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
lea edx, [esi + eax + 1]
cmp byte [edx], 0
jne 0x445eb5
jmp 0x445fcc
mov dword [esp + 8], 5
mov dword [esp + 4], edx
mov dword [esp], str.cache
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x445ef8
mov dword [ebp - 0x28], 0x60000
mov dword [ebp - 0x2c], 0x60000
mov edi, str.cache
mov ebx, 0x4f0dc8
jmp 0x445e60
add ebx, 8
jmp 0x445e60
mov ecx, eax
and cl, 0x7f
cmp ecx, dword [ebp - 0x28]
jle 0x445f77
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov ebx, 3
mov dword [esp], str._s_mode_not_allowed:__s
call fcn.004440e8
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x445fff
mov edi, dword [ebp - 0x2c]
not edi
and edi, dword [ebp - 0x24]
or eax, edi
mov dword [ebp - 0x24], eax
jmp 0x445ef8
lea eax, [ebx + 8]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00436e2c
test eax, eax
je 0x445c01
mov dword [eax], 0
add eax, 4
test ebx, ebx
mov dword [ebp - 0x1c], eax
je 0x445fb9
mov edi, eax
mov ecx, ebx
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x1c]
mov dword [eax + ebx], 0
mov eax, dword [ebp - 0x20]
and eax, 0xffffffbf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
xor ebx, ebx
mov dword [esp], eax
call fcn.00435bc2
mov edx, dword [ebp + 8]
test eax, eax
mov dword [edx], eax
jne 0x446011
mov eax, dword [ebp - 0x30]
mov dword [esp], str.no_such_vfs:__s
mov dword [esp + 4], eax
call fcn.004440e8
mov esi, dword [ebp + 0x10]
mov ebx, 1
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0040ba09
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov dword [eax], esi
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov eax, ebx
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret