Function at 0x1800bf900
Capabilities:
Parse credit card information

Disassembly:
push rdi
sub rsp, 0x90
mov rax, qword [rcx + 0x38]
mov rdi, rcx
mov r8, qword [rax + 0x20]
cmp byte [r8], 0x25
jne 0x1800bfea1
mov edx, dword [rcx + 0x108]
mov qword [rsp + 0xa8], rbx
lea eax, [rdx + 1]
cmp eax, 0x11
ja case.default.0x1800bf94c
lea r9, [0x180000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0xbfeac]
add rcx, r9
jmp rcx
cmp dword [rdi + 0x13c], 0
je 0x1800bf960
cmp edx, 0xffffffff
je case.0x1800bf94c.2
xor ebx, ebx
lea rax, str.PEReference_at_end_of_document_n
mov dword [rdi + 0x80], reloc.WS2_32.dll_select
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], reloc.WS2_32.dll_select
jmp 0x1800bfa84
cmp dword [rdi + 0x13c], 0
je 0x1800bf9ca
cmp edx, 0xffffffff
je case.0x1800bf94c.2
xor ebx, ebx
lea rax, str.PEReference_in_prolog_n
mov dword [rdi + 0x80], reloc.WS2_32.dll_send
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], reloc.WS2_32.dll_send
jmp 0x1800bfa84
cmp dword [rdi + 0x13c], 0
je 0x1800bfa31
cmp edx, 0xffffffff
je case.0x1800bf94c.2
xor ebx, ebx
lea rax, str.PEReference_in_epilog_n
mov dword [rdi + 0x80], reloc.WS2_32.dll_sendto
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], reloc.WS2_32.dll_sendto
mov r9, rdi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
call sym.VBoxRT.dll___xmlRaiseError
mov dword [rdi + 0x18], ebx
cmp dword [rdi + 0x1b0], ebx
jne case.0x1800bf94c.2
mov dword [rdi + 0x13c], 1
mov rbx, qword [rsp + 0xa8]
add rsp, 0x90
pop rdi
ret
cmp dword [rdi + 0x8c], 0
jne 0x1800bfadd
cmp dword [rdi + 0x40], 1
je case.0x1800bf94c.2
movzx eax, byte [r8 + 1]
cmp al, 0x20
je case.0x1800bf94c.2
cmp al, 9
jb 0x1800bfaf6
cmp al, 0xa
jbe case.0x1800bf94c.2
cmp al, 0xd
je case.0x1800bf94c.2
test al, al
je case.0x1800bf94c.2
mov rcx, rdi
mov qword [rsp + 0xb0], rsi
call sym.VBoxRT.dll_xmlNextChar
mov rcx, rdi
call sym.VBoxRT.dll_xmlParseName
mov rsi, rax
call sym.VBoxRT.dll___xmlParserDebugEntities
cmp dword [rax], 0
je 0x1800bfb47
call sym.VBoxRT.dll___xmlGenericError
mov rbx, rax
call sym.VBoxRT.dll___xmlGenericErrorContext
lea rdx, str.PEReference:__s_n
mov rcx, qword [rax]
mov r8, rsi
call qword [rbx]
test rsi, rsi
jne 0x1800bfbb9
cmp dword [rdi + 0x13c], esi
je 0x1800bfb61
cmp dword [rdi + 0x108], 0xffffffff
je 0x1800bfe91
xor ebx, ebx
lea rax, str.PEReference:_no_name_n
mov dword [rdi + 0x80], 0x18
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], 0x18
jmp 0x1800bfe60
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x3b
jne 0x1800bfdf7
mov rcx, rdi
call sym.VBoxRT.dll_xmlNextChar
mov r11, qword [rdi]
test r11, r11
je 0x1800bfd69
mov rax, qword [r11 + 0xc0]
test rax, rax
je 0x1800bfd69
mov rcx, qword [rdi + 8]
mov rdx, rsi
call rax
mov rbx, rax
test rax, rax
je 0x1800bfd69
mov rcx, qword [rdi + 0x38]
lea rax, [0x1800ba780]
cmp qword [rcx + 0x40], rax
je 0x1800bfc2f
mov rdx, rbx
mov rcx, rdi
call fcn.1800ba790
mov rcx, rdi
mov rdx, rax
call sym.VBoxRT.dll_xmlPushInput
jmp 0x1800bfe91
mov eax, dword [rbx + 0x5c]
cmp eax, 4
je 0x1800bfc58
cmp eax, 5
je 0x1800bfc58
lea r8, str.PEReference:__s_is_not_a_parameter_entity_n
mov r9, rsi
mov edx, 0x1e
mov rcx, rdi
call fcn.1800b93f0
jmp 0x1800bfe91
mov rdx, rbx
mov rcx, rdi
call sym.VBoxRT.dll_xmlNewEntityInputStream
mov rcx, rdi
mov rdx, rax
call sym.VBoxRT.dll_xmlPushInput
cmp dword [rdi + 0x1b4], 0
jne 0x1800bfc94
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
cmp rcx, 0xfa
jge 0x1800bfc94
mov rcx, rdi
call fcn.1800bcfe0
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdx + 0x28]
sub rax, qword [rdx + 0x20]
cmp rax, 4
jl 0x1800bfd01
mov rax, qword [rdx + 0x20]
movzx ecx, byte [rax]
mov byte [rsp + 0xa0], cl
mov rax, qword [rdx + 0x20]
movzx ecx, byte [rax + 1]
mov byte [rsp + 0xa1], cl
mov rax, qword [rdx + 0x20]
movzx ecx, byte [rax + 2]
mov byte [rsp + 0xa2], cl
mov rax, qword [rdx + 0x20]
mov edx, 4
movzx ecx, byte [rax + 3]
mov byte [rsp + 0xa3], cl
lea rcx, [rsp + 0xa0]
call sym.VBoxRT.dll_xmlDetectCharEncoding
test eax, eax
je 0x1800bfd01
mov edx, eax
mov rcx, rdi
call sym.VBoxRT.dll_xmlSwitchEncoding
cmp dword [rbx + 0x5c], 5
jne 0x1800bfe91
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x3c
jne 0x1800bfe91
cmp byte [rcx + 1], 0x3f
jne 0x1800bfe91
cmp byte [rcx + 2], 0x78
jne 0x1800bfe91
cmp byte [rcx + 3], 0x6d
jne 0x1800bfe91
cmp byte [rcx + 4], 0x6c
jne 0x1800bfe91
movzx eax, byte [rcx + 5]
cmp al, 0x20
je 0x1800bfd5c
cmp al, 9
jb 0x1800bfd54
cmp al, 0xa
jbe 0x1800bfd5c
cmp al, 0xd
jne 0x1800bfe91
mov rcx, rdi
call sym.VBoxRT.dll_xmlParseTextDecl
jmp 0x1800bfe91
cmp dword [rdi + 0x30], 1
je 0x1800bfddb
cmp dword [rdi + 0x84], 0
jne 0x1800bfd81
cmp dword [rdi + 0x88], 0
je 0x1800bfddb
xor ebx, ebx
cmp dword [rdi + 0x94], ebx
je 0x1800bfdb4
cmp qword [rdi + 0xa0], rbx
je 0x1800bfdb4
lea r8, str.PEReference:____s__not_found_n
lea edx, [rbx + 0x1b]
mov r9, rsi
mov rcx, rdi
call fcn.1800b9180
mov dword [rdi + 0x90], ebx
jmp 0x1800bfe91
lea r8, str.PEReference:____s__not_found_n
mov r9, rsi
mov edx, 0x1b
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.1800b90b0
mov dword [rdi + 0x90], ebx
jmp 0x1800bfe91
lea r8, str.PEReference:____s__not_found_n
mov r9, rsi
mov edx, 0x1a
mov rcx, rdi
call fcn.1800b93f0
jmp 0x1800bfe91
cmp dword [rdi + 0x13c], 0
je 0x1800bfe0d
cmp dword [rdi + 0x108], 0xffffffff
je 0x1800bfe91
xor ebx, ebx
lea rax, str.PEReference:_expecting___n
mov dword [rdi + 0x80], 0x19
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], 0x19
mov r9, rdi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
call sym.VBoxRT.dll___xmlRaiseError
mov dword [rdi + 0x18], ebx
cmp dword [rdi + 0x1b0], ebx
jne 0x1800bfe91
mov dword [rdi + 0x13c], 1
mov rsi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x90
pop rdi
ret