Function at 0x565318
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.00590a48
test byte [ebp - 0x14], 0x40
mov esi, eax
jne 0x56535a
cmp dword [0x5ca0fc], 0
je 0x565751
cmp esi, 5
jl 0x565751
mov edx, str.file:
mov ecx, 5
mov eax, dword [ebp - 8]
call fcn.0054b2f8
test eax, eax
jne 0x565751
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 0x5653a3
cmp byte [eax], 0x26
sete cl
and ecx, 1
inc ebx
add edx, ecx
inc eax
cmp esi, ebx
jg 0x565392
mov eax, edx
call fcn.005969ec
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x5653bd
mov eax, 7
jmp 0x5657e1
mov edx, dword [ebp - 8]
cmp byte [edx + 5], 0x2f
jne 0x565436
mov ecx, dword [ebp - 8]
cmp byte [ecx + 6], 0x2f
jne 0x565436
mov ebx, 7
mov eax, dword [ebp - 8]
lea esi, [eax + 7]
jmp 0x5653de
inc ebx
inc esi
cmp byte [esi], 0
je 0x5653e8
cmp byte [esi], 0x2f
jne 0x5653dc
cmp ebx, 7
je 0x56543b
cmp ebx, 0x10
jne 0x56540b
mov edx, dword [ebp - 8]
add edx, 7
mov eax, str.localhost
mov ecx, 9
call fcn.0054b2f8
test eax, eax
je 0x56543b
mov ecx, dword [ebp - 8]
add ecx, 7
add ebx, 0xfffffff9
push ecx
push ebx
push str.invalid_uri_authority:__.s
call fcn.0059646c
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
jmp 0x5657bb
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 0x565580
inc ebx
cmp al, 0x25
jne 0x565509
mov edx, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [edx + ebx]
test byte [ecx + 0x5ca2f4], 8
je 0x565509
mov edx, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [edx + ebx + 1]
test byte [ecx + 0x5ca2f4], 8
je 0x565509
mov eax, ebx
mov edx, dword [ebp - 8]
inc ebx
movsx eax, byte [edx + eax]
call fcn.00591804
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.00591804
xor edx, edx
mov dl, al
add edi, edx
test edi, edi
jne 0x565505
mov ecx, dword [ebp - 8]
lea edx, [ecx + ebx]
jmp 0x5654c0
inc ebx
inc edx
mov al, byte [edx]
test al, al
je 0x565440
cmp al, 0x23
je 0x565440
cmp dword [ebp - 0x20], 0
jne 0x5654e0
cmp al, 0x3f
je 0x565440
cmp dword [ebp - 0x20], 1
jne 0x5654f6
cmp al, 0x3d
je 0x565440
cmp al, 0x26
je 0x565440
cmp dword [ebp - 0x20], 2
jne 0x5654be
cmp al, 0x26
jne 0x5654be
jmp 0x565440
mov eax, edi
jmp 0x565579
cmp dword [ebp - 0x20], 1
jne 0x56555c
cmp al, 0x26
je 0x565517
cmp al, 0x3d
jne 0x56555c
cmp byte [esi], 0
jne 0x565543
mov ecx, dword [ebp - 8]
lea edx, [ecx + ebx]
jmp 0x565526
inc ebx
inc edx
mov al, byte [edx]
test al, al
je 0x565440
cmp al, 0x23
je 0x565440
cmp byte [edx - 1], 0x26
jne 0x565524
jmp 0x565440
cmp al, 0x26
jne 0x565551
mov byte [esi + 1], 0
inc dword [ebp - 0x24]
inc esi
jmp 0x565558
mov dword [ebp - 0x20], 2
xor eax, eax
jmp 0x565579
cmp dword [ebp - 0x20], 0
jne 0x565566
cmp al, 0x3f
je 0x565570
cmp dword [ebp - 0x20], 2
jne 0x565579
cmp al, 0x26
jne 0x565579
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 0x565592
cmp al, 0x23
jne 0x56544f
cmp dword [ebp - 0x20], 1
jne 0x5655a5
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.00590a48
mov ebx, eax
add ebx, dword [ebp - 0x1c]
inc ebx
jmp 0x565746
mov eax, ebx
call fcn.00590a48
mov esi, eax
lea eax, [ebx + esi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
call fcn.00590a48
mov edi, eax
cmp esi, 3
jne 0x56560e
mov eax, 0x5c7499
mov ecx, 3
mov edx, ebx
call fcn.0054b2f8
test eax, eax
jne 0x56560e
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], esi
jmp 0x565740
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 0x565657
mov eax, str.cache
mov ecx, 5
mov edx, ebx
call fcn.0054b2f8
test eax, eax
jne 0x565657
mov dword [ebp - 0x34], 0x60000
mov dword [ebp - 0x2c], 0x5c7058
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], str.cache
cmp esi, 4
jne 0x56568f
mov eax, str.mode
mov ecx, 4
mov edx, ebx
call fcn.0054b2f8
test eax, eax
jne 0x56568f
mov dword [ebp - 0x34], 0x87
mov dword [ebp - 0x2c], 0x5c7070
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 0x565740
xor eax, eax
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x2c]
mov ebx, edx
jmp 0x5656cd
mov esi, eax
mov eax, esi
call fcn.00590a48
cmp edi, eax
jne 0x5656ca
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.0054b2f8
test eax, eax
jne 0x5656ca
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], edx
jmp 0x5656d3
add ebx, 8
mov eax, dword [ebx]
test eax, eax
jne 0x5656a5
cmp dword [ebp - 0x3c], 0
jne 0x5656ff
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x30]
push ecx
push str.no_such__s_mode:__s
call fcn.0059646c
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
jmp 0x5657bb
mov eax, dword [ebp - 0x3c]
and eax, 0xffffff7f
cmp eax, dword [ebp - 0x38]
jle 0x565732
mov ecx, dword [ebp - 0x28]
push ecx
mov eax, dword [ebp - 0x30]
push eax
push str._s_mode_not_allowed:__s
call fcn.0059646c
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 3
jmp 0x5657bb
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 0x5655cf
jmp 0x565789
lea eax, [esi + 2]
call fcn.005969ec
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x565769
mov eax, 7
jmp 0x5657e1
mov ecx, esi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
call fcn.0054b35c
mov edx, dword [ebp - 0x1c]
mov byte [edx + esi], 0
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + esi + 1], 0
and dword [ebp - 0x14], 0xffffffbf
mov eax, dword [ebp - 0x18]
call fcn.00597ae8
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jne 0x5657bb
mov eax, dword [ebp - 0x18]
push eax
push str.no_such_vfs:__s
call fcn.0059646c
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
je 0x5657ce
mov eax, dword [ebp - 0x1c]
call fcn.00596bc0
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