Function at 0x49e2f0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov rax, rsp
sub rsp, 0x88
test rdx, rdx
mov qword [rax - 8], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x38], r14
mov r14d, dword [r8]
mov rbp, r9
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x90], 0
mov rbx, rdx
je 0x49e351
cmp byte [rdx], 0
je 0x49e349
inc rbx
cmp byte [rbx], 0
jne 0x49e341
sub ebx, edx
and ebx, 0x3fffffff
test r14b, 0x40
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], r15
jne 0x49e373
cmp dword [0x0072d07c], 0
je 0x49e949
cmp ebx, 5
jl 0x49e949
mov edx, dword [rdx]
lea r13, [0x00400000]
cmp edx, dword [r13 + 0x2a2884]
jne 0x49e39e
mov dl, byte [rdi + 4]
cmp dl, byte [r13 + 0x2a2888]
jne 0x49e39e
xor eax, eax
jmp 0x49e3a3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x49e949
or r14d, 0x40
movsxd r10, ebx
xor edx, edx
xor r8d, r8d
xor ebp, ebp
xor ecx, ecx
cmp r10, 2
lea esi, [rbx + 2]
mov dword [rsp + 0x98], r14d
jl 0x49e3f1
lea r9, [r10 - 1]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add edx, eax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add r8d, eax
cmp rcx, r9
jl 0x49e3d0
cmp rcx, r10
jge 0x49e401
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add esi, eax
lea eax, [rdx + r8]
add esi, eax
call fcn.0049a550
test eax, eax
jne 0x49e9e9
test esi, esi
jle 0x49e9e9
test esi, esi
movsxd rbx, esi
je 0x49e482
cmp rbx, 0x7fffff00
jae 0x49e482
cmp dword [reloc.WS2_32.dll_accept], ebp
je 0x49e470
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49e446
call qword [0x0072d0f8]
lea rdx, [rsp + 0x30]
mov ecx, ebx
call fcn.0043a720
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49e48b
call qword [0x0072d108]
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
jmp 0x49e495
mov ecx, ebx
call qword [0x0072d098]
mov rsi, rax
mov qword [rsp + 0x30], rax
jmp 0x49e495
xor esi, esi
mov qword [rsp + 0x30], rsi
jmp 0x49e495
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
test rsi, rsi
je 0x49e9e9
cmp byte [rdi + 5], 0x2f
mov r9d, 5
jne 0x49e544
cmp byte [rdi + 6], 0x2f
jne 0x49e544
movzx eax, byte [rdi + 7]
lea r8, [rdi + 7]
mov r9d, 7
test al, al
je 0x49e544
mov rcx, r8
cmp al, 0x2f
je 0x49e4e2
mov al, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x49e4d1
cmp r9d, 7
je 0x49e544
cmp r9d, 0x10
jne 0x49e519
mov rdx, qword [r13 + 0x2a2878]
mov rcx, r8
cmp rdx, qword [r8]
jne 0x49e510
mov dl, byte [r13 + 0x2a2880]
add rcx, 8
cmp dl, byte [rcx]
jne 0x49e510
xor eax, eax
jmp 0x49e515
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49e544
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.00461e20
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0x90], 1
mov qword [rcx], rax
jmp 0x49ead4
movsxd rax, r9d
xor r11d, r11d
xor r10d, r10d
mov dl, byte [rax + rdi]
test dl, dl
je 0x49e6ee
nop
nop
cmp dl, 0x23
je 0x49e6df
inc r9d
cmp dl, 0x25
jne 0x49e645
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + r13 + 0x29afa0], 8
je 0x49e645
movzx eax, byte [rax + rdi + 1]
test byte [rax + r13 + 0x29afa0], 8
je 0x49e645
movsx edx, cl
inc r9d
mov ecx, edx
movsxd rax, r9d
inc r9d
movsx r8d, byte [rax + rdi]
sar ecx, 6
mov al, 7
and cl, 1
imul cl
mov ecx, r8d
sar ecx, 6
sub dl, al
and cl, 1
mov al, 7
and edx, 0xf
shl edx, 4
imul cl
mov cl, r8b
sub cl, al
and ecx, 0xf
add edx, ecx
jne 0x49e6c8
movsxd rdx, r9d
movsxd rcx, r11d
movzx eax, byte [rdx + rdi]
test al, al
je 0x49e6d1
add rdx, rdi
cmp al, 0x23
je 0x49e6d1
test r11d, r11d
jne 0x49e60d
cmp al, 0x3f
je 0x49e6d1
jmp 0x49e633
cmp rcx, 1
jne 0x49e625
cmp al, 0x3d
je 0x49e6d1
cmp al, 0x26
je 0x49e6d1
jmp 0x49e633
cmp rcx, 2
jne 0x49e633
cmp al, 0x26
je 0x49e6d1
mov al, byte [rdx + 1]
inc rdx
inc r9d
test al, al
jne 0x49e5f6
jmp 0x49e6d1
cmp r11d, 1
jne 0x49e6a9
cmp dl, 0x26
je 0x49e655
cmp dl, 0x3d
jne 0x49e6c8
cmp byte [r10 + rsi - 1], 0
jne 0x49e68c
movsxd rax, r9d
cmp byte [rax + rdi], 0
je 0x49e6d1
movzx ecx, byte [rax + rdi]
nop
nop
cmp cl, 0x23
je 0x49e6d1
cmp byte [rax + rdi - 1], 0x26
je 0x49e6d1
mov cl, byte [rax + rdi + 1]
inc rax
inc r9d
test cl, cl
jne 0x49e670
jmp 0x49e6d1
cmp dl, 0x26
jne 0x49e69f
mov byte [r10 + rsi], 0
inc r10
inc ebp
xor dl, dl
jmp 0x49e6c8
mov r11d, 2
xor dl, dl
jmp 0x49e6c8
test r11d, r11d
jne 0x49e6b5
cmp dl, 0x3f
je 0x49e6c0
jmp 0x49e6c8
cmp r11d, 2
jne 0x49e6c8
cmp dl, 0x26
jne 0x49e6c8
xor dl, dl
mov r11d, 1
mov byte [r10 + rsi], dl
inc ebp
inc r10
movsxd rax, r9d
mov dl, byte [rax + rdi]
test dl, dl
jne 0x49e560
cmp r11d, 1
jne 0x49e6ee
movsxd rax, ebp
inc ebp
mov byte [rax + rsi], 0
movsxd rax, ebp
mov byte [rax + rsi], 0
mov byte [rax + rsi + 1], 0
cmp byte [rsi], 0
mov rax, rsi
je 0x49e70a
inc rax
cmp byte [rax], 0
jne 0x49e702
sub eax, esi
and eax, 0x3fffffff
inc eax
movsxd rdx, eax
add rdx, rsi
cmp byte [rdx], 0
je 0x49ea1b
mov rcx, rdx
inc rcx
cmp byte [rcx], 0
jne 0x49e725
sub ecx, edx
and ecx, 0x3fffffff
lea eax, [rcx + 1]
movsxd rbp, eax
add rbp, rdx
mov rbx, rbp
jne 0x49e747
xor ebx, ebx
jmp 0x49e760
cmp byte [rbp], 0
je 0x49e758
nop
inc rbx
cmp byte [rbx], 0
jne 0x49e750
sub ebx, ebp
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x49e79c
mov cx, word [r13 + 0x2a2854]
cmp cx, word [rdx]
jne 0x49e782
mov cl, byte [r13 + 0x2a2856]
cmp cl, byte [rdx + 2]
jne 0x49e782
xor eax, eax
jmp 0x49e787
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x49e8de
mov r12, rbp
mov qword [rsp + 0x38], rbp
jmp 0x49e8f8
cmp ecx, 5
jne 0x49e7e0
lea rax, str.cache
mov ecx, dword [rax]
cmp ecx, dword [rdx]
jne 0x49e7ba
mov cl, byte [rax + 4]
cmp cl, byte [rdx + 4]
jne 0x49e7ba
xor eax, eax
jmp 0x49e7bf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x49e8f3
mov r12d, 0x60000
lea r13, str.shared
lea r15, str.cache
mov r14d, r12d
jmp 0x49e80e
cmp ecx, 4
jne 0x49e8ec
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x49e8e5
mov r12d, 0x87
lea r13, [0x0072ef10]
lea r15, str.access
and r14d, r12d
mov rcx, qword [r13]
xor esi, esi
test rcx, rcx
je 0x49e873
mov rdi, r13
nop
test rcx, rcx
mov rax, rcx
je 0x49e83f
cmp byte [rcx], 0
je 0x49e838
nop
inc rax
cmp byte [rax], 0
jne 0x49e830
sub eax, ecx
and eax, 0x3fffffff
cmp ebx, eax
jne 0x49e863
mov rdx, rcx
movsxd r8, ebx
mov r9d, 1
mov rcx, rbp
mov dword [rsp + 0x20], 1
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x49e8a0
mov rcx, qword [rdi + 0x10]
add rdi, 0x10
inc rsi
test rcx, rcx
jne 0x49e820
lea rcx, str.no_such__s_mode:__s
mov r8, rbp
mov rdx, r15
call fcn.00461e20
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0x90], 1
mov qword [rcx], rax
jmp 0x49ead4
add rsi, rsi
mov ecx, dword [r13 + rsi*8 + 8]
test ecx, ecx
je 0x49e873
mov eax, ecx
btr eax, 7
cmp eax, r14d
jg 0x49e91c
mov r14d, dword [rsp + 0x98]
not r12d
lea r13, [0x00400000]
and r14d, r12d
mov r12, qword [rsp + 0x38]
or r14d, ecx
mov dword [rsp + 0x98], r14d
jmp 0x49e8f8
mov r12, qword [rsp + 0x38]
jmp 0x49e8f8
mov r12, qword [rsp + 0x38]
jmp 0x49e8f8
mov r12, qword [rsp + 0x38]
jmp 0x49e8f8
mov r12, qword [rsp + 0x38]
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rbp
cmp byte [rdx], 0
jne 0x49e722
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0xa8]
jmp 0x49ea23
lea rcx, str._s_mode_not_allowed:__s
mov r8, rbp
mov rdx, r15
call fcn.00461e20
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0x90], 3
mov qword [rcx], rax
jmp 0x49ead4
lea esi, [rbx + 2]
call fcn.0049a550
test eax, eax
jne 0x49e9e9
test esi, esi
jle 0x49e9e9
movsxd rsi, esi
test rsi, rsi
je 0x49e9ce
cmp rsi, 0x7fffff00
jae 0x49e9ce
cmp dword [reloc.WS2_32.dll_accept], eax
je 0x49e9bc
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49e98c
call qword [0x0072d0f8]
lea rdx, [rsp + 0x98]
mov ecx, esi
call fcn.0043a720
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49e9d7
call qword [0x0072d108]
mov rsi, qword [rsp + 0x98]
mov qword [rsp + 0x30], rsi
jmp 0x49e9e4
mov ecx, esi
call qword [0x0072d098]
mov rsi, rax
mov qword [rsp + 0x30], rax
jmp 0x49e9e4
xor esi, esi
mov qword [rsp + 0x30], rsi
jmp 0x49e9e4
mov rsi, qword [rsp + 0x98]
mov qword [rsp + 0x30], rsi
test rsi, rsi
jne 0x49e9f3
mov eax, 7
jmp 0x49eb8e
movsxd rbx, ebx
mov rdx, rdi
mov rcx, rsi
mov r8, rbx
call sub.msvcrt.dll_memcpy
and r14d, 0xffffffbf
mov byte [rbx + rsi], 0
mov dword [rsp + 0x98], r14d
mov byte [rbx + rsi + 1], 0
jmp 0x49ea23
mov rbp, qword [rsp + 0xa8]
call fcn.0049a550
test eax, eax
je 0x49ea30
xor ebx, ebx
jmp 0x49eaa2
cmp dword [reloc.WS2_32.dll_accept], 0
jne 0x49ea3d
xor edi, edi
jmp 0x49ea59
mov ecx, 2
call qword [0x0072d0e8]
test rax, rax
mov rdi, rax
je 0x49ea59
mov rcx, rax
call qword [0x0072d0f8]
mov rbx, qword [0x007729b0]
test rbx, rbx
je 0x49ea94
test r12, r12
je 0x49ea94
mov r8, qword [rbx + 0x18]
mov rax, r12
sub r8, r12
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x49ea87
inc rax
test ecx, ecx
jne 0x49ea74
test edx, edx
je 0x49ea94
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x49ea65
test rdi, rdi
je 0x49eaa2
mov rcx, rdi
call qword [0x0072d108]
test rbx, rbx
mov qword [rbp], rbx
jne 0x49eb6b
lea rcx, str.no_such_vfs:__s
mov rdx, r12
call fcn.00461e20
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0x90], 1
mov qword [rcx], rax
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x49eb5e
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49eaf3
call qword [0x0072d0f8]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call qword [0x0072d0b0]
mov edx, dword [0x00772960]
mov rcx, rbx
neg eax
add edx, eax
mov eax, dword [0x00772988]
cmp edx, eax
mov dword [0x00772960], edx
cmovg eax, edx
mov edx, dword [0x00772984]
dec edx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp edx, eax
mov dword [0x00772984], edx
cmovg eax, edx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49eb69
call qword [0x0072d108]
jmp 0x49eb69
mov rcx, qword [rsp + 0x30]
call qword [0x0072d0a0]
xor esi, esi
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x98]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x90]
mov qword [rcx], rsi
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
add rsp, 0x88
ret