Function at 0x4af21c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
call fcn.004d809c
test byte [ebp - 0x14], 0x40
mov esi, eax
jne 0x4af25e
cmp dword [0x5da658], 0
je 0x4af650
cmp esi, 5
jl 0x4af650
mov edx, str.file:
mov ecx, 5
mov eax, dword [ebp - 8]
call fcn.004783f4
test eax, eax
jne 0x4af650
xor edi, edi
mov dword [ebp - 0x24], edi
lea edx, [esi + 2]
or dword [ebp - 0x14], 0x40
xor ebx, ebx
mov eax, dword [ebp - 8]
cmp esi, ebx
jle 0x4af2a7
cmp byte [eax], 0x26
sete cl
and ecx, 1
inc ebx
add edx, ecx
inc eax
cmp esi, ebx
jg 0x4af296
mov eax, edx
call fcn.004dde68
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4af2c1
mov eax, 7
jmp 0x4af6dc
mov edx, dword [ebp - 8]
cmp byte [edx + 5], 0x2f
jne 0x4af33a
mov ecx, dword [ebp - 8]
cmp byte [ecx + 6], 0x2f
jne 0x4af33a
mov ebx, 7
mov eax, dword [ebp - 8]
lea esi, [eax + 7]
jmp 0x4af2e2
inc ebx
inc esi
cmp byte [esi], 0
je 0x4af2ec
cmp byte [esi], 0x2f
jne 0x4af2e0
cmp ebx, 7
je 0x4af33f
cmp ebx, 0x10
jne 0x4af30f
mov edx, dword [ebp - 8]
add edx, 7
mov eax, str.localhost
mov ecx, 9
call fcn.004783f4
test eax, eax
je 0x4af33f
mov ecx, dword [ebp - 8]
add ecx, 7
add ebx, 0xfffffff9
push ecx
push ebx
push str.invalid_uri_authority:__.s
call fcn.004dd8f8
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
jmp 0x4af6b6
mov ebx, 5
xor eax, eax
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea esi, [edx + ecx - 1]
jmp 0x4af484
inc ebx
cmp al, 0x25
jne 0x4af40d
mov edx, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [edx + ebx]
test byte [ecx + 0x5da844], 8
je 0x4af40d
mov edx, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [edx + ebx + 1]
test byte [ecx + 0x5da844], 8
je 0x4af40d
mov eax, ebx
mov edx, dword [ebp - 8]
inc ebx
movsx eax, byte [edx + eax]
call fcn.004d8ddc
mov edi, eax
mov eax, ebx
mov edx, dword [ebp - 8]
and edi, 0xff
shl edi, 4
inc ebx
movsx eax, byte [edx + eax]
call fcn.004d8ddc
xor edx, edx
mov dl, al
add edi, edx
test edi, edi
jne 0x4af409
mov ecx, dword [ebp - 8]
lea edx, [ecx + ebx]
jmp 0x4af3c4
inc ebx
inc edx
mov al, byte [edx]
test al, al
je 0x4af344
cmp al, 0x23
je 0x4af344
cmp dword [ebp - 0x20], 0
jne 0x4af3e4
cmp al, 0x3f
je 0x4af344
cmp dword [ebp - 0x20], 1
jne 0x4af3fa
cmp al, 0x3d
je 0x4af344
cmp al, 0x26
je 0x4af344
cmp dword [ebp - 0x20], 2
jne 0x4af3c2
cmp al, 0x26
jne 0x4af3c2
jmp 0x4af344
mov eax, edi
jmp 0x4af47d
cmp dword [ebp - 0x20], 1
jne 0x4af460
cmp al, 0x26
je 0x4af41b
cmp al, 0x3d
jne 0x4af460
cmp byte [esi], 0
jne 0x4af447
mov ecx, dword [ebp - 8]
lea edx, [ecx + ebx]
jmp 0x4af42a
inc ebx
inc edx
mov al, byte [edx]
test al, al
je 0x4af344
cmp al, 0x23
je 0x4af344
cmp byte [edx - 1], 0x26
jne 0x4af428
jmp 0x4af344
cmp al, 0x26
jne 0x4af455
mov byte [esi + 1], 0
inc dword [ebp - 0x24]
inc esi
jmp 0x4af45c
mov dword [ebp - 0x20], 2
xor eax, eax
jmp 0x4af47d
cmp dword [ebp - 0x20], 0
jne 0x4af46a
cmp al, 0x3f
je 0x4af474
cmp dword [ebp - 0x20], 2
jne 0x4af47d
cmp al, 0x26
jne 0x4af47d
mov dword [ebp - 0x20], 1
xor eax, eax
mov byte [esi + 1], al
inc dword [ebp - 0x24]
inc esi
mov edx, dword [ebp - 8]
mov al, byte [edx + ebx]
test al, al
je 0x4af496
cmp al, 0x23
jne 0x4af353
cmp dword [ebp - 0x20], 1
jne 0x4af4a9
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x24]
mov byte [ecx + ebx], 0
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov byte [eax + edx], 0
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x24]
mov byte [ecx + ebx], 0
mov eax, dword [ebp - 0x1c]
call fcn.004d809c
mov ebx, eax
add ebx, dword [ebp - 0x1c]
inc ebx
jmp 0x4af645
mov eax, ebx
call fcn.004d809c
mov esi, eax
lea eax, [ebx + esi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
call fcn.004d809c
mov edi, eax
cmp esi, 3
jne 0x4af512
mov eax, 0x5d7ae1
mov ecx, 3
mov edx, ebx
call fcn.004783f4
test eax, eax
jne 0x4af512
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], esi
jmp 0x4af63f
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp esi, 5
mov dword [ebp - 0x38], ecx
jne 0x4af55b
mov eax, str.cache
mov ecx, 5
mov edx, ebx
call fcn.004783f4
test eax, eax
jne 0x4af55b
mov dword [ebp - 0x34], 0x60000
mov dword [ebp - 0x2c], 0x5d76a4
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], str.cache
cmp esi, 4
jne 0x4af593
mov eax, str.mode
mov ecx, 4
mov edx, ebx
call fcn.004783f4
test eax, eax
jne 0x4af593
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x2c], 0x5d76bc
mov esi, dword [ebp - 0x34]
and esi, dword [ebp - 0x14]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], str.access
cmp dword [ebp - 0x2c], 0
je 0x4af63f
xor eax, eax
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x2c]
mov ebx, edx
jmp 0x4af5d1
mov esi, eax
mov eax, esi
call fcn.004d809c
cmp edi, eax
jne 0x4af5ce
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.004783f4
test eax, eax
jne 0x4af5ce
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], edx
jmp 0x4af5d7
add ebx, 8
mov eax, dword [ebx]
test eax, eax
jne 0x4af5a9
cmp dword [ebp - 0x3c], 0
jne 0x4af603
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x30]
push ecx
push str.no_such__s_mode:__s
call fcn.004dd8f8
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
jmp 0x4af6b6
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
jle 0x4af631
mov ecx, dword [ebp - 0x28]
push ecx
mov eax, dword [ebp - 0x30]
push eax
push str._s_mode_not_allowed:__s
call fcn.004dd8f8
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 3
jmp 0x4af6b6
mov ecx, dword [ebp - 0x34]
not ecx
and ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov ebx, dword [ebp - 0x28]
add ebx, edi
inc ebx
cmp byte [ebx], 0
jne 0x4af4d3
jmp 0x4af684
lea eax, [esi + 2]
call fcn.004dde68
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4af668
mov eax, 7
jmp 0x4af6dc
mov ecx, esi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
call fcn.00478458
mov edx, dword [ebp - 0x1c]
mov byte [edx + esi], 0
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + esi + 1], 0
mov eax, dword [ebp - 0x18]
call fcn.004deefc
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jne 0x4af6b6
mov eax, dword [ebp - 0x18]
push eax
push str.no_such_vfs:__s
call fcn.004dd8f8
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
je 0x4af6c9
mov eax, dword [ebp - 0x1c]
call fcn.004de03c
xor edx, edx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x14]
mov dword [ecx], ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc