Function at 0x1400938a8
Capabilities:
Parse credit card information

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1a8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x1400b8288]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov qword [rsp + 0x68], r9
mov rsi, r9
mov qword [rsp + 0x70], rdx
mov r14, r8
mov r12, rdx
mov r13, rcx
test rcx, rcx
je 0x14009502b
test r8, r8
je 0x14009502b
test r9, r9
je 0x140093913
cmp qword [r9 + 8], 0x70
jb 0x14009502b
xor edx, edx
mov r8d, 0xe0
mov rcx, r14
call sub.msvcrt.dll_memset
mov rbx, qword [r13 + 0x158]
lea rdx, [rsp + 0x40]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095019
cmp byte [rsp + 0x5c], 0
jne 0x140095026
mov rdx, qword [rsp + 0x40]
mov edi, 0xc000a083
mov qword [r14 + 0x18], rdx
mov qword [r14 + 0x30], rbx
mov ecx, dword [r13 + 0x164]
mov dword [r14 + 4], ecx
mov ecx, dword [rsp + 0x58]
cmp ecx, 0x30
jle 0x140093f76
cmp ecx, 0x33
je 0x140093e8b
cmp ecx, 0x3f
jle 0x140095001
cmp ecx, 0x41
jle 0x1400939a3
cmp ecx, 0x44
jle 0x140095001
cmp ecx, 0x46
jg 0x140093b0f
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov eax, dword [rsp + 0x58]
cmp eax, 0x66
je 0x140093ace
cmp eax, 0x4b
je 0x1400939e6
cmp eax, 0x47
je 0x140093afb
jmp 0x1400939a3
mov dword [r14], 0xa
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov eax, dword [rsp + 0x58]
cmp eax, 0x4b
je 0x1400939ed
cmp eax, 0x4c
jne 0x140093a46
and qword [r14 + 0x40], 0
and dword [r14 + 0x4c], 0
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x50], xmm0
movsd qword [r14 + 0x60], xmm1
jmp 0x140093afb
cmp eax, 0x4d
jne 0x140093abf
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
cmp dword [rsp + 0x58], 0x4e
jne 0x140093abf
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
cmp dword [rsp + 0x58], 0x4c
je 0x140093a2b
mov ecx, edi
call fcn.1400962a0
mov r15d, eax
jmp 0x140095001
mov r8, r14
mov dword [r14], 9
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140093430
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov eax, dword [r14]
sub eax, 9
cmp eax, 1
jbe 0x140095001
jmp 0x140093913
cmp ecx, 0x4c
je 0x140093b24
cmp ecx, 0x4f
je 0x140093b24
cmp ecx, 0x65
jne 0x140095001
jmp 0x140093b58
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov eax, dword [rsp + 0x58]
cmp eax, 0x4f
je 0x140093b24
cmp eax, 0x65
jne 0x140093b64
mov dword [r14], 0xc
jmp 0x140095001
and dword [r14 + 0x4c], 0
and qword [r14 + 0x40], 0
cmp eax, 0x51
jne 0x140093be4
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
cmp dword [rsp + 0x58], 0x52
jne 0x140093abf
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov eax, dword [rsp + 0x58]
cmp eax, 0x50
jne 0x140093abf
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x50], xmm0
mov dword [r14], 0xb
movsd qword [r14 + 0x60], xmm1
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov ecx, dword [rsp + 0x58]
cmp ecx, 0x58
jg 0x140093ca3
je 0x140093c96
sub ecx, 0x53
je 0x140093c8c
sub ecx, 1
je 0x140093c7f
sub ecx, 1
je 0x140093c72
sub ecx, 1
je 0x140093c65
cmp ecx, 1
jne 0x140093abf
mov dword [r14 + 0x68], 4
jmp 0x140093d85
mov dword [r14 + 0x68], 3
jmp 0x140093d85
mov dword [r14 + 0x68], 2
jmp 0x140093d85
mov dword [r14 + 0x68], 1
jmp 0x140093d85
and dword [r14 + 0x68], 0
jmp 0x140093d85
mov dword [r14 + 0x68], 5
jmp 0x140093d85
sub ecx, 0x59
je 0x140093d7d
sub ecx, 1
je 0x140093d73
sub ecx, 1
je 0x140093d38
cmp ecx, 3
jne 0x140093abf
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
cmp dword [rsp + 0x58], 0x5c
jne 0x140093cc3
mov dword [r14 + 0x68], 9
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x70], xmm0
movsd qword [r14 + 0x80], xmm1
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
je 0x140093d85
jmp 0x140095001
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
cmp dword [rsp + 0x58], 0x5c
jne 0x140093abf
mov dword [r14 + 0x68], 8
jmp 0x140093cf8
mov dword [r14 + 0x68], 7
jmp 0x140093d85
mov dword [r14 + 0x68], 6
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov ecx, dword [rsp + 0x58]
mov dword [r14 + 0x88], 3
sub ecx, 0x5f
je 0x140093e7e
sub ecx, 1
je 0x140093e6e
sub ecx, 1
je 0x140093ddb
cmp ecx, 1
je 0x140093e0c
jmp 0x140093abf
mov r8b, 1
mov dword [r14 + 0x88], 2
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
cmp dword [rsp + 0x58], 0x63
jne 0x140093abf
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x90], xmm0
movsd qword [r14 + 0xa0], xmm1
call fcn.140091718
jmp 0x140093ac6
mov dword [r14 + 0x88], 1
jmp 0x140095001
and dword [r14 + 0x88], 0
jmp 0x140095001
xor edi, edi
cmp byte [r13 + 0x160], dil
je 0x140093ebc
and dword [r14], edi
mov dword [r14 + 0x58], reloc.Cabinet.dll_FDICreate
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
mov dword [r14], 2
mov qword [r14 + 0x80], rbx
jmp 0x140093f2a
cmp byte [rsp + 0x5c], 0
mov ecx, dword [rsp + 0x58]
jne 0x140093f46
cmp ecx, 4
je 0x140093f46
cmp ecx, 0x34
je 0x140095001
cmp ecx, 1
je 0x140093f46
sub ecx, 0x37
je 0x140093f26
sub ecx, 1
je 0x140093f20
sub ecx, 1
je 0x140093f1a
cmp ecx, 2
jne 0x140093f2a
test rdi, rdi
je 0x140093f2a
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [rdi], xmm0
movsd qword [rdi + 0x10], xmm1
xor edi, edi
jmp 0x140093f2a
lea rdi, [r14 + 0x50]
jmp 0x140093f2a
lea rdi, [r14 + 0x68]
jmp 0x140093f2a
lea rdi, [r14 + 0x38]
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
jns 0x140093ecc
jmp 0x140095026
cmp ecx, 0x34
je 0x140095001
movups xmm0, xmmword [rsp + 0x40]
and dword [r14], 0
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], FDICopy
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
je 0x140094f4b
sub ecx, 2
je 0x140094e79
sub ecx, 2
je 0x140094e3c
sub ecx, 1
je 0x140094428
sub ecx, 0x1d
je 0x14009412a
sub ecx, 6
je 0x140094056
cmp ecx, 5
jne 0x140095001
xor edi, edi
lea rsi, [rbp - 0x34]
xor r12d, r12d
lea rdx, [rsi - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140093ffd
cmp byte [rsi], 0
jne 0x140093ffd
lea rax, [0x140000000]
mov eax, dword [r12 + rax + 0xb1238]
cmp dword [rsi - 4], eax
jne 0x140094003
inc rdi
add r12, 0xc
add rsi, 0x20
cmp r12, 0x18
jne 0x140093fbb
jmp 0x140094003
xor edi, edi
test eax, eax
js 0x14009401e
cmp rdi, 2
jne 0x14009401e
mov dword [r14], 0xd
movaps xmm0, xmmword [rbp - 0x50]
movsd xmm1, qword [rbp - 0x40]
jmp 0x140093eac
and dword [r14], 0
lea rcx, [0x140000000]
mov rax, rdi
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rdi + rdi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rcx + rax*4 + 0xb123c]
jmp 0x140094ff9
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094119
cmp byte [rsp + 0x5c], 0
jne 0x140094119
cmp dword [rsp + 0x58], 0x2a
jne 0x140094119
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14], 5
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov qword [r14 + 0x68], rbx
movsd qword [r14 + 0x48], xmm1
jmp 0x1400940e0
cmp byte [rsp + 0x5c], 0
jne 0x1400940f7
mov eax, dword [rsp + 0x58]
cmp eax, 0x2b
jne 0x1400940d2
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x50], xmm0
movsd qword [r14 + 0x60], xmm1
jmp 0x1400940e0
cmp eax, 0x29
je 0x140095001
cmp eax, 4
je 0x140094108
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
jns 0x1400940aa
and dword [r14], 0
mov dword [r14 + 0x58], FDICopy
jmp 0x140093ea1
and dword [r14], 0
mov dword [r14 + 0x58], FDICopy
jmp 0x140093ea1
and dword [r14], 0
mov dword [r14 + 0x58], FDICopy
jmp 0x140093ea1
dec dword [r13 + 0x164]
lea rcx, [r13 + 0x168]
mov edx, dword [r13 + 0x164]
lea r8, [rsp + 0x68]
and qword [rsp + 0x68], 0
xor r9d, r9d
call fcn.140095558
test eax, eax
js 0x140095035
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094401
cmp byte [rsp + 0x5c], 0
jne 0x140094401
mov eax, dword [rsp + 0x58]
cmp eax, 0x23
je 0x140094192
cmp eax, 0x26
jne 0x140094401
cmp eax, 0x26
jne 0x14009422d
movups xmm1, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm0, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x38], xmm1
movups xmmword [r14 + 0x68], xmm1
movsd qword [r14 + 0x48], xmm0
movsd qword [r14 + 0x78], xmm0
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094206
cmp byte [rsp + 0x5c], 0
jne 0x140094206
cmp dword [rsp + 0x58], 0x27
jne 0x140094206
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094206
cmp byte [rsp + 0x5c], 0
jne 0x140094206
cmp dword [rsp + 0x58], 0x23
je 0x14009422d
movups xmm0, xmmword [rsp + 0x40]
and dword [r14], 0
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 7
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
mov rdi, qword [rsp + 0x68]
lea r12, [r14 + 0x88]
movups xmm0, xmmword [rsp + 0x40]
lea rsi, [r14 + 0x50]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [rsi], xmm0
movsd qword [rsi + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x38]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rdi + 0x48]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x58]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x68]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x78]
movups xmmword [r12 + 0x40], xmm0
movsd xmm1, qword [rdi + 0x88]
dec dword [r14 + 4]
movsd qword [r12 + 0x50], xmm1
mov qword [r14 + 0x80], rbx
mov dword [r14], 4
jmp 0x1400942b9
cmp byte [rsp + 0x5c], 0
jne 0x1400942d0
cmp dword [rsp + 0x58], 4
je 0x1400942d0
cmp dword [rsp + 0x58], 0x25
je 0x1400942fa
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
jns 0x1400942a4
movups xmm0, xmmword [rsp + 0x40]
and dword [r14], 0
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 6
movsd qword [r14 + 0x48], xmm1
mov qword [rsi], rbx
jmp 0x140095001
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14009436b
mov eax, dword [rdi + 4]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x30], rdx
inc eax
lea rdx, [rsp + 0x60]
mov r9, r14
mov qword [rsp + 0x28], rdx
xor r8d, r8d
mov rdx, rcx
mov dword [rsp + 0x20], eax
call fcn.140093290
mov r15d, eax
cmp eax, 0xc000a083
jne 0x140094349
movups xmm0, xmmword [rbp - 0x70]
mov qword [rsi], rbx
movsd xmm1, qword [rbp - 0x60]
jmp 0x140094d2d
test eax, eax
js 0x140095001
mov edx, dword [rdi + 4]
mov rcx, qword [rsp + 0x70]
inc edx
call fcn.140095a44
mov r15d, eax
test eax, eax
js 0x140095001
movabs r10, 0xa26097617e5bfa70
mov rax, qword [r13 + 0x130]
lea r9, [rsp + 0x60]
mov r8, rsi
mov rdx, r12
mov rcx, r13
call qword [vtable._SH_n.0]
mov r15d, eax
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x1400943d5
test r15d, r15d
js 0x140095001
lea r8, [r14 + 0x68]
lea rdx, [r14 + 0xb8]
movabs r10, 0xa26097617e5bfa70
mov rax, qword [r13 + 0x130]
lea r9, [rsp + 0x60]
mov rcx, r13
call qword [vtable._SH_n.0]
mov r15d, eax
mov eax, dword [rsp + 0x60]
test r15d, r15d
js 0x140095001
test eax, eax
je 0x140095001
movups xmm0, xmmword [r14 + 0x18]
mov dword [r14 + 0x58], 0x1c
movsd xmm1, qword [r14 + 0x28]
mov qword [rsi], rbx
jmp 0x140094d35
movups xmm0, xmmword [rsp + 0x40]
and dword [r14], 0
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 8
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
mov al, byte [r13 + 0x160]
test al, al
je 0x140094467
cmp dword [r13 + 0x164], 0
jne 0x140094467
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14 + 0x58], 0x1d
movsd xmm1, qword [rsp + 0x50]
and dword [r14], 0
movups xmmword [r14 + 0x38], xmm0
xor r15d, r15d
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
and qword [rsp + 0x60], 0
and qword [rbp - 0x70], 0
test al, al
jne 0x14009447e
mov byte [r13 + 0x160], 1
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094538
cmp byte [rsp + 0x5c], 0
jne 0x140094538
mov ecx, dword [rsp + 0x58]
lea eax, [rcx - 6]
test eax, 0xffffffef
jne 0x140094538
mov dword [r14], 3
mov qword [r14 + 0x80], rbx
cmp ecx, 0x16
jne 0x14009455a
movups xmm1, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, 1
movsd xmm0, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x50], xmm1
movups xmmword [r14 + 0x68], xmm1
movsd qword [r14 + 0x60], xmm0
movsd qword [r14 + 0x78], xmm0
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094549
cmp byte [rsp + 0x5c], 0
jne 0x140094549
cmp dword [rsp + 0x58], 0x17
jne 0x140094549
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094538
cmp byte [rsp + 0x5c], 0
jne 0x140094538
cmp dword [rsp + 0x58], 6
je 0x14009455a
and dword [r14], 0
mov dword [r14 + 0x58], 4
jmp 0x140093ea1
and dword [r14], 0
mov dword [r14 + 0x58], 5
jmp 0x140093ea1
movups xmm0, xmmword [rsp + 0x40]
mov rdi, rbx
and dword [r14 + 0x88], 0
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
test r15d, r15d
js 0x1400945ae
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x1400945ae
mov rbx, qword [r13 + 0x158]
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140092b88
mov r15d, eax
mov ecx, dword [rsp + 0x58]
lea eax, [rcx - 0x1a]
cmp eax, 1
jbe 0x140094cbd
cmp ecx, 4
je 0x140094cbd
cmp byte [rsp + 0x5c], 0
jne 0x140095001
test r15d, r15d
js 0x140095001
sub ecx, 7
je 0x140094a1c
sub ecx, 1
je 0x140094901
sub ecx, 7
je 0x140094800
sub ecx, 9
je 0x1400946f4
cmp ecx, 4
jne 0x14009457b
xor esi, esi
lea r12, [rbp - 0x34]
and qword [rsp + 0x78], rsi
lea rdx, [r12 - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094663
cmp byte [r12], 0
jne 0x140094663
mov rcx, qword [rsp + 0x78]
lea rdx, [0x140000000]
mov eax, dword [rcx + rdx + 0xb1250]
cmp dword [r12 - 4], eax
jne 0x140094674
add rcx, 0xc
inc rsi
add r12, 0x20
mov qword [rsp + 0x78], rcx
cmp rcx, 0x30
jne 0x140094613
jmp 0x140094674
xor esi, esi
test eax, eax
js 0x140094b8e
lea rdx, [0x140000000]
cmp rsi, 4
jne 0x140094b59
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x1400947ef
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.140095558
mov r15d, eax
test eax, eax
js 0x140095035
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x70]
call sub.msvcrt.dll_memset
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rsi + 0x10], xmm1
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x30], xmm0
movsd xmm1, qword [rbp]
movsd qword [rsi + 0x40], xmm1
mov qword [rsi + 0x60], rbx
mov rsi, qword [rsp + 0x68]
jmp 0x1400947ef
xor esi, esi
lea r12, [rbp - 0x34]
and qword [rsp + 0x78], rsi
lea rdx, [r12 - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x14009474f
cmp byte [r12], 0
jne 0x14009474f
mov rcx, qword [rsp + 0x78]
lea rdx, [0x140000000]
mov eax, dword [rcx + rdx + 0xb11f0]
cmp dword [r12 - 4], eax
jne 0x140094760
add rcx, 0xc
inc rsi
add r12, 0x20
mov qword [rsp + 0x78], rcx
cmp rcx, 0x48
jne 0x1400946ff
jmp 0x140094760
xor esi, esi
test eax, eax
js 0x140094b8e
lea rdx, [0x140000000]
cmp rsi, 6
jne 0x140094bb2
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x1400947ef
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.140095558
mov r15d, eax
test eax, eax
js 0x140095035
movaps xmm0, xmmword [rbp - 0x30]
mov rax, qword [rsp + 0x60]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [rax + 0x10], xmm1
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x18], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rax + 0x28], xmm1
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x48], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rax + 0x58], xmm1
movaps xmm0, xmmword [rbp + 0x30]
movups xmmword [rax + 0x30], xmm0
movsd xmm1, qword [rbp + 0x40]
movsd qword [rax + 0x40], xmm1
and word [rax + 0x68], 0
mov qword [rax + 0x60], rbx
inc dword [r14 + 0x88]
mov r12, qword [rsp + 0x70]
jmp 0x14009457b
xor esi, esi
lea r12, [rbp - 0x34]
and qword [rsp + 0x78], rsi
lea rdx, [r12 - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x14009485b
cmp byte [r12], 0
jne 0x14009485b
mov rcx, qword [rsp + 0x78]
lea rdx, [0x140000000]
mov eax, dword [rcx + rdx + 0xb1190]
cmp dword [r12 - 4], eax
jne 0x14009486c
add rcx, 0xc
inc rsi
add r12, 0x20
mov qword [rsp + 0x78], rcx
cmp rcx, 0x48
jne 0x14009480b
jmp 0x14009486c
xor esi, esi
test eax, eax
js 0x140094b8e
lea rdx, [0x140000000]
cmp rsi, 6
jne 0x140094be4
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x1400947ef
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.140095558
mov r15d, eax
test eax, eax
js 0x140095035
movaps xmm0, xmmword [rbp - 0x30]
mov rax, qword [rsp + 0x60]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [rax + 0x10], xmm1
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x18], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rax + 0x28], xmm1
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x48], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rax + 0x58], xmm1
movaps xmm0, xmmword [rbp + 0x30]
movups xmmword [rax + 0x30], xmm0
movsd xmm1, qword [rbp + 0x40]
movsd qword [rax + 0x40], xmm1
mov word [rax + 0x68], 0x100
jmp 0x1400947eb
xor esi, esi
lea r12, [rbp - 0x34]
and qword [rsp + 0x78], rsi
lea rdx, [r12 - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x14009495c
cmp byte [r12], 0
jne 0x14009495c
mov rcx, qword [rsp + 0x78]
lea rdx, [0x140000000]
mov eax, dword [rcx + rdx + 0xb1148]
cmp dword [r12 - 4], eax
jne 0x14009496d
add rcx, 0xc
inc rsi
add r12, 0x20
mov qword [rsp + 0x78], rcx
cmp rcx, 0x30
jne 0x14009490c
jmp 0x14009496d
xor esi, esi
test eax, eax
js 0x140094b8e
lea rdx, [0x140000000]
cmp rsi, 4
jne 0x140094c2c
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x1400949a9
mov edx, dword [r14 + 4]
lea r8, [rbp - 0x10]
inc edx
mov rcx, r12
call fcn.1400958c4
mov r15d, eax
cmp eax, 0xc00000bd
je 0x140094c16
test eax, eax
js 0x140095035
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x140094b4d
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.140095558
mov r15d, eax
test eax, eax
js 0x140095035
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x70]
call sub.msvcrt.dll_memset
mov word [rsi + 0x68], 1
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rsi + 0x10], xmm1
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x30], xmm0
movsd xmm1, qword [rbp]
movsd qword [rsi + 0x40], xmm1
jmp 0x140094b44
movups xmm6, xmmword [rsp + 0x40]
lea r12, [rbp - 0x34]
xor esi, esi
movsd xmm7, qword [rsp + 0x50]
and qword [rsp + 0x78], rsi
lea rdx, [r12 - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094a82
cmp byte [r12], 0
jne 0x140094a82
mov rdx, qword [rsp + 0x78]
lea rcx, [0x140000000]
mov eax, dword [rdx + rcx + 0xb12d0]
cmp dword [r12 - 4], eax
jne 0x140094a93
add rdx, 0xc
inc rsi
add r12, 0x20
mov qword [rsp + 0x78], rdx
cmp rdx, 0x48
jne 0x140094a32
jmp 0x140094a93
xor esi, esi
test eax, eax
js 0x140094cad
lea rcx, [0x140000000]
cmp rsi, 6
jne 0x140094c7b
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x140094ad3
mov edx, dword [r14 + 4]
lea r9, [rbp - 0x30]
inc edx
lea r8, [rbp + 0x30]
mov rcx, r12
call fcn.1400956d0
mov r15d, eax
cmp eax, 0xc00000bd
je 0x140094c65
test eax, eax
js 0x140095035
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x140094b4d
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.140095558
mov r15d, eax
test eax, eax
js 0x140095035
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x70]
call sub.msvcrt.dll_memset
movaps xmm0, xmmword [rbp - 0x30]
movups xmmword [rsi], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x48], xmm6
movsd qword [rsi + 0x58], xmm7
movaps xmm1, xmmword [rbp + 0x30]
movups xmmword [rsi + 0x30], xmm1
movsd xmm0, qword [rbp + 0x40]
movsd qword [rsi + 0x40], xmm0
mov word [rsi + 0x68], 1
mov qword [rsi + 0x60], rbx
mov rsi, qword [rsp + 0x68]
inc dword [r14 + 0x88]
jmp 0x14009457b
and dword [r14], 0
mov rax, rsi
shl rax, 5
mov qword [r14 + 0x50], rbx
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rsi + rsi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rdx + rax*4 + 0xb1254]
jmp 0x140094c5c
movaps xmm0, xmmword [rbp - 0x50]
movsd xmm1, qword [rbp - 0x40]
and dword [r14], esi
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 0xb
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
and dword [r14], 0
mov rax, rsi
shl rax, 5
mov qword [r14 + 0x50], rbx
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rsi + rsi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rdx + rax*4 + 0xb11f4]
jmp 0x140094c5c
and dword [r14], 0
mov rax, rsi
shl rax, 5
mov qword [r14 + 0x50], rbx
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rsi + rsi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rdx + rax*4 + 0xb1194]
jmp 0x140094c5c
movaps xmm0, xmmword [rbp - 0x10]
movsd xmm1, qword [rbp]
mov dword [r14 + 0x58], 0x1f
jmp 0x140094450
and dword [r14], 0
mov rax, rsi
shl rax, 5
mov qword [r14 + 0x50], rbx
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rsi + rsi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rdx + rax*4 + 0xb114c]
mov dword [r14 + 0x58], eax
jmp 0x140095001
movaps xmm0, xmmword [rbp - 0x30]
movsd xmm1, qword [rbp - 0x20]
mov dword [r14 + 0x58], 0x1e
jmp 0x140094450
and dword [r14], 0
mov rax, rsi
shl rax, 5
mov qword [r14 + 0x50], rbx
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rsi + rsi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rcx + rax*4 + 0xb12d4]
jmp 0x140094c5c
and dword [r14], esi
mov dword [r14 + 0x58], 0xb
jmp 0x140095001
cmp byte [rsp + 0x5c], 0
jne 0x140095001
test r15d, r15d
js 0x140095001
and dword [rsp + 0x60], 0
xor eax, eax
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
test r12, r12
je 0x140094d54
mov eax, dword [r14 + 4]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x30], rcx
inc eax
lea rcx, [rsp + 0x60]
mov r9, r14
mov qword [rsp + 0x28], rcx
mov r8, rsi
mov rdx, r12
mov dword [rsp + 0x20], eax
call fcn.140093290
mov r15d, eax
cmp eax, 0xc000a083
jne 0x140094d4c
movups xmm0, xmmword [rsp + 0x78]
mov qword [r14 + 0x50], rdi
movsd xmm1, qword [rbp - 0x78]
mov eax, dword [rsp + 0x60]
mov dword [r14 + 0x58], eax
and dword [r14], 0
movups xmmword [r14 + 0x38], xmm0
xor r15d, r15d
movsd qword [r14 + 0x48], xmm1
jmp 0x140095001
test eax, eax
js 0x140095035
cmp dword [rsp + 0x58], 0x1b
jne 0x140094d8a
mov byte [r14 + 0x8c], 1
test r12, r12
je 0x140095001
mov edx, dword [r14 + 4]
mov rcx, r12
inc edx
call fcn.140095a44
mov r15d, eax
test eax, eax
jns 0x140095001
jmp 0x140095035
mov edx, dword [r14 + 4]
lea rcx, [r13 + 0x168]
mov r9b, 1
lea r8, [rbp - 0x70]
call fcn.140095558
mov r15d, eax
test eax, eax
js 0x140095035
inc dword [r13 + 0x164]
mov edx, 0x80
movups xmm0, xmmword [r14]
mov rcx, qword [rbp - 0x70]
lea rax, [rdx + r14]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, rdx
movups xmm0, xmmword [r14 + 0x70]
movups xmmword [rcx - 0x10], xmm0
movups xmm1, xmmword [rax]
movups xmmword [rcx], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm1
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm0
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm1
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm0
jmp 0x140095001
cmp dword [r13 + 0x164], 0
jne 0x140094e52
mov dword [r14], 1
jmp 0x140095001
movups xmm0, xmmword [rsp + 0x40]
and dword [r14], 0
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 9
movsd qword [r14 + 0x48], xmm1
jmp 0x140094ffd
cmp byte [r13 + 0x160], 0
je 0x140094efc
cmp dword [r13 + 0x164], 0
jne 0x140094efc
mov rdi, qword [rsp + 0x48]
add rdi, rdx
jmp 0x140094ef4
movabs r10, 0xa0e9a6f0365e2170
mov rax, qword [r13 + 0x28]
lea rcx, [rsp + 0x78]
mov r8, rdi
call qword [vtable._SH_n.0]
movups xmm0, xmmword [rax]
movd eax, xmm0
movups xmmword [rbp - 0x70], xmm0
cmp eax, 0xffffffff
je 0x140094f39
cmp eax, 0x2e
ja 0x140094f0d
je 0x14009443d
cmp eax, 0x25
ja 0x140094f08
cmp eax, 0x20
ja 0x14009443d
movabs rcx, 0x100002600
bt rcx, rax
jae 0x14009443d
mov rdx, qword [rbp - 0x68]
cmp rdx, rdi
jb 0x140094e97
xor r15d, r15d
mov dword [r14], 7
jmp 0x140093ea1
sub eax, 0x26
jmp 0x140094f22
cmp eax, 0x3e
ja 0x14009443d
sub eax, 0x2f
je 0x14009443d
sub eax, 0xb
je 0x14009443d
sub eax, 1
je 0x14009443d
sub eax, 1
jmp 0x14009443d
mov r15d, dword [rbp - 0x68]
test r15d, r15d
js 0x140095001
jmp 0x14009443d
cmp byte [r13 + 0x160], 0
je 0x140094f63
cmp dword [r13 + 0x164], 0
je 0x14009443d
xor edi, edi
lea rsi, [rbp - 0x34]
xor r12d, r12d
lea rdx, [rsi - 0x1c]
mov r8b, 1
mov rcx, r13
call fcn.140091718
mov r15d, eax
test eax, eax
js 0x140094fae
cmp byte [rsi], 0
jne 0x140094fae
lea rax, [0x140000000]
mov eax, dword [r12 + rax + 0xb11d8]
cmp dword [rsi - 4], eax
jne 0x140094fb4
inc rdi
add r12, 0xc
add rsi, 0x20
cmp r12, 0x18
jne 0x140094f6c
jmp 0x140094fb4
xor edi, edi
test eax, eax
js 0x140094fc6
cmp rdi, 2
jne 0x140094fc6
mov dword [r14], 8
jmp 0x140094010
and dword [r14], 0
lea rcx, [0x140000000]
mov rax, rdi
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x50]
movsd xmm1, qword [rbp + rax - 0x40]
lea rax, [rdi + rdi*2]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rcx + rax*4 + 0xb11dc]
mov dword [r14 + 0x58], eax
mov qword [r14 + 0x50], rbx
mov rax, qword [r13 + 0x20]
sub rax, qword [r14 + 0x18]
cmp byte [rsp + 0x5c], 0
mov qword [r14 + 0x20], rax
je 0x140095026
test r15d, r15d
js 0x140095026
mov ecx, 0xc000a083
call fcn.1400962a0
mov r15d, eax
mov eax, r15d
jmp 0x140095035
mov ecx, 0xc000000d
call fcn.1400962a0
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140096bd0
lea r11, [rsp + 0x1a8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret