Function at 0x18004c290
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea eax, [r9 + 0xa]
mov r13d, r9d
mov dword [rsp + 0x48], eax
mov rsi, r8
mov r14, rdx
mov r12, rcx
cmp r9d, eax
jae case.0x18004c7f6.0
mov rbp, qword [rsp + 0xc0]
xor ebx, ebx
lea eax, [r13 - 0xf2]
lea r9, [0x180000000]
cmp eax, 0x17
ja case.0x18004c2f2.243
mov ecx, dword [r9 + rax*4 + 0x4cb18]
add rcx, r9
jmp rcx
test r12, r12
jne case.0x18004c2f2.243
mov rax, rbx
jmp 0x18004cad5
cmp rbp, rsi
jne case.0x18004c2f2.243
mov ecx, GetAcceptLanguagesW
mov eax, ecx
sub eax, 0xb
je 0x18004c325
cmp eax, 1
je case.0x18004c7f6.0
jmp 0x18004c32d
mov dword [rsp + 0x50], 0xfffffffc
inc ecx
cmp ecx, 0xd
jb 0x18004c313
jmp case.0x18004c2f2.243
cmp byte [rbp], bl
je case.0x18004c2f2.243
mov edi, 0xef
mov eax, edi
sub eax, 0xef
je 0x18004c367
sub eax, 1
je 0x18004c360
cmp eax, 1
je case.0x18004c7f6.0
jmp 0x18004c37d
mov qword [rsp + 0x50], rbx
jmp 0x18004c37d
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x22]
call fcn.1800bca70
inc edi
cmp edi, 0xf2
jb 0x18004c347
jmp case.0x18004c2f2.243
mov eax, 0xcb
cmp eax, 0xcb
je 0x18004ca84
add eax, 0x19
cmp eax, 0xe4
jb 0x18004c391
mov eax, dword [r12]
lea r8, [rsp + 0xb8]
or eax, 0x30000
mov dword [rsp + 0xb8], ebx
mov edx, 0xb7
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x40]
call fcn.1800e2fe0
jmp case.0x18004c2f2.243
mov qword [r14], rbp
mov dword [rsp + 0x50], 6
jmp case.0x18004c2f2.243
mov r8, qword [r12 + 0x28]
lea rcx, [rsp + 0xb8]
mov r9d, 0x117
mov byte [rsp + 0xb8], 1
xor edx, edx
call fcn.1800b4500
mov rcx, qword [r12 + 0x18]
lea rdx, [rsp + 0xb8]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov qword [r12 + 0x28], rax
mov byte [rsp + 0xb8], 1
mov dword [rsp + 0x20], 0x76
call fcn.1800994a0
mov qword [r12 + 0x18], rax
jmp case.0x18004c2f2.243
cmp rbp, rsi
je case.0x18004c2f2.243
nop dword [rax]
mov r15d, 0x2a
mov eax, r15d
sub eax, 0x2a
je 0x18004c470
sub eax, 1
je 0x18004c4b9
cmp eax, 1
jne 0x18004c4c7
mov r13d, 0xfe
jmp 0x18004c4c7
movzx eax, byte [rbp]
movzx ecx, byte [rax + r12 + 0x90]
cmp ecx, 0xa
ja case.default.0x18004c491
mov ecx, dword [r9 + rcx*4 + 0x4cb78]
add rcx, r9
jmp rcx
mov edi, 0xf9
sub rsi, rbp
nop dword [rax + rax]
mov eax, edi
sub eax, 0xf9
je 0x18004c4de
cmp eax, 8
jne 0x18004c52f
lea r9, [0x180000000]
mov rsi, qword [rsp + 0xb0]
mov r15d, 0x2b
inc r15d
cmp r15d, 0x2d
jb 0x18004c456
cmp rbp, rsi
jne 0x18004c450
jmp case.0x18004c2f2.243
cmp rsi, 2
jl 0x18004c4f6
mov rdx, rbp
mov rcx, r12
call qword [r12 + 0x1c0]
test eax, eax
je 0x18004c527
mov ecx, 0xe7
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xe6
je case.0x18004c7f6.0
cmp eax, 1
jne 0x18004c51d
mov qword [r14], rbp
mov dword [rsp + 0x50], 6
dec ecx
cmp ecx, 0xe5
ja 0x18004c500
add rbp, 2
sub rsi, 2
add edi, 8
cmp edi, 0x109
jb 0x18004c4a0
mov rsi, qword [rsp + 0xb0]
mov edi, 0x3d
nop dword [rax + rax]
cmp edi, 0x3d
je 0x18004c566
cmp edi, 0x17d4
jne 0x18004c5b5
add rbp, 3
jmp 0x18004c4b2
mov rax, rsi
sub rax, rbp
cmp rax, 3
jl 0x18004c584
mov rdx, rbp
mov rcx, r12
call qword [r12 + 0x1c8]
test eax, eax
je 0x18004c5b5
mov eax, 0x59
nop dword [rax]
cmp eax, 0x59
je 0x18004c5a0
cmp eax, 0x72
je case.0x18004c7f6.0
jmp 0x18004c5ab
mov qword [r14], rbp
mov dword [rsp + 0x50], 6
add eax, 0x19
cmp eax, 0x8b
jb 0x18004c590
add edi, 0x1797
cmp edi, 0x2f2e
jbe 0x18004c550
mov edi, 0xca
sub rsi, rbp
nop dword [rax + rax]
mov eax, edi
sub eax, 0xca
je 0x18004c5e4
cmp eax, 0x2a
je 0x18004c4b2
jmp 0x18004c62b
cmp rsi, 4
jl 0x18004c5fc
mov rdx, rbp
mov rcx, r12
call qword [r12 + 0x1d0]
test eax, eax
je 0x18004c623
mov ecx, 0x41
mov eax, ecx
sub eax, 0x40
je case.0x18004c7f6.0
cmp eax, 1
jne 0x18004c61c
mov qword [r14], rbp
mov dword [rsp + 0x50], 6
dec ecx
cmp ecx, 0x3f
ja 0x18004c601
add rbp, 4
sub rsi, 4
add edi, 0x2a
cmp edi, 0x11e
jb 0x18004c5d0
mov rsi, qword [rsp + 0xb0]
lea r9, [0x180000000]
lea rax, [rbp + 1]
cmp rax, rsi
je case.0x18004c491.0
cmp byte [rbp + 1], 0x5d
je 0x18004c682
mov ecx, 0x9c
nop dword [rax]
mov eax, ecx
sub eax, 0x9c
je 0x18004c674
cmp eax, 0x3b
je 0x18004c4b9
jmp 0x18004c677
inc rbp
add ecx, 0x3b
cmp ecx, 0x112
jb 0x18004c660
lea rcx, [rbp + 2]
cmp rcx, rsi
je case.0x18004c491.0
mov eax, 0xb5
cmp eax, 0xb5
je 0x18004c6a7
cmp eax, 0x142
jne 0x18004c6af
mov dword [rsp + 0x50], ebx
jmp case.0x18004c7f6.0
cmp byte [rcx], 0x3e
jne 0x18004c6e0
mov qword [r14], rcx
add eax, 0x8d
cmp eax, 0x1cf
jb 0x18004c690
mov ecx, 0xef
mov eax, ecx
sub eax, 0xed
je case.0x18004c7f6.0
sub eax, 1
je 0x18004c6e8
cmp eax, 1
jne 0x18004c6f0
mov qword [r14], rbp
jmp 0x18004c6f0
inc rbp
jmp 0x18004c4b9
mov dword [rsp + 0x50], 6
dec ecx
cmp ecx, 0xec
ja 0x18004c6c0
mov ecx, 0xdc
nop
mov eax, ecx
sub eax, 0xdb
je 0x18004c4b9
cmp eax, 1
jne 0x18004c715
inc rbp
dec ecx
cmp ecx, 0xda
ja 0x18004c700
jmp 0x18004c4c7
movzx eax, byte [rbp]
movzx ecx, byte [rax + r12 + 0x90]
cmp ecx, 0xa
ja case.default.0x18004c745
mov ecx, dword [r9 + rcx*4 + 0x4cba4]
add rcx, r9
jmp rcx
mov edx, 0x55
nop dword [rax]
mov eax, edx
sub eax, 0x51
je 0x18004ca89
sub eax, 1
je 0x18004c7a0
sub eax, 1
je 0x18004c786
sub eax, 1
je 0x18004c774
cmp eax, 1
jne 0x18004c7a3
inc rbp
jmp 0x18004c7a3
cmp rbp, rsi
jne 0x18004c7a3
mov dword [rsp + 0x50], 0xfffffffd
jmp case.0x18004c7f6.0
movzx eax, byte [rbp]
lea rcx, [rbp + 1]
cmp byte [rax + r12 + 0x90], 0xa
cmovne rcx, rbp
mov rbp, rcx
jmp 0x18004c7a3
mov qword [r14], rbp
dec edx
cmp edx, 0x50
ja 0x18004c750
mov ecx, 0x23
nop
mov eax, ecx
sub eax, 0x22
je 0x18004ca89
cmp eax, 1
jne 0x18004c7c7
lea rax, [rbp + 1]
mov qword [r14], rax
dec ecx
cmp ecx, 0x21
ja 0x18004c7b0
mov edx, 5
mov r8d, 0xd7
nop dword [rax]
cmp edx, 5
ja case.default.0x18004c7f6
mov eax, edx
mov ecx, dword [r9 + rax*4 + 0x4cbd0]
add rcx, r9
jmp rcx
inc rbp
cmp rbp, rsi
jne case.default.0x18004c7f6
mov eax, 0x103
nop dword [rax]
cmp eax, 0x103
je 0x18004c824
cmp eax, 0x8180
je case.0x18004c7f6.0
jmp 0x18004c82c
mov dword [rsp + 0x50], 0xfffffffb
add eax, 0x807d
cmp eax, 0x100fa
jbe 0x18004c810
jmp case.default.0x18004c7f6
cmp byte [rbp], 0x5d
jne 0x18004ca67
inc rbp
jmp case.default.0x18004c7f6
cmp rbp, rsi
jne 0x18004c877
mov ecx, 0xfe
mov eax, ecx
sub eax, 0xfd
je case.0x18004c7f6.0
cmp eax, 1
jne 0x18004c86d
mov dword [rsp + 0x50], 0xfffffffb
dec ecx
cmp ecx, 0xfc
ja 0x18004c853
cmp byte [rbp], 0x3e
je case.default.0x18004c7f6
mov ecx, 0x12b
mov eax, ecx
sub eax, 0x12b
je 0x18004c896
cmp eax, 0x4f
je 0x18004ca67
jmp 0x18004c899
dec rbp
add ecx, 0x4f
cmp ecx, 0x1c9
jb 0x18004c882
jmp case.default.0x18004c7f6
mov qword [r14], rbp
jmp case.default.0x18004c7f6
mov dword [rsp + 0x50], ebx
dec r8d
dec edx
cmp r8d, 0xd1
ja 0x18004c7e0
mov edi, 0x53
mov eax, edi
sub eax, 0x53
je 0x18004c8db
cmp eax, 0x3f
jne 0x18004c927
add rbp, 2
jmp 0x18004ca67
mov rax, rsi
sub rax, rbp
cmp rax, 2
jl 0x18004ca93
mov rdx, rbp
mov rcx, r12
call qword [r12 + 0x1c0]
test eax, eax
je 0x18004c927
mov eax, GetAcceptLanguagesW
cmp eax, 0xd
je 0x18004c914
cmp eax, 0x8f
je case.0x18004c7f6.0
jmp 0x18004c91b
mov qword [r14], rbp
mov dword [rsp + 0x50], ebx
add eax, 0x82
cmp eax, 0x104
jbe 0x18004c902
add edi, 0x3f
cmp edi, 0xd1
jb 0x18004c8c6
mov edi, 0xb8
cmp edi, 0xb8
je 0x18004c950
cmp edi, 0x169
jne 0x18004c99e
add rbp, 3
jmp 0x18004ca67
mov rax, rsi
sub rax, rbp
cmp rax, 3
jl 0x18004ca93
mov rdx, rbp
mov rcx, r12
call qword [r12 + 0x1c8]
test eax, eax
je 0x18004c99e
mov eax, 0x8f
cmp eax, 0x8f
je 0x18004c98b
cmp eax, 0x5695
je case.0x18004c7f6.0
jmp 0x18004c992
mov qword [r14], rbp
mov dword [rsp + 0x50], ebx
add eax, 0x5606
cmp eax, 0xac0c
jbe 0x18004c977
add edi, 0xb1
cmp edi, 0x21a
jb 0x18004c937
mov edi, 0xce
sub rsi, rbp
mov eax, edi
sub eax, 0xce
je 0x18004c9d7
sub eax, 1
je 0x18004c9cd
cmp eax, 1
je 0x18004ca67
jmp 0x18004ca1f
add rbp, 4
sub rsi, 4
jmp 0x18004ca1f
cmp rsi, 4
jl 0x18004ca93
mov rdx, rbp
mov rcx, r12
call qword [r12 + 0x1d0]
test eax, eax
je 0x18004ca1f
mov ecx, 0x6d
mov eax, ecx
sub eax, 0x6d
je 0x18004ca15
sub eax, 1
je 0x18004ca0f
cmp eax, 1
je case.0x18004c7f6.0
jmp 0x18004ca18
mov dword [rsp + 0x50], ebx
jmp 0x18004ca18
mov qword [r14], rbp
inc ecx
cmp ecx, 0x70
jb 0x18004c9f8
inc edi
cmp edi, 0xd1
jb 0x18004c9b4
mov ecx, 0x78
nop
mov eax, ecx
sub eax, 0x78
je 0x18004ca42
cmp eax, 1
je 0x18004c69e
jmp 0x18004ca45
mov qword [r14], rbp
inc ecx
cmp ecx, 0x7a
jb 0x18004ca30
mov eax, 0xb9
cmp eax, 0xb9
je 0x18004ca64
add eax, 0x75
cmp eax, 0x12e
jb 0x18004ca51
jmp 0x18004ca67
inc rbp
mov rsi, qword [rsp + 0xb0]
mov r13d, 0xfd
inc r13d
cmp r13d, dword [rsp + 0x48]
jae case.0x18004c7f6.0
jmp 0x18004c2d0
mov rax, r12
jmp 0x18004cad5
mov dword [rsp + 0x50], 7
jmp case.0x18004c7f6.0
mov dword [rsp + 0x50], 0xfffffffe
jmp case.0x18004c7f6.0
mov eax, 0x95
cmp eax, 0x95
je 0x18004caed
add eax, 0x58
cmp eax, 0xed
jb 0x18004caa2
lea r8, [rbp + 1]
mov qword [rsp + 0x20], r12
mov r9, rsi
mov edx, 0x6e
mov rcx, r14
call fcn.1800162f0
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, [rbp + 1]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8, rsi
mov dword [rsp + 0x20], 0x3b
xor edx, edx
mov rcx, r12
call fcn.1800c37c0
jmp 0x18004cacc