Function at 0x18005f850
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rsi
push r12
sub rsp, 0x98
mov eax, ecx
mov dword [rsp + 0x3c], ecx
mov esi, ecx
mov r12, r8
imul ecx, ecx, 0x954
mov r11, rdx
mov dword [rsp + 0x58], ecx
cmp eax, ecx
ja 0x18005fd36
mov ecx, dword [rsp + 0xb0]
mov qword [rsp + 0x90], rbx
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x80], rdi
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x78], r13
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x70], r14
mov r14d, dword [rsp + 0xb0]
mov qword [rsp + 0x68], r15
mov r15d, dword [rsp + 0xb0]
mov qword [rsp + 0x30], rcx
nop
cmp esi, 0x1c58d
ja 0x18005fa62
je 0x18005f9bf
cmp esi, 0x9c40
ja 0x18005f983
je 0x18005f95c
mov eax, esi
sub eax, 0xc8
je 0x18005f949
sub eax, 0x36
je 0x18005f924
cmp eax, 0x25
jne 0x18005fd06
mov dword [rsp + 0x28], 0
jmp 0x18005fd06
mov rax, qword [r9 + 8]
lea rcx, [rsp + 0x20]
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x103
call fcn.1800766e0
mov rcx, qword [rsp + 0x30]
jmp 0x18005fd06
mov r15d, 0x20
mov dword [rsp + 0x2c], 0x2c
jmp 0x18005fd06
mov rax, qword [rsp + 0xd0]
xor r14d, r14d
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], r14b
jne 0x18005f970
mov qword [rsp + 0x30], rcx
jmp 0x18005fd06
cmp esi, 0xe358
je 0x18005f9b2
cmp esi, 0x137b8
jne 0x18005fd06
mov rdi, qword [rsp + 0x50]
mov rax, qword [r9 + 8]
add rax, qword [r9]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rdi
jmp 0x18005fd06
mov dword [rsp + 0x38], 1
jmp 0x18005fd06
mov rdx, qword [r9]
xor r8d, r8d
movsxd r9, dword [rdx]
test r9, r9
jle 0x18005fa46
mov r12d, dword [rsp + 0x28]
nop dword [rax]
nop word [rax + rax]
mov r9d, dword [rsp + 0x38]
mov ecx, 0x48
nop word [rax + rax]
cmp ecx, 0x48
je 0x18005fa08
cmp ecx, 0x1bd8
jne 0x18005fa1b
mov rax, qword [rdx + 8]
imul r9d, dword [rax + r8*4]
jmp 0x18005fa1b
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + r8*4]
imul eax, r9d
add r12d, eax
add ecx, 0x1b90
cmp ecx, 0x3720
jbe 0x18005f9f0
mov dword [rsp + 0x38], r9d
inc r8
movsxd r9, dword [rdx]
mov dword [rsp + 0x28], r12d
cmp r8, r9
jl 0x18005f9e0
mov r12, qword [rsp + 0xc0]
movsxd rcx, dword [rsp + 0x28]
mov rax, qword [rdx + 0x20]
lea rbx, [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x40], rbx
jmp 0x18005fd06
cmp esi, 0x1d330
je 0x18005fcf5
movsxd rdx, ecx
mov qword [rsp + 0x20], rdx
cmp esi, 0x26ea8
je 0x18005fc71
cmp esi, 0x2a7c2
je 0x18005fa9e
cmp esi, 0x30a20
je 0x18005fad3
cmp esi, 0x3a598
jne 0x18005fd06
mov r14, qword [rsp + 0x70]
mov rax, rbx
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov r15, qword [rsp + 0x68]
add rsp, 0x98
pop r12
pop rsi
ret
test r13, r13
je 0x18005fbcd
mov r10, qword [rsp + 0x50]
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, r13
cmp rcx, r10
jae 0x18005fbc8
mov esi, dword [rsp + 0x2c]
mov r9d, reloc.SHLWAPI.dll_IUnknown_GetWindow
nop dword [rax]
cmp r9d, 0xac
je 0x18005fc4d
cmp r9d, 0x4890
je 0x18005fc45
movsxd r8, r14d
cmp r9d, 0x9074
je 0x18005fbe1
cmp r9d, 0xd858
jne 0x18005fba7
cmp r14d, dword [r11]
jge 0x18005fbdc
cmp r15d, 0x20
je 0x18005fb4e
movsx eax, byte [rdi]
cmp eax, r15d
jne 0x18005fbdc
mov edx, 0x6c
mov eax, edx
sub eax, 0x6b
je 0x18005fb96
cmp eax, 1
jne 0x18005fb9b
test r8, r8
jle 0x18005fb9b
movzx ecx, byte [r8 + r13 - 1]
cmp cl, 0x2c
jne 0x18005fb72
dec r8
cmp cl, 0x2c
lea eax, [r14 - 1]
cmovne eax, r14d
mov r14d, eax
test r8, r8
jle 0x18005fb9b
cmp byte [r8 + r13 - 1], 0x3b
jne 0x18005fb9b
lea r14d, [rax - 1]
dec r8
jmp 0x18005fb9b
mov byte [r8 + r12], 0
dec edx
cmp edx, 0x6a
ja 0x18005fb53
mov rdx, qword [rsp + 0x20]
add r9d, 0x47e4
cmp r9d, 0x11f90
jbe 0x18005fb00
mov dword [rsp + 0x2c], esi
mov esi, dword [rsp + 0x3c]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x40], r14d
mov rbx, qword [rsp + 0x40]
jmp 0x18005fd06
xor r14d, r14d
jmp 0x18005fba7
cmp rdi, r10
jae 0x18005fba7
movsx eax, byte [rdi]
cmp eax, r15d
je 0x18005fba2
cmp eax, esi
je 0x18005fba2
cmp r14d, dword [r11]
jge 0x18005fba2
mov eax, 0x7c
nop dword [rax]
cmp eax, 0x7c
jne 0x18005fc2f
cmp r15d, 0x20
je 0x18005fc1f
cmp byte [rdi], 0x5c
jne 0x18005fc1f
movsx ecx, byte [rdi + 1]
lea rdx, [rdi + 1]
cmp ecx, r15d
cmove rdi, rdx
movzx ecx, byte [rdi]
inc r14d
mov byte [r8 + r12], cl
inc r8
inc rdi
add eax, 0x48a8
cmp eax, 0x48a8
jbe 0x18005fc00
cmp rdi, r10
jb 0x18005fbe6
jmp 0x18005fba2
mov rdi, r13
jmp 0x18005fba7
inc r13
add r13, rdx
movsx eax, byte [r13]
cmp al, 0x22
je 0x18005fc64
cmp al, 0x27
jne 0x18005fba7
mov esi, eax
mov r15d, eax
inc r13
jmp 0x18005fba7
mov rbp, qword [r9]
mov r13, rbp
test rbp, rbp
je 0x18005fcee
mov r12, qword [rsp + 0x50]
mov rsi, rdx
mov ebx, dword [rsp + 0x2c]
not rsi
mov rdi, qword [rsp + 0xd0]
lea rax, [rdx + r13]
cmp rax, r12
jae 0x18005fcd7
cmp r13, rbp
je 0x18005fcb3
lea rax, [rdx + rsi]
movsx ecx, byte [rax + r13]
cmp ecx, r15d
je 0x18005fcb3
cmp ecx, ebx
jne 0x18005fcd1
cmp byte [rdx + r13], 0x3d
jne 0x18005fcd1
mov r8, rdx
mov rcx, r13
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18005fcd7
mov rdx, qword [rsp + 0x20]
add r13, 1
jne 0x18005fc93
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r12, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x30]
mov esi, 0x26ea8
jmp 0x18005fd06
xor r13d, r13d
test r12, r12
je 0x18005fd06
cmp qword [r11], r13
jbe 0x18005fd06
mov byte [r12], r13b
imul eax, dword [rsp + 0xb0], 0xc7
add esi, eax
mov dword [rsp + 0x3c], esi
cmp esi, dword [rsp + 0x58]
ja 0x18005fa9e
mov r11, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xc8]
jmp 0x18005f8e0
mov rax, qword [rsp + 0x40]
add rsp, 0x98
pop r12
pop rsi
ret