Function at 0x14036f120
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push r12
push r13
push r14
sub rsp, 0x50
mov r12d, dword [r8]
mov rsi, r9
mov dword [rsp + 0x88], 0
mov r14, rdx
mov r13, rcx
test rdx, rdx
jne 0x14036f15b
xor ebx, ebx
jmp 0x14036f171
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14036f162
and ebx, 0x3fffffff
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r15
test r12b, 0x40
jne 0x14036f193
cmp byte [reloc.SinoSPE.dll_Ordinal_1], 0
je 0x14036f738
cmp ebx, 5
jb 0x14036f738
cmp dword [rdx], 0x656c6966
jne 0x14036f738
cmp byte [rdx + 4], 0x3a
jne 0x14036f738
or r12d, 0x40
mov r8d, ebx
xor edi, edi
mov dword [rsp + 0x20], r12d
xor esi, esi
lea ebp, [rbx + 8]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x14036f204
lea rdx, [rbx - 1]
nop dword [rax]
nop dword [rax + rax]
xor eax, eax
cmp byte [rcx + r14], 0x26
sete al
add rdi, rax
xor eax, eax
cmp byte [rcx + r14 + 1], 0x26
sete al
add rcx, 2
add rsi, rax
cmp rcx, rdx
jl 0x14036f1e0
cmp rcx, r8
jge 0x14036f216
xor eax, eax
cmp byte [rcx + r14], 0x26
sete al
add rbp, rax
call fcn.1403a2170
test eax, eax
jne 0x14036f780
lea rcx, [rsi + rdi]
add rcx, rbp
call fcn.14036b6d0
test rax, rax
je 0x14036f780
xor ecx, ecx
lea rdi, [rax + 4]
mov dword [rax], ecx
mov r9d, 5
cmp byte [r14 + 5], 0x2f
mov qword [rsp + 0x28], rdi
jne 0x14036f2c8
cmp byte [r14 + 6], 0x2f
jne 0x14036f2c8
movzx eax, byte [r14 + 7]
lea r8, [r14 + 7]
mov r9d, 7
test al, al
je 0x14036f2c8
mov rcx, r8
nop
cmp al, 0x2f
je 0x14036f282
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x14036f270
cmp r9d, 7
je 0x14036f2c8
cmp r9d, 0x10
jne 0x14036f2a8
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x14036f2a8
mov eax, reloc.WS2_32.dll_WSACleanup
cmp al, byte [r8 + 8]
je 0x14036f2c8
lea edx, [r9 - 7]
mov dword [rsp + 0x88], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.140285a90
jmp 0x14036f6e0
movsxd rax, r9d
xor r10d, r10d
movzx ecx, byte [rax + r14]
test cl, cl
je 0x14036f463
mov rbx, rdi
lea rsi, [0x1403e0580]
nop word [rax + rax]
movsxd r8, r9d
cmp cl, 0x23
je 0x14036f453
inc r9d
cmp cl, 0x25
jne 0x14036f3c2
movsxd rax, r9d
movzx edx, byte [rax + r14]
test byte [rdx + rsi], 8
je 0x14036f3c2
movsxd rax, r9d
movzx r11d, byte [rax + r14 + 1]
test byte [r11 + rsi], 8
je 0x14036f3c2
movsx eax, dl
add r9d, 2
sar eax, 6
and al, 1
movsx r8d, r11b
movzx eax, al
imul ecx, eax, 7
sar r8d, 6
and r8b, 1
movzx eax, r8b
sub dl, cl
imul ecx, eax, 7
movzx eax, r11b
and edx, 0xf
add edx, edx
sub al, cl
and eax, 0xf
lea ecx, [rax + rdx*8]
test ecx, ecx
jne 0x14036f43b
movsxd rcx, r9d
add rcx, r14
movzx eax, byte [rcx]
test al, al
je 0x14036f443
nop
cmp al, 0x23
je 0x14036f443
test r10d, r10d
jne 0x14036f391
cmp al, 0x3f
jmp 0x14036f3a9
cmp r10d, 1
jne 0x14036f3a1
cmp al, 0x3d
je 0x14036f443
jmp 0x14036f3a7
cmp r10d, 2
jne 0x14036f3af
cmp al, 0x26
je 0x14036f443
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x14036f380
jmp 0x14036f443
cmp r10d, 1
jne 0x14036f41c
cmp cl, 0x26
je 0x14036f3d2
cmp cl, 0x3d
jne 0x14036f43b
cmp byte [rbx - 1], 0
jne 0x14036f404
lea rcx, [r14 + 1]
add rcx, r8
movzx edx, byte [rcx]
test dl, dl
je 0x14036f443
cmp dl, 0x23
je 0x14036f443
cmp byte [rcx - 1], 0x26
je 0x14036f443
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
movzx edx, al
test al, al
jne 0x14036f3e6
jmp 0x14036f443
cmp cl, 0x26
jne 0x14036f414
inc r15d
mov byte [rbx], 0
inc rbx
jmp 0x14036f439
mov r10d, 2
jmp 0x14036f439
test r10d, r10d
jne 0x14036f428
cmp cl, 0x3f
je 0x14036f433
jmp 0x14036f43b
cmp r10d, 2
jne 0x14036f43b
cmp cl, 0x26
jne 0x14036f43b
mov r10d, 1
xor cl, cl
inc r15d
mov byte [rbx], cl
inc rbx
movsxd rax, r9d
movzx ecx, byte [rax + r14]
test cl, cl
jne 0x14036f2f0
cmp r10d, 1
jne 0x14036f463
movsxd rax, r15d
inc r15d
mov byte [rax + rdi], 0
xor ecx, ecx
movsxd rax, r15d
mov dword [rax + rdi], ecx
test rdi, rdi
jne 0x14036f474
xor eax, eax
jmp 0x14036f48d
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax], cl
jne 0x14036f480
and eax, 0x3fffffff
lea rcx, [rax + 1]
add rcx, rdi
cmp byte [rcx], 0
je 0x14036f667
mov edi, 0x65646f6d
mov r9d, 0x6676
mov r8d, reloc.WS2_32.dll_WSAStartup
mov r11d, 0x68636163
mov r10d, 0x65
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14036f4c7
mov edx, eax
and eax, 0x3fffffff
and edx, 0x3fffffff
lea rbp, [rax + 1]
add rbp, rcx
jne 0x14036f4ec
xor esi, esi
xor ebx, ebx
jmp 0x14036f50a
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rbx + rbp], 0
jne 0x14036f4f3
mov esi, ebx
and esi, 0x3fffffff
and ebx, 0x3fffffff
cmp edx, 3
jne 0x14036f533
cmp r9w, word [rcx]
jne 0x14036f64a
cmp r8b, byte [rcx + 2]
jne 0x14036f64a
mov r13, rbp
mov qword [rsp + 0x80], rbp
jmp 0x14036f652
cmp edx, 5
jne 0x14036f564
cmp r11d, dword [rcx]
jne 0x14036f64a
cmp r10b, byte [rcx + 4]
jne 0x14036f64a
mov r15d, 0x60000
lea r14, str.shared
mov r12d, r15d
lea r13, [0x1403f47e4]
jmp 0x14036f58c
cmp edx, 4
jne 0x14036f64a
cmp edi, dword [rcx]
jne 0x14036f64a
mov r15d, 0x87
lea r14, [0x1404ac4c0]
and r12d, r15d
lea r13, str.access
mov rcx, qword [r14]
xor edi, edi
test rcx, rcx
je 0x14036f5dd
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14036f5a7
and eax, 0x3fffffff
cmp esi, eax
jne 0x14036f5cb
mov rdx, rcx
mov r8d, esi
mov rcx, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14036f5ff
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
jne 0x14036f5a0
mov r8, rbp
mov dword [rsp + 0x88], 1
mov rdx, r13
lea rcx, str.no_such__s_mode:__s
call fcn.140285a90
jmp 0x14036f6e0
add rdi, rdi
mov ecx, dword [r14 + rdi*8 + 8]
test ecx, ecx
je 0x14036f5dd
mov eax, ecx
btr eax, 7
cmp eax, r12d
jg 0x14036f719
mov r12d, dword [rsp + 0x20]
not r15d
and r12d, r15d
mov edi, 0x65646f6d
or r12d, ecx
mov r8d, reloc.WS2_32.dll_WSAStartup
mov dword [rsp + 0x20], r12d
mov r9d, 0x6676
mov r10d, 0x65
mov r11d, 0x68636163
mov r13, qword [rsp + 0x80]
lea rcx, [rbp + 1]
add rcx, rbx
cmp byte [rcx], 0
jne 0x14036f4c0
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x98]
mov rcx, r13
call fcn.14025b030
test rax, rax
jne 0x14036f6b6
mov r8d, reloc.SinoSPE.dll_Ordinal_15
lea rdx, str.multipleciphers
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14036f6b6
cmp byte [r13 + 0xf], 0x2d
jne 0x14036f6b6
lea rcx, [r13 + 0x10]
call fcn.14025b030
test rax, rax
je 0x14036f6b6
xor edx, edx
lea rcx, [r13 + 0x10]
call fcn.1403aa9b0
mov rcx, r13
call fcn.14025b030
mov qword [rsi], rax
test rax, rax
jne 0x14036f6f7
mov rdx, r13
mov dword [rsp + 0x88], 1
lea rcx, str.no_such_vfs:__s
call fcn.140285a90
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x28]
call fcn.140287b70
xor edi, edi
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x20]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], rdi
jmp 0x14036f785
mov r8, rbp
mov dword [rsp + 0x88], 3
mov rdx, r13
lea rcx, str._s_mode_not_allowed:__s
call fcn.140285a90
jmp 0x14036f6e0
call fcn.1403a2170
test eax, eax
jne 0x14036f780
lea ecx, [rbx + 8]
call fcn.14036b6d0
test rax, rax
je 0x14036f780
xor ecx, ecx
lea rdi, [rax + 4]
mov dword [rax], ecx
mov qword [rsp + 0x28], rdi
test ebx, ebx
je 0x14036f76d
mov r8d, ebx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
and r12d, 0xffffffbf
mov dword [rbx + rdi], ecx
mov dword [rsp + 0x20], r12d
jmp 0x14036f66f
mov eax, 7
mov r15, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
pop r14
pop r13
pop r12
pop rsi
pop rbx
ret