Function at 0x14004d7a8
Capabilities:
Parse credit card information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x1400c5a08]
xor rax, rsp
mov qword [rbp + 0xa0], rax
xor r12d, r12d
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x70], rdx
mov rsi, r9
mov r14, r8
mov r13, rcx
test rcx, rcx
je 0x14004ecf8
test r8, r8
je 0x14004ecf8
test r9, r9
je 0x14004d80d
cmp qword [r9 + 8], 0x70
jb 0x14004ecf8
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 qword [rbp - 0x58], rbx
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ece6
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecf3
mov rcx, qword [rsp + 0x40]
mov edi, 0xc000a083
mov qword [r14 + 0x18], rcx
mov qword [r14 + 0x30], rbx
mov ecx, dword [r13 + 0x164]
mov dword [r14 + 4], ecx
mov ecx, dword [rsp + 0x58]
cmp ecx, 0x30
jle 0x14004de62
cmp ecx, 0x33
je 0x14004dd77
cmp ecx, 0x3f
jle 0x14004ecce
cmp ecx, 0x41
jle 0x14004d8a1
cmp ecx, 0x44
jle 0x14004ecce
cmp ecx, 0x46
jg 0x14004da0b
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov eax, dword [rsp + 0x58]
cmp eax, 0x66
je 0x14004d9ca
cmp eax, 0x4b
je 0x14004d8e4
cmp eax, 0x47
je 0x14004d9f7
jmp 0x14004d8a1
mov dword [r14], 0xa
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov eax, dword [rsp + 0x58]
cmp eax, 0x4b
je 0x14004d8eb
cmp eax, 0x4c
jne 0x14004d942
mov qword [r14 + 0x40], r12
mov dword [r14 + 0x4c], r12d
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x50], xmm0
movsd qword [r14 + 0x60], xmm1
jmp 0x14004d9f7
cmp eax, 0x4d
jne 0x14004d9bb
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.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
cmp dword [rsp + 0x58], 0x4e
jne 0x14004d9bb
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
cmp dword [rsp + 0x58], 0x4c
je 0x14004d927
mov ecx, edi
call fcn.14004c898
mov r15d, eax
jmp 0x14004ecce
mov r8, r14
mov dword [r14], 9
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14004d23c
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov eax, dword [r14]
sub eax, 9
cmp eax, 1
jbe 0x14004ecce
jmp 0x14004d80d
cmp ecx, 0x4c
je 0x14004da20
cmp ecx, 0x4f
je 0x14004da20
cmp ecx, 0x65
jne 0x14004ecce
jmp 0x14004da59
mov ebx, 1
mov r8b, bl
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov eax, dword [rsp + 0x58]
cmp eax, 0x4f
je 0x14004da25
cmp eax, 0x65
jne 0x14004da65
mov dword [r14], 0xc
jmp 0x14004ecce
mov dword [r14 + 0x4c], r12d
mov qword [r14 + 0x40], r12
cmp eax, 0x51
jne 0x14004dae3
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, bl
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
cmp dword [rsp + 0x58], 0x52
jne 0x14004d9bb
mov r8b, bl
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov eax, dword [rsp + 0x58]
cmp eax, 0x50
jne 0x14004d9bb
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, bl
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x50], xmm0
mov dword [r14], 0xb
movsd qword [r14 + 0x60], xmm1
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov ecx, dword [rsp + 0x58]
cmp ecx, 0x58
jg 0x14004db99
je 0x14004db8c
sub ecx, 0x53
je 0x14004db83
sub ecx, ebx
je 0x14004db7a
sub ecx, ebx
je 0x14004db6d
sub ecx, ebx
je 0x14004db60
cmp ecx, ebx
jne 0x14004d9bb
mov dword [r14 + 0x68], 4
jmp 0x14004dc79
mov dword [r14 + 0x68], 3
jmp 0x14004dc79
mov dword [r14 + 0x68], 2
jmp 0x14004dc79
mov dword [r14 + 0x68], ebx
jmp 0x14004dc79
mov dword [r14 + 0x68], r12d
jmp 0x14004dc79
mov dword [r14 + 0x68], 5
jmp 0x14004dc79
sub ecx, 0x59
je 0x14004dc71
sub ecx, ebx
je 0x14004dc67
sub ecx, ebx
je 0x14004dc2c
cmp ecx, 3
jne 0x14004d9bb
mov r8b, bl
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
cmp dword [rsp + 0x58], 0x5c
jne 0x14004dbb7
mov dword [r14 + 0x68], 9
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, bl
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x70], xmm0
movsd qword [r14 + 0x80], xmm1
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
je 0x14004dc79
jmp 0x14004ecce
mov r8b, bl
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
cmp dword [rsp + 0x58], 0x5c
jne 0x14004d9bb
mov dword [r14 + 0x68], 8
jmp 0x14004dbec
mov dword [r14 + 0x68], 7
jmp 0x14004dc79
mov dword [r14 + 0x68], 6
mov r8b, bl
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov ecx, dword [rsp + 0x58]
mov dword [r14 + 0x88], 3
sub ecx, 0x5f
je 0x14004dd6b
sub ecx, ebx
je 0x14004dd5f
sub ecx, ebx
je 0x14004dccc
cmp ecx, ebx
je 0x14004dcfd
jmp 0x14004d9bb
mov r8b, bl
mov dword [r14 + 0x88], 2
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
mov r8b, bl
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
cmp dword [rsp + 0x58], 0x63
jne 0x14004d9bb
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov r8b, bl
movsd xmm1, qword [rsp + 0x50]
mov rcx, r13
movups xmmword [r14 + 0x90], xmm0
movsd qword [r14 + 0xa0], xmm1
call fcn.140045828
jmp 0x14004d9c2
mov dword [r14 + 0x88], ebx
jmp 0x14004ecce
mov dword [r14 + 0x88], r12d
jmp 0x14004ecce
mov rdi, r12
cmp byte [r13 + 0x160], r12b
je 0x14004dda9
mov dword [r14 + 0x58], reloc.Cabinet.dll_FDICreate
mov dword [r14], r12d
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
jmp 0x14004ecca
mov dword [r14], 2
mov qword [r14 + 0x80], rbx
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004ed02
mov ecx, dword [rsp + 0x58]
cmp byte [rsp + 0x5c], r12b
jne 0x14004de33
cmp ecx, 4
je 0x14004de33
cmp ecx, 0x34
je 0x14004ecce
cmp ecx, 1
je 0x14004de33
sub ecx, 0x37
je 0x14004de2d
sub ecx, 1
je 0x14004de27
sub ecx, 1
je 0x14004de21
cmp ecx, 2
jne 0x14004ddb7
test rdi, rdi
je 0x14004ddb7
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [rdi], xmm0
movsd qword [rdi + 0x10], xmm1
mov rdi, r12
jmp 0x14004ddb7
lea rdi, [r14 + 0x50]
jmp 0x14004ddb7
lea rdi, [r14 + 0x68]
jmp 0x14004ddb7
lea rdi, [r14 + 0x38]
jmp 0x14004ddb7
cmp ecx, 0x34
je 0x14004ecce
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14], r12d
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], FDICopy
movsd qword [r14 + 0x48], xmm1
jmp 0x14004ecca
je 0x14004ec42
sub ecx, 2
je 0x14004ebd3
sub ecx, 2
je 0x14004eb98
sub ecx, 1
je 0x14004e2ca
sub ecx, 0x1d
je 0x14004dfb6
sub ecx, 6
je 0x14004def0
cmp ecx, 5
jne 0x14004ecce
lea rax, [rbp - 0x80]
lea edx, [rcx - 3]
mov qword [rsp + 0x20], rax
lea rdi, [0x1400aeb48]
mov rcx, r13
mov r8, rdi
lea r9, [rbp - 0x20]
call fcn.14004cf90
mov rcx, qword [rbp - 0x80]
mov r15d, eax
test eax, eax
js 0x14004ded9
cmp rcx, 2
jne 0x14004ded9
mov dword [r14], 0xd
jmp 0x14004ec90
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
jmp 0x14004ecb0
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004dfa9
cmp byte [rsp + 0x5c], r12b
jne 0x14004dfa9
cmp dword [rsp + 0x58], 0x2a
jne 0x14004dfa9
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
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004df9c
cmp byte [rsp + 0x5c], r12b
jne 0x14004df9c
mov eax, dword [rsp + 0x58]
cmp eax, 0x2b
jne 0x14004df81
movups xmm0, xmmword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x50], xmm0
movsd qword [r14 + 0x60], xmm1
jmp 0x14004df42
cmp eax, 0x29
je 0x14004ecce
cmp eax, 4
jne 0x14004df42
mov dword [r14 + 0x58], FDICopy
jmp 0x14004dd8b
mov dword [r14 + 0x58], FDICopy
jmp 0x14004dd8b
mov dword [r14 + 0x58], FDICopy
jmp 0x14004dd8b
mov edx, dword [r13 + 0x164]
lea rcx, [r13 + 0x168]
dec edx
mov qword [rsp + 0x78], r12
mov dword [r13 + 0x164], edx
mov rdi, r12
test rcx, rcx
je 0x14004dfee
xor r9d, r9d
lea r8, [rsp + 0x78]
call fcn.14004f834
mov rdi, qword [rsp + 0x78]
jmp 0x14004dff8
mov ecx, 0xc000000d
call fcn.14004c898
test eax, eax
js 0x14004ed02
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004e2a4
cmp byte [rsp + 0x5c], r12b
jne 0x14004e2a4
mov eax, dword [rsp + 0x58]
cmp eax, 0x23
je 0x14004e038
cmp eax, 0x26
jne 0x14004e2a4
cmp eax, 0x26
jne 0x14004e0d2
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.140045828
mov r15d, eax
test eax, eax
js 0x14004e0ac
cmp byte [rsp + 0x5c], r12b
jne 0x14004e0ac
cmp dword [rsp + 0x58], 0x27
jne 0x14004e0ac
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004e0ac
cmp byte [rsp + 0x5c], r12b
jne 0x14004e0ac
cmp dword [rsp + 0x58], 0x23
je 0x14004e0d2
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14], r12d
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 7
movsd qword [r14 + 0x48], xmm1
jmp 0x14004ecca
movups xmm0, xmmword [rsp + 0x40]
lea r12, [r14 + 0x88]
movsd xmm1, qword [rsp + 0x50]
lea rsi, [r14 + 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
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004e278
cmp byte [rsp + 0x5c], 0
jne 0x14004e278
cmp dword [rsp + 0x58], 4
je 0x14004e278
cmp dword [rsp + 0x58], 0x25
jne 0x14004e142
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14004e1f6
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.14004d09c
mov r15d, eax
cmp eax, 0xc000a083
jne 0x14004e1d4
mov eax, dword [rsp + 0x60]
xor r12d, r12d
movups xmm0, xmmword [rbp - 0x70]
mov dword [r14 + 0x58], eax
movsd xmm1, qword [rbp - 0x60]
mov qword [rsi], rbx
jmp 0x14004ec20
test eax, eax
js 0x14004eb90
mov edx, dword [rdi + 4]
mov rcx, qword [rsp + 0x70]
inc edx
call fcn.14004ccd0
mov r15d, eax
test eax, eax
js 0x14004eb90
mov rax, qword [r13 + 0x130]
lea r9, [rsp + 0x60]
mov r8, rsi
mov rdx, r12
mov rcx, r13
call qword [str.PN_t_]
mov r15d, eax
xor r12d, r12d
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x14004e24f
test r15d, r15d
js 0x14004ecce
mov rax, qword [r13 + 0x130]
lea r8, [r14 + 0x68]
lea rdx, [r14 + 0xb8]
mov rcx, r13
lea r9, [rsp + 0x60]
call qword [str.PN_t_]
mov r15d, eax
mov eax, dword [rsp + 0x60]
test r15d, r15d
js 0x14004ecce
test eax, eax
je 0x14004ecce
movups xmm0, xmmword [r14 + 0x18]
mov dword [r14 + 0x58], 0x1c
movsd xmm1, qword [r14 + 0x28]
jmp 0x14004e1cc
movups xmm0, xmmword [rsp + 0x40]
xor r12d, r12d
mov dword [r14 + 0x58], 6
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14], r12d
movsd qword [r14 + 0x48], xmm1
mov qword [rsi], rbx
jmp 0x14004ecce
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14], r12d
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 8
movsd qword [r14 + 0x48], xmm1
jmp 0x14004ecca
mov al, byte [r13 + 0x160]
test al, al
je 0x14004e2e2
cmp dword [r13 + 0x164], r12d
je 0x14004ec09
mov qword [rsp + 0x60], r12
mov qword [rbp - 0x80], r12
test al, al
jne 0x14004e2f7
mov byte [r13 + 0x160], 1
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004e3b1
cmp byte [rsp + 0x5c], r12b
jne 0x14004e3b1
mov ecx, dword [rsp + 0x58]
lea eax, [rcx - 6]
test eax, 0xffffffef
jne 0x14004e3b1
mov dword [r14], 3
mov qword [r14 + 0x80], rbx
cmp ecx, 0x16
jne 0x14004e3cb
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.140045828
mov r15d, eax
test eax, eax
js 0x14004e3be
cmp byte [rsp + 0x5c], r12b
jne 0x14004e3be
cmp dword [rsp + 0x58], 0x17
jne 0x14004e3be
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004e3b1
cmp byte [rsp + 0x5c], r12b
jne 0x14004e3b1
cmp dword [rsp + 0x58], 6
je 0x14004e3cb
mov dword [r14 + 0x58], 4
jmp 0x14004dd8b
mov dword [r14 + 0x58], 5
jmp 0x14004dd8b
movups xmm0, xmmword [rsp + 0x40]
mov rdi, rbx
and dword [r14 + 0x88], r12d
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
lea r11, [0x1400aea50]
lea r10, [0x1400aeaa0]
lea r8, [0x1400aeb00]
lea rdx, [0x1400aeb60]
test r15d, r15d
js 0x14004e45f
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045828
mov r15d, eax
test eax, eax
js 0x14004e443
lea rdx, [rbp - 0x58]
mov rcx, r13
call fcn.140046c44
mov rcx, r13
lea rdx, [rsp + 0x40]
call fcn.140046c80
mov rbx, qword [rbp - 0x58]
mov r15d, eax
lea r11, [0x1400aea50]
lea r10, [0x1400aeaa0]
lea r8, [0x1400aeb00]
lea rdx, [0x1400aeb60]
mov ecx, dword [rsp + 0x58]
lea eax, [rcx - 0x1a]
cmp eax, 1
jbe 0x14004e9e8
cmp ecx, 4
je 0x14004e9e8
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
test r15d, r15d
js 0x14004ecce
sub ecx, 7
je 0x14004e779
sub ecx, 1
je 0x14004e6a3
sub ecx, 7
je 0x14004e5e7
sub ecx, 9
je 0x14004e52b
cmp ecx, 4
jne 0x14004e407
mov r8, rdx
lea rax, [rbp - 0x50]
mov edx, ecx
mov qword [rsp + 0x20], rax
mov rcx, r13
lea r9, [rbp - 0x20]
call fcn.14004cf90
mov r15d, eax
test eax, eax
js 0x14004e8a9
mov rcx, qword [rbp - 0x50]
cmp rcx, 4
jne 0x14004e887
test rsi, rsi
je 0x14004e87b
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.14004f834
mov r15d, eax
test eax, eax
js 0x14004ed02
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x70]
call sub.msvcrt.dll_memset
jmp 0x14004e74f
lea rax, [rbp - 0x48]
mov edx, 6
lea r9, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov rcx, r13
call fcn.14004cf90
mov r15d, eax
test eax, eax
js 0x14004e8e0
mov rcx, qword [rbp - 0x48]
cmp rcx, 6
jne 0x14004e8c1
test rsi, rsi
je 0x14004e87b
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.14004f834
mov r15d, eax
test eax, eax
js 0x14004ed02
movaps xmm0, xmmword [rbp]
mov rax, qword [rsp + 0x60]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp + 0x10]
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 + 0x60]
movups xmmword [rax + 0x30], xmm0
movsd xmm1, qword [rbp + 0x70]
movsd qword [rax + 0x40], xmm1
mov word [rax + 0x68], r12w
mov qword [rax + 0x60], rbx
jmp 0x14004e87b
lea rax, [rbp - 0x40]
mov r8, r10
lea r9, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov edx, 6
mov rcx, r13
call fcn.14004cf90
mov r15d, eax
test eax, eax
js 0x14004e917
mov rcx, qword [rbp - 0x40]
cmp rcx, 6
jne 0x14004e8f8
test rsi, rsi
je 0x14004e87b
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.14004f834
mov r15d, eax
test eax, eax
js 0x14004ed02
movaps xmm0, xmmword [rbp]
mov rax, qword [rsp + 0x60]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp + 0x10]
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 + 0x60]
movups xmmword [rax + 0x30], xmm0
movsd xmm1, qword [rbp + 0x70]
movsd qword [rax + 0x40], xmm1
mov word [rax + 0x68], 0x100
jmp 0x14004e5de
lea rax, [rbp - 0x38]
mov r8, r11
lea r9, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov edx, 4
mov rcx, r13
call fcn.14004cf90
mov r15d, eax
test eax, eax
js 0x14004e97e
mov rcx, qword [rbp - 0x38]
cmp rcx, 4
jne 0x14004e942
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14004e70b
mov edx, dword [r14 + 4]
lea r8, [rbp + 0x20]
inc edx
mov rcx, rax
call fcn.14004cad0
mov r15d, eax
cmp eax, 0xc00000bd
je 0x14004e92c
test eax, eax
js 0x14004ed02
test rsi, rsi
je 0x14004e87b
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.14004f834
mov r15d, eax
test eax, eax
js 0x14004ed02
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 + 0x20]
movups xmmword [rsi + 0x30], xmm0
movsd xmm1, qword [rbp + 0x30]
movsd qword [rsi + 0x40], xmm1
jmp 0x14004e872
movups xmm0, xmmword [rsp + 0x40]
lea rax, [rbp - 0x30]
mov edx, 6
lea r9, [rbp - 0x20]
mov qword [rsp + 0x20], rax
movups xmmword [rbp - 0x70], xmm0
lea r8, [0x1400aebe0]
mov rcx, r13
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp - 0x78], xmm0
call fcn.14004cf90
mov r15d, eax
test eax, eax
js 0x14004e9a0
mov rcx, qword [rbp - 0x30]
cmp rcx, 6
jne 0x14004e9c6
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14004e7fd
mov edx, dword [r14 + 4]
lea r9, [rbp]
inc edx
lea r8, [rbp + 0x60]
mov rcx, rax
call fcn.14004c8a4
mov r15d, eax
cmp eax, 0xc00000bd
je 0x14004e9b0
test eax, eax
js 0x14004ed02
test rsi, rsi
je 0x14004e87b
mov edx, dword [r14 + 0x88]
lea r8, [rsp + 0x60]
mov r9b, 1
mov rcx, rsi
call fcn.14004f834
mov r15d, eax
test eax, eax
js 0x14004ed02
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x70]
call sub.msvcrt.dll_memset
movaps xmm0, xmmword [rbp]
movups xmmword [rsi], xmm0
movsd xmm1, qword [rbp + 0x10]
movups xmm0, xmmword [rbp - 0x70]
movsd qword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x48], xmm0
movsd xmm0, qword [rbp - 0x78]
movsd qword [rsi + 0x58], xmm0
movaps xmm1, xmmword [rbp + 0x60]
movups xmmword [rsi + 0x30], xmm1
movsd xmm0, qword [rbp + 0x70]
movsd qword [rsi + 0x40], xmm0
mov word [rsi + 0x68], 1
mov qword [rsi + 0x60], rbx
mov rsi, qword [rsp + 0x78]
inc dword [r14 + 0x88]
jmp 0x14004e3eb
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
lea rax, [rcx + rcx*2]
lea rcx, [0x1400aeb60]
jmp 0x14004e95f
mov rax, qword [rbp - 0x50]
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
jmp 0x14004e991
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
lea rax, [rcx + rcx*2]
lea rcx, [0x1400aeb00]
jmp 0x14004e95f
mov rax, qword [rbp - 0x48]
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
jmp 0x14004e991
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
lea rax, [rcx + rcx*2]
lea rcx, [0x1400aeaa0]
jmp 0x14004e95f
mov rax, qword [rbp - 0x40]
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
jmp 0x14004e991
movaps xmm0, xmmword [rbp + 0x20]
movsd xmm1, qword [rbp + 0x30]
mov dword [r14 + 0x58], 0x1f
jmp 0x14004ec1c
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
lea rax, [rcx + rcx*2]
lea rcx, [0x1400aea50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14], r12d
movsd qword [r14 + 0x48], xmm1
mov qword [r14 + 0x50], rbx
mov eax, dword [rcx + rax*4 + 4]
mov dword [r14 + 0x58], eax
jmp 0x14004ecce
mov rax, qword [rbp - 0x38]
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
movups xmmword [r14 + 0x38], xmm0
mov qword [r14 + 0x50], rbx
movsd qword [r14 + 0x48], xmm1
mov dword [r14], r12d
mov dword [r14 + 0x58], 0xb
jmp 0x14004ecce
movaps xmm0, xmmword [rbp]
movsd xmm1, qword [rbp + 0x10]
mov dword [r14 + 0x58], 0x1e
jmp 0x14004ec1c
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
lea rax, [rcx + rcx*2]
lea rcx, [0x1400aebe0]
jmp 0x14004e95f
cmp byte [rsp + 0x5c], r12b
jne 0x14004ecce
test r15d, r15d
js 0x14004ecce
xor ecx, ecx
xor eax, eax
mov qword [rbp - 0x60], rcx
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x60], eax
movups xmmword [rbp - 0x70], xmm0
test rcx, rcx
je 0x14004ea54
mov eax, dword [r14 + 4]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x30], rdx
inc eax
lea rdx, [rsp + 0x60]
mov r9, r14
mov qword [rsp + 0x28], rdx
mov r8, rsi
mov rdx, rcx
mov dword [rsp + 0x20], eax
call fcn.14004d09c
movups xmm0, xmmword [rbp - 0x70]
mov rcx, qword [rsp + 0x70]
mov r15d, eax
mov eax, dword [rsp + 0x60]
cmp r15d, 0xc000a083
jne 0x14004ea7a
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], eax
movsd xmm0, qword [rbp - 0x60]
movsd qword [r14 + 0x48], xmm0
mov qword [r14 + 0x50], rdi
jmp 0x14004ec2b
test r15d, r15d
js 0x14004ecf3
cmp dword [rsp + 0x58], 0x1b
jne 0x14004eab6
mov byte [r14 + 0x8c], 1
test rcx, rcx
je 0x14004ecce
mov edx, dword [r14 + 4]
inc edx
call fcn.14004ccd0
mov r15d, eax
test eax, eax
jns 0x14004ecce
jmp 0x14004ed02
lea rcx, [r13 + 0x168]
test rcx, rcx
je 0x14004ead8
mov edx, dword [r14 + 4]
lea r8, [rbp - 0x80]
mov r9b, 1
call fcn.14004f834
mov r12, qword [rbp - 0x80]
jmp 0x14004eae2
mov ecx, 0xc000000d
call fcn.14004c898
mov r15d, eax
test eax, eax
js 0x14004ecf3
inc dword [r13 + 0x164]
mov ecx, 0x80
movups xmm0, xmmword [r14]
movups xmmword [r12], xmm0
lea rax, [rcx + r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [r12 + 0x60], xmm0
add r12, rcx
movups xmm0, xmmword [r14 + 0x70]
movups xmmword [r12 - 0x10], xmm0
movups xmm1, xmmword [rax]
movups xmmword [r12], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [r12 + 0x20], xmm1
movups xmm0, xmmword [rax + 0x30]
movups xmmword [r12 + 0x30], xmm0
movups xmm1, xmmword [rax + 0x40]
movups xmmword [r12 + 0x40], xmm1
movups xmm0, xmmword [rax + 0x50]
movups xmmword [r12 + 0x50], xmm0
xor r12d, r12d
jmp 0x14004ecce
cmp dword [r13 + 0x164], r12d
jne 0x14004ebad
mov dword [r14], 1
jmp 0x14004ecce
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14], r12d
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x58], 9
movsd qword [r14 + 0x48], xmm1
jmp 0x14004ecca
cmp byte [r13 + 0x160], r12b
je 0x14004ec36
cmp dword [r13 + 0x164], r12d
jne 0x14004ec36
lea r8, [rsp + 0x68]
mov rcx, r13
lea rdx, [rsp + 0x40]
call fcn.14004710c
mov r15d, eax
test eax, eax
js 0x14004ecce
cmp byte [rsp + 0x68], r12b
jne 0x14004ec36
movsd xmm1, qword [rsp + 0x50]
movups xmm0, xmmword [rsp + 0x40]
mov dword [r14 + 0x58], 0x1d
mov qword [r14 + 0x50], rbx
movups xmmword [r14 + 0x38], xmm0
movsd qword [r14 + 0x48], xmm1
mov dword [r14], r12d
mov r15d, r12d
jmp 0x14004ecce
mov dword [r14], 7
jmp 0x14004dd8e
cmp byte [r13 + 0x160], r12b
je 0x14004ec54
cmp dword [r13 + 0x164], r12d
je 0x14004ec09
lea rax, [rbp - 0x78]
mov edx, 2
lea rdi, [0x1400aeae8]
mov qword [rsp + 0x20], rax
mov r8, rdi
lea r9, [rbp - 0x20]
mov rcx, r13
call fcn.14004cf90
mov rcx, qword [rbp - 0x78]
mov r15d, eax
test eax, eax
js 0x14004ec9e
cmp rcx, 2
jne 0x14004ec9e
mov dword [r14], 8
movaps xmm0, xmmword [rbp - 0x20]
movsd xmm1, qword [rbp - 0x10]
jmp 0x14004dd99
mov rax, rcx
shl rax, 5
movups xmm0, xmmword [rbp + rax - 0x20]
movsd xmm1, qword [rbp + rax - 0x10]
movups xmmword [r14 + 0x38], xmm0
lea rax, [rcx + rcx*2]
mov dword [r14], r12d
movsd qword [r14 + 0x48], xmm1
mov eax, dword [rdi + rax*4 + 4]
mov dword [r14 + 0x58], eax
mov qword [r14 + 0x50], rbx
mov rax, qword [r13 + 0x20]
sub rax, qword [r14 + 0x18]
mov qword [r14 + 0x20], rax
cmp byte [rsp + 0x5c], r12b
je 0x14004ecf3
test r15d, r15d
js 0x14004ecf3
mov ecx, 0xc000a083
call fcn.14004c898
mov r15d, eax
mov eax, r15d
jmp 0x14004ed02
mov ecx, 0xc000000d
call fcn.14004c898
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140094220
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret