Function at 0x18000b540
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 - 0x28]
sub rsp, 0x128
mov rax, qword [0x18009da48]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov r10, r9
mov rdi, r8
mov qword [rbp - 0x80], r8
mov r13, rdx
mov r12, rcx
mov qword [rsp + 0x30], r9
mov r14, qword [rbp + 0x90]
mov qword [rbp - 0x70], r14
mov r8, qword [rbp + 0x98]
mov qword [rsp + 0x70], r8
mov rdx, qword [rbp + 0xa0]
mov qword [rsp + 0x68], rdx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
xor r9d, r9d
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x18], ILClone
mov byte [rbp - 0x30], r9b
mov qword [rbp - 0x40], r9
mov qword [rbp - 0x38], ILClone
mov byte [rbp - 0x50], r9b
mov r15d, dword [rbp + 0xa8]
lea eax, [r15 + 0x13]
mov dword [rsp + 0x3c], eax
cmp r15d, eax
jae 0x18000c284
lea rcx, [0x180000000]
lea esi, [r9 + 1]
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x78], rax
mov ebx, dword [rsp + 0x3c]
mov r11d, 0xffffffff
lea eax, [r15 - 0xa5]
cmp eax, 0x2a
ja case.default.0x18000b631
movzx eax, byte [rcx + rax + 0xc710]
mov ecx, dword [rcx + rax*4 + 0xc6c0]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
lea rax, [rbp - 0x10]
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x18000b640
mov qword [rsp + 0x78], rcx
jmp case.0x18000b631.184
mov rcx, qword [rdx + 0x10]
cmp qword [r13 + 0x10], rcx
cmovae rcx, qword [r13 + 0x10]
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x20], 0x3c
lea r9, [rbp - 0x50]
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.180047120
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x68]
cmp rcx, r8
je 0x18000b6a7
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x18000b69e
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.180021a30
mov edx, dword [rsp + 0x78]
lea rcx, [rbp - 0x10]
call qword [sym.imp.SHELL32.dll_DoEnvironmentSubstA]
mov r10, qword [rsp + 0x30]
jmp case.0x18000b631.184
test byte [r8], 8
je 0x18000b80e
mov eax, 0x45
nop
cmp eax, 0x45
jne 0x18000b7f7
nop dword [rax]
mov rcx, qword [rdi + 0x18]
movzx eax, byte [r10]
test byte [rax + rcx], 1
je 0x18000b702
nop
inc r10
mov qword [rsp + 0x30], r10
movzx eax, byte [r10]
test byte [rax + rcx], 1
jne 0x18000b6f0
cmp byte [r10], 0x23
jne 0x18000b7ec
mov ecx, 0x5b
mov eax, ecx
sub eax, 0x5a
je 0x18000b797
cmp eax, 1
jne 0x18000b797
inc r10
mov qword [rsp + 0x30], r10
movzx r8d, byte [r10]
test r8b, r8b
je 0x18000b792
mov r11, r10
mov ecx, dword [rdi + 0x78]
test ecx, ecx
je 0x18000b7a8
mov rdx, qword [rdi + 0x38]
cmp r11, rdx
jae 0x18000b7d3
mov eax, dword [r12]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x48], ecx
lea rsi, [rdi + 0x7c]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x40]
mov edx, SHSetInstanceExplorer
mov rcx, r11
call fcn.18001fc60
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x18000b7d3
mov edx, dword [rsi]
movsxd rax, edx
add r10, rax
mov qword [rsp + 0x30], r10
mov r11d, 0xffffffff
mov ecx, 0x5b
add ecx, r11d
cmp ecx, 0x59
ja 0x18000b711
jmp 0x18000b6e0
movsxd rdx, dword [rdi + 0x7c]
mov rcx, qword [rdi + 0x38]
sub rcx, rdx
cmp r11, rcx
ja 0x18000b7d3
cmp r8b, byte [rdi + 0x80]
jne 0x18000b7d3
cmp edx, 1
je 0x18000b781
movzx eax, byte [rdi + 0x81]
cmp byte [r10 + 1], al
je 0x18000b781
inc r10
mov qword [rsp + 0x30], r10
mov r11, r10
movzx r8d, byte [r10]
test r8b, r8b
je 0x18000b78c
jmp 0x18000b731
mov eax, 0x45
mov r15d, 0xcd
add eax, 0x268b
cmp eax, 0x268b
jbe 0x18000b6d0
xor r9d, r9d
lea esi, [r9 + 1]
movzx eax, byte [r10]
cmp al, 0x2a
je 0x18000c2cc
cmp al, 0x3f
je 0x18000c2cc
mov r8d, 3
lea rdx, [0x180095a94]
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x18000bd0b
mov r10, qword [rsp + 0x30]
jmp case.0x18000b631.184
mov dword [rbp - 3], 0x6a626f
jmp case.0x18000b631.184
mov eax, dword [r12]
mov dword [rsp + 0x40], eax
lea r9, [rsp + 0x40]
mov r8d, 0x4d
lea rdx, [rbp - 0x30]
xor ecx, ecx
call fcn.1800042a0
mov r10, qword [rsp + 0x30]
jmp case.0x18000b631.184
test byte [r8], 8
je case.0x18000b631.184
mov ecx, 0x127
nop dword [rax]
mov eax, ecx
sub eax, 0x126
je 0x18000b9c7
cmp eax, 1
jne 0x18000b9cd
nop word [rax + rax]
mov rcx, qword [rdi + 0x18]
movzx eax, byte [r10]
test byte [rax + rcx], 1
je 0x18000b8d2
nop
inc r10
mov qword [rsp + 0x30], r10
movzx eax, byte [r10]
test byte [rax + rcx], 1
jne 0x18000b8c0
cmp byte [r10], 0x23
jne 0x18000b9ba
mov eax, SHTestTokenMembership
cmp eax, 0xf4
jne 0x18000b964
inc r10
mov qword [rsp + 0x30], r10
movzx r8d, byte [r10]
test r8b, r8b
je 0x18000b95b
mov r11, r10
nop dword [rax]
mov ecx, dword [rdi + 0x78]
test ecx, ecx
je 0x18000b976
mov rdx, qword [rdi + 0x38]
cmp r11, rdx
jae 0x18000b9a1
mov eax, dword [r12]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ecx
lea rsi, [rdi + 0x7c]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
mov edx, SHSetInstanceExplorer
mov rcx, r11
call fcn.18001fc60
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x18000b9a1
mov edx, dword [rsi]
movsxd rax, edx
add r10, rax
mov qword [rsp + 0x30], r10
mov eax, SHTestTokenMembership
lea r15d, [rax - 0x29]
inc eax
cmp eax, 0xf5
jb 0x18000b8e1
jmp 0x18000b8b0
movsxd rdx, dword [rdi + 0x7c]
mov rcx, qword [rdi + 0x38]
sub rcx, rdx
cmp r11, rcx
ja 0x18000b9a1
cmp r8b, byte [rdi + 0x80]
jne 0x18000b9a1
cmp edx, 1
je 0x18000b950
movzx eax, byte [rdi + 0x81]
cmp byte [r10 + 1], al
je 0x18000b950
inc r10
mov qword [rsp + 0x30], r10
mov r11, r10
movzx r8d, byte [r10]
test r8b, r8b
je 0x18000b95b
jmp 0x18000b900
mov ecx, 0x127
mov r11d, 0xffffffff
jmp 0x18000b9cd
mov r15d, 0xcb
add ecx, r11d
cmp ecx, 0x125
ja 0x18000b890
mov esi, 1
jmp case.0x18000b631.184
test ebx, ebx
js case.0x18000b631.184
mov edx, dword [rdx]
lea eax, [rdx - 6]
cmp eax, 0x18
ja case.0x18000ba10.12
cdqe
lea r15, [0x180000000]
mov ecx, dword [r15 + rax*4 + 0xc73c]
add rcx, r15
jmp rcx
xor r8d, r8d
mov edx, 0xfa
lea rcx, [rbp - 0x68]
call fcn.18000a3e0
test al, al
je 0x18000c1a2
mov r10, qword [rsp + 0x30]
jmp case.0x18000b631.184
mov dword [rbp - 0xf], 0x656c46
jmp case.0x18000b631.184
mov rax, qword [r14]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x58]
lea r8, [rbp - 0x50]
mov rdx, r10
mov ecx, 0x7a
call fcn.1800726b0
mov r10, qword [rsp + 0x30]
jmp case.0x18000b631.184
mov eax, 0x20
mov word [rbp - 4], ax
jmp case.0x18000b631.184
mov eax, 0x25
mov word [rbp - 0x10], ax
jmp case.0x18000b631.184
mov eax, 0x25
mov word [rbp + 3], ax
cmp dword [r12], 0
je 0x18000c1a7
cmp qword [rdx + 0x10], 0
je 0x18000c1a7
cmp qword [r13 + 0x10], 0
je 0x18000c1a7
jmp case.0x18000b631.184
mov eax, 0x65
mov word [rbp], ax
mov eax, 0x63
mov word [rbp + 1], ax
mov eax, 0x74
mov word [rbp + 2], ax
jmp case.0x18000b631.184
movzx edx, byte [r10]
cmp dl, 0x5c
jne 0x18000bb69
mov eax, esi
sub eax, 1
je 0x18000baf7
cmp eax, 1
jne 0x18000bb58
inc r10
mov qword [rsp + 0x30], r10
jmp 0x18000bb58
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x58], r9d
mov eax, dword [r8]
mov dword [rsp + 0x60], eax
mov eax, dword [rdi + 0x58]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, 0x101
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.180025b20
mov rbx, rax
xor r9d, r9d
cmp dword [rsp + 0x48], r9d
jne case.0x18000ba10.12
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x70]
inc esi
cmp esi, 3
jb 0x18000bae1
mov esi, 1
jmp case.0x18000b631.184
mov rax, qword [rdi + 0x18]
cmp byte [rdx + rax], 0
jl 0x18000c6b5
mov ebx, edx
inc r10
mov qword [rsp + 0x30], r10
cmp dword [r12], 0
je case.0x18000b631.184
cmp edx, 0xc0
jb case.0x18000b631.184
mov r8d, 0xed
lea r11, [0x180000000]
mov eax, r8d
sub eax, 0xed
je 0x18000bbfc
cmp eax, 0x54
jne 0x18000bc17
movsxd r9, dword [rsp + 0x50]
and ebx, dword [r11 + r9*4 + 0x859d8]
mov ecx, dword [rsp + 0x54]
shl ebx, cl
test r9d, r9d
jle 0x18000bbf2
nop dword [rax]
dec r9d
sub ecx, 6
movzx eax, byte [r10]
and eax, 0x3f
shl eax, cl
or ebx, eax
inc r10
mov qword [rsp + 0x30], r10
test r9d, r9d
jg 0x18000bbd0
mov dword [rsp + 0x54], ecx
dec r9d
mov dword [rsp + 0x50], r9d
jmp 0x18000bc17
mov eax, ebx
and eax, 0x3f
movzx ecx, byte [rax + r11 + 0x859f0]
mov dword [rsp + 0x50], ecx
lea eax, [rcx + rcx*2]
add eax, eax
mov dword [rsp + 0x54], eax
add r8d, 0x54
cmp r8d, 0x195
jb 0x18000bba5
jmp case.0x18000b631.184
mov rsi, qword [rbp - 0x68]
mov r14, qword [rbp - 0x60]
cmp rsi, r14
je 0x18000bcbd
nop word [rax + rax]
mov word [rbp + 8], r9w
lea rcx, [rbp + 8]
sub rcx, 2
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18000bc50
movsd xmm0, qword [0x180095a98]
movsd qword [rcx], xmm0
movzx eax, word [0x180095aa0]
mov word [rcx + 8], ax
mov dword [rbp + 0x10], 0x44
mov eax, dword [rdx]
cmp dword [rsi + 0x4c], eax
jne 0x18000bcac
mov eax, dword [r13]
cmp dword [rsi + 0x58], eax
jne 0x18000bcac
lea rcx, [rsi + 0x74]
mov r8d, 5
lea rdx, [rbp + 8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x18000c1c0
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
add rsi, 0x274
cmp rsi, r14
jne 0x18000bc40
mov r10, qword [rsp + 0x30]
mov byte [rsp + 0x38], 0
mov r14, qword [rbp - 0x70]
mov esi, 1
jmp case.0x18000b631.184
mov dword [rbp - 0xc], 0x68732078
mov dword [rbp - 8], 0x657261
mov eax, 0x64
mov word [rbp - 5], ax
lea rcx, [0x180000000]
inc r15d
cmp r15d, dword [rsp + 0x3c]
jae 0x18000c284
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
jmp 0x18000b602
xor r9d, r9d
jmp 0x18000c2cc
mov r11d, 0xea
mov eax, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x3c]
mov ecx, r11d
sub ecx, 0xea
je 0x18000bd3b
cmp ecx, 1
je 0x18000c2cf
jmp 0x18000bdea
cmp dword [r12], 0
je 0x18000bde0
cmp dword [r13], 0x7f
jle 0x18000bde0
movzx eax, byte [r14]
mov dword [r13], eax
cmp eax, 0xc0
jb 0x18000bde0
mov r9d, 0x25
nop word [rax + rax]
cmp r9d, 0x25
je 0x18000bdbd
cmp r9d, 0xf77
jne 0x18000bdcd
lea ecx, [r10 + r10*2]
add ecx, ecx
movsxd r8, r10d
mov eax, dword [r15 + r8*4 + 0x859d8]
and eax, dword [r13]
shl eax, cl
mov dword [r13], eax
mov rdx, rsi
cmp rsi, r8
jg 0x18000bdcd
sub ecx, 6
movzx eax, byte [r14 + rdx]
and eax, 0x3f
shl eax, cl
or dword [r13], eax
inc rdx
cmp rdx, r8
jle 0x18000bda2
jmp 0x18000bdcd
mov eax, dword [r13]
and eax, 0x3f
movzx r10d, byte [rax + r15 + 0x859f0]
add r9d, 0xf52
cmp r9d, 0x1ea4
jbe 0x18000bd70
xor r9d, r9d
mov eax, r9d
cmp dword [r13], ebx
setne al
inc r11d
cmp r11d, 0xec
jb 0x18000bd22
mov esi, reloc.SHELL32.dll_SHSetFolderPathA
mov r11d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x3c]
mov r15d, 1
nop
cmp esi, 0xe7
je 0x18000be4e
cmp esi, 0x6fe4
jne 0x18000bf02
cmp dword [r12], 0
je 0x18000bf80
mov eax, 0x5e
cmp eax, 0x5e
je 0x18000bf78
add eax, 0x16c4
cmp eax, 0x16c4
jbe 0x18000be34
jmp 0x18000bf02
cmp dword [r12], 0
je 0x18000bef8
cmp dword [r13], 0x7f
jle 0x18000bef8
movzx eax, byte [r14]
mov dword [r13], eax
cmp eax, 0xc0
jb 0x18000bef8
mov r10d, 0x43
lea rdi, [0x180000000]
mov eax, r10d
sub eax, 0x43
je 0x18000bebf
cmp eax, r15d
jne 0x18000beeb
mov rdx, r15
movsxd r9, r11d
cmp r15, r9
jg 0x18000beeb
nop dword [rax]
sub r8d, 6
movzx eax, byte [r14 + rdx]
and eax, 0x3f
mov ecx, r8d
shl eax, cl
or dword [r13], eax
inc rdx
cmp rdx, r9
jle 0x18000bea0
jmp 0x18000beeb
mov ecx, dword [r13]
mov eax, ecx
and eax, 0x3f
movzx r11d, byte [rax + rdi + 0x859f0]
lea r8d, [r11 + r11*2]
add r8d, r8d
mov edx, dword [rdi + r11*4 + 0x859d8]
and edx, ecx
mov ecx, r8d
shl edx, cl
mov dword [r13], edx
inc r10d
cmp r10d, 0x45
jb 0x18000be84
mov rdi, qword [rbp - 0x80]
cmp dword [r13], ebx
je 0x18000bfb6
add esi, 0x6efd
cmp esi, 0xddfa
jbe 0x18000be10
xor r9d, r9d
mov rsi, r15
mov r11d, 0xffffffff
mov r8, qword [rsp + 0x70]
mov ecx, SHSetFolderPathA
nop word [rax + rax]
mov eax, ecx
sub eax, 0xe5
je 0x18000bfbe
cmp eax, 0x73
jne 0x18000bfd2
cmp dword [r12], 0
je 0x18000c000
cmp ebx, 0x80
jge 0x18000bf65
movsxd rcx, ebx
mov rax, qword [rdi + 8]
movzx r11d, byte [rax + rcx]
cmp dword [r13], r11d
mov r9d, 0
sete r9b
jmp 0x18000c2d2
cmp ebx, 0x80
jge 0x18000bf9e
movsxd rcx, ebx
mov rax, qword [rdi + 8]
movzx edx, byte [rax + rcx]
cmp dword [r13], edx
mov r9d, 0
setne r9b
jmp 0x18000c2d2
mov edx, 0xffffffff
cmp dword [r13], edx
mov r9d, 0
setne r9b
jmp 0x18000c2d2
xor r9d, r9d
jmp 0x18000c2d2
cmp dword [r13], ebx
je 0x18000c2d5
test byte [r8], 1
je 0x18000c2d8
add ecx, 0x73
cmp ecx, 0x1cb
jb 0x18000bf30
cmp ebx, 0x7f
jg 0x18000c2d5
movsxd rcx, ebx
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 4
jne 0x18000c2d8
jmp 0x18000c2d5
movsxd rcx, ebx
mov rax, qword [rdi + 8]
movzx edx, byte [rax + rcx]
cmp dword [r13], edx
mov r9d, 0
sete r9b
jmp 0x18000c2d2
cmp ebx, 0x7f
jg 0x18000c2d8
movsxd rcx, ebx
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 4
jne 0x18000c2db
jmp 0x18000c2d8
cmp ebx, 0x7f
jg 0x18000c2db
movsxd rcx, ebx
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 1
jne 0x18000c2de
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
cmp ebx, 0x7f
jg 0x18000c2de
movsxd rcx, ebx
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 1
jne 0x18000c2e1
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
cmp ebx, 0x7f
jg 0x18000c2e1
movsxd rcx, ebx
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 0x10
jne 0x18000c2e4
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
cmp ebx, 0x7f
jg 0x18000c2e4
movsxd rcx, ebx
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 0x10
jne 0x18000c2e7
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
cmp ebx, 0x2000
jg 0x18000c115
je case.0x18000c140.8193
cmp ebx, 9
je case.0x18000c140.8193
cmp ebx, 0x20
je case.0x18000c140.8193
cmp ebx, 0xa0
je case.0x18000c140.8193
cmp ebx, 0x1680
je case.0x18000c140.8193
cmp ebx, 0x180e
je case.0x18000c140.8193
cmp edx, 0x13
jmp 0x18000c6a7
cmp ebx, 0x3000
jg case.0x18000c140.8194
je case.0x18000c140.8193
lea eax, [rbx - 0x2001]
cmp eax, 0x5e
ja case.0x18000c140.8194
cdqe
movzx eax, byte [r15 + rax + 0xc7a8]
mov ecx, dword [r15 + rax*4 + 0xc7a0]
add rcx, r15
jmp rcx
cmp edx, 0x13
mov r9d, 0
setne r9b
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
cmp ebx, 0xd
jg 0x18000c16c
je 0x18000c189
sub ebx, 0xa
je 0x18000c189
sub ebx, 1
jmp 0x18000c17a
sub ebx, 0x85
je 0x18000c189
sub ebx, 0x1fa3
je 0x18000c189
cmp ebx, 1
je 0x18000c189
cmp edx, 0x15
jmp 0x18000c6a7
cmp edx, 0x15
mov r9d, 0
setne r9b
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
mov byte [rsp + 0x38], 0
mov r9d, dword [rsp + 0x38]
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
mov eax, 4
nop word [rax + rax]
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [r12 + 0x60], xmm0
lea r12, [r12 + 0x80]
movups xmm1, xmmword [rsi + 0x70]
movups xmmword [r12 - 0x10], xmm1
lea rsi, [rsi + 0x80]
sub rax, 1
jne 0x18000c1d0
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [r12 + 0x60], xmm0
mov eax, dword [rsi + 0x70]
mov dword [r12 + 0x70], eax
mov byte [rsp + 0x38], 1
mov ebx, dword [rsp + 0x38]
lea rcx, [rbp - 0x50]
call fcn.180003610
nop
lea rcx, [rbp - 0x30]
call fcn.180003610
nop
lea rcx, [rbp - 0x68]
call fcn.180003720
mov eax, ebx
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.180083f10
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9d, dword [rsp + 0x38]
mov eax, r9d
mov r9d, eax
mov esi, r9d
mov r9d, esi
mov esi, r9d
mov r9d, esi
mov esi, r9d
mov r9d, esi
mov esi, r9d
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
mov eax, dword [rdx]
add eax, 0xfffffffa
cmp eax, 0x17
ja case.0x18000ba10.12
cdqe
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0xc808]
add rcx, rdx
jmp rcx
cmp dword [r12], 0
je 0x18000c3d5
cmp dword [r13], 0x7f
jle 0x18000c3d5
movzx eax, byte [r14]
mov dword [r13], eax
cmp eax, 0xc0
jb 0x18000c3d5
mov r10d, ILFree
mov r9d, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x3c]
lea rdi, [0x180000000]
mov eax, r10d
sub eax, 0x95
je 0x18000c397
sub eax, 1
je 0x18000c37b
cmp eax, 1
jne 0x18000c3bb
mov eax, dword [r13]
and eax, 0x3f
movzx r9d, byte [rax + rdi + 0x859f0]
jmp 0x18000c3bb
lea ecx, [r9 + r9*2]
add ecx, ecx
movsxd rax, r9d
mov edx, dword [rdi + rax*4 + 0x859d8]
and edx, dword [r13]
shl edx, cl
mov dword [r13], edx
jmp 0x18000c3bb
mov rdx, rsi
movsxd r8, r9d
cmp rsi, r8
jg 0x18000c3bb
sub ecx, 6
movzx eax, byte [r14 + rdx]
and eax, 0x3f
shl eax, cl
or dword [r13], eax
inc rdx
cmp rdx, r8
jle 0x18000c3a2
add r10d, r11d
cmp r10d, 0x94
ja 0x18000c355
mov rdi, qword [rbp - 0x80]
xor r9d, r9d
lea rdx, [0x180000000]
mov eax, 0xfffffffa
sub eax, ebx
cmp eax, 0xf
ja case.0x18000ba10.12
cdqe
mov ecx, dword [rdx + rax*4 + 0xc868]
add rcx, rdx
jmp rcx
movsxd rax, dword [r13]
cmp eax, 0x7f
jg 0x18000c690
mov rcx, rax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 4
jne case.0x18000ba10.12
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
movsxd rax, dword [r13]
cmp eax, 0x7f
jg 0x18000c68d
mov rcx, rax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 4
jne 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
movsxd rax, dword [r13]
cmp eax, 0x7f
jg 0x18000c690
mov rcx, rax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 1
jne case.0x18000ba10.12
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
movsxd rax, dword [r13]
cmp eax, 0x7f
jg 0x18000c68d
mov rcx, rax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 1
jne 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
movsxd rax, dword [r13]
cmp eax, 0x7f
jg 0x18000c690
mov rcx, rax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 0x10
jne case.0x18000ba10.12
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
movsxd rax, dword [r13]
cmp eax, 0x7f
jg 0x18000c68d
mov rcx, rax
mov rax, qword [rdi + 0x18]
test byte [rcx + rax], 0x10
jne 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
mov eax, dword [r13]
cmp eax, 0x2000
jg 0x18000c535
je case.0x18000c55c.8193
cmp eax, 9
je case.0x18000c55c.8193
cmp eax, 0x20
je case.0x18000c55c.8193
cmp eax, 0xa0
je case.0x18000c55c.8193
cmp eax, 0x1680
je case.0x18000c55c.8193
cmp eax, 0x180e
je case.0x18000c55c.8193
cmp ebx, 0xffffffed
jmp 0x18000c6a7
cmp eax, 0x3000
jg case.0x18000c314.18
je case.0x18000c55c.8193
sub eax, 0x2001
cmp eax, 0x5e
ja case.0x18000c314.18
cdqe
movzx eax, byte [rdx + rax + 0xc8b0]
mov ecx, dword [rdx + rax*4 + 0xc8a8]
add rcx, rdx
jmp rcx
cmp ebx, 0xffffffed
mov r9d, 0
setne r9b
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
mov ecx, dword [r13]
cmp ecx, 0xd
jg 0x18000c58c
je 0x18000c5a5
sub ecx, 0xa
je 0x18000c5a5
sub ecx, 1
jmp 0x18000c59a
sub ecx, 0x85
je 0x18000c5a5
sub ecx, 0x1fa3
je 0x18000c5a5
cmp ecx, 1
jne case.0x18000c314.20
cmp ebx, 0xffffffeb
mov r9d, 0
setne r9b
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
lea eax, [rbx + 0x15]
cmp eax, 0xf
ja 0x18000c68d
mov ecx, 0x9805
bt ecx, eax
jb 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
cmp ebx, 0xfffffff9
jmp 0x18000c6a7
lea eax, [rbx + 8]
cmp eax, 1
jbe 0x18000c690
cmp ebx, 0xfffffff5
jne case.0x18000ba10.12
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
lea eax, [rbx + 0x15]
cmp eax, 0xc
ja 0x18000c68d
mov ecx, 0x1005
bt ecx, eax
jb 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
lea eax, [rbx + 0x12]
cmp eax, 0xb
ja 0x18000c68d
mov ecx, 0xc81
bt ecx, eax
jb 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
lea eax, [rbx + 0x14]
cmp eax, 0xd
ja 0x18000c68d
mov ecx, 0x2201
bt ecx, eax
jb 0x18000c690
mov esi, r9d
mov qword [rbp - 0x78], r9
mov rbx, r9
jmp 0x18000c288
cmp ebx, 0xffffffeb
jmp 0x18000c6a7
lea eax, [rbx + 0x15]
cmp eax, 0xc
ja 0x18000c68d
mov ecx, 0x1805
bt ecx, eax
jb 0x18000c690
mov esi, r9d
mov r9d, esi
mov qword [rbp - 0x78], r9
mov ebx, r9d
jmp 0x18000c288
lea eax, [rbx + 0xb]
test eax, 0xfffffffb
mov r9d, 0
sete r9b
mov qword [rbp - 0x78], r9
mov rbx, qword [rbp - 0x78]
jmp 0x18000c288