Function at 0x180005cc0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x158]
sub rsp, 0x258
mov rax, qword [0x18005b6d8]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov r15d, dword [rbp + 0x1c0]
mov r13d, r15d
mov rax, qword [rbp + 0x1c8]
mov r10, qword [rbp + 0x1f0]
mov rsi, qword [rbp + 0x1f8]
mov r11, qword [rbp + 0x200]
mov r14, qword [rbp + 0x210]
movzx edi, byte [rsp + 0x68]
mov r12d, dword [rbp - 0x78]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x208]
mov qword [rbp + 0x38], rax
lea eax, [r15 + 0xe4]
mov qword [rbp + 0x70], r9
mov r9, qword [rbp + 0x1d0]
mov qword [rbp + 0x50], r8
mov r8, rdx
mov qword [rbp - 0x40], rdx
mov edx, dword [rbp - 0x78]
mov qword [rbp + 0xe0], rcx
mov ecx, dword [rbp - 0x78]
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x80], r10
mov qword [rbp + 0x60], rsi
mov qword [rbp - 0x28], r11
mov qword [rbp + 8], r14
mov dword [rbp - 0x48], edi
cmp r15d, eax
jae 0x1800061e3
mov eax, dword [rbp - 0x78]
mov r8d, r13d
mov r9d, dword [rbp + 0x48]
mov r15, qword [rbp + 0xf0]
mov rbx, qword [rbp + 0xf0]
mov dword [rbp + 0x24], eax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x1c], eax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x14], eax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x20], eax
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x60], edx
mov dword [rbp - 0x60], r9d
nop dword [rax]
lea eax, [r13 - 0x72]
cmp eax, 0xde
ja case.0x180005e08.115
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x7268]
mov ecx, dword [rdx + rax*4 + 0x7234]
add rcx, rdx
jmp rcx
mov rax, qword [rbp + 8]
xor r14d, r14d
cmp dword [rax], r14d
jle 0x180005e45
mov rsi, r10
nop dword [rax]
movsx r8d, word [rsi]
lea rdx, str._d
mov ecx, 5
call fcn.180035ef0
mov rax, qword [rbp + 8]
lea rsi, [rsi + 2]
inc r14d
cmp r14d, dword [rax]
jl 0x180005e20
lea rdx, str.___
mov ecx, 5
call fcn.180035ef0
mov r10, qword [rbp - 0x80]
jmp 0x18000611a
mov esi, 0x83
nop dword [rax]
nop dword [rax + rax]
mov eax, esi
sub eax, 0x82
je 0x180005f2c
sub eax, 1
je 0x180005efe
sub eax, 5
je 0x180005eed
cmp eax, 4
jne 0x180005f21
mov edx, 0x9e
cmp edx, 0x9e
je 0x180005eb4
cmp edx, 0x6ca
je 0x180005ed8
cmp edx, 0xcf6
jne 0x180005edd
mov esi, 0x8c
jmp 0x180005edd
mov eax, 3
lea r9, [0x180054570]
xor ecx, ecx
mov r8, qword [rax]
cmp qword [r9 + rcx*8 + 8], r8
je 0x180005ed8
inc ecx
cmp ecx, 0x730077
jb 0x180005ec5
jmp 0x180005edd
mov edx, 0x6ca
add edx, 0x62c
cmp edx, 0x1284
jbe 0x180005e95
jmp 0x180005f21
cmp byte [0x180063839], 0
je 0x180005f21
call qword [0x180063820]
jmp 0x180005f21
xor r8d, r8d
lea rcx, [0x180054570]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
mov edx, 3
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
dec esi
cmp esi, 0x7e
ja 0x180005e70
mov r8, qword [rbp - 0x80]
xor esi, esi
mov qword [rsp + 0x28], rsi
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rsi
mov ecx, 0xa8
mov r15, rbx
call fcn.180009160
test al, al
je 0x1800065cd
mov r10, qword [rbp - 0x80]
jmp 0x18000611a
mov dword [rbp + 0x4c], r9d
jmp case.0x180005e08.115
mov rcx, qword [r10]
call r15
mov r10, qword [rbp - 0x80]
mov qword [r10], 0xffffffffffffffff
mov dword [r10 + 8], 0
jmp 0x18000611e
mov ecx, dword [rsi]
mov edx, 1
dec ecx
shl edx, cl
mov ecx, 5
mov dword [rbp + 0x24], edx
lea rdx, str.DCT:
call fcn.180035ef0
mov r10, qword [rbp - 0x80]
jmp 0x18000611e
mov rax, qword [rbp + 0x70]
mov edx, 1
mov dword [rsp + 0x60], edx
mov r9d, dword [rax]
mov rax, qword [rbp + 0x78]
dec r9d
mov dword [rbp - 0x60], r9d
mov dword [rbp + 0x48], r9d
mov ecx, dword [rax]
mov rax, qword [rbp + 0x50]
add ecx, dword [rax]
mov dword [rbp + 0x1c], ecx
mov dword [rbp + 0x40], ecx
jmp 0x18000612d
mov rcx, r10
call qword [0x180063828]
mov r10, qword [rbp - 0x80]
jmp 0x18000611e
mov edx, dword [rsp + 0x60]
xor eax, eax
mov dword [rbp + 0x14], eax
mov ecx, eax
mov dword [rsp + 0x64], eax
jmp 0x180006131
mov r12d, dword [r14]
sub r12d, 1
movsxd rax, r12d
js case.0x180005e08.115
cmp word [r10 + rax*2], 0
jne case.0x180005e08.336
dec r12d
sub rax, 1
jns 0x180006016
jmp case.0x180005e08.115
mov r13d, 0x150
jmp case.0x180005e08.115
mov eax, dword [r14]
lea r9, [rbp - 0x30]
xor r8d, r8d
mov dword [rbp - 0x30], eax
mov edx, 0x114
xor ecx, ecx
call fcn.18001e750
mov r10, qword [rbp - 0x80]
mov ecx, 5
sub ecx, eax
mov eax, 1
shl eax, cl
mov dword [rbp + 0x20], eax
jmp 0x18000611e
mov r14, qword [rbp - 0x80]
mov esi, 0x1d
mov eax, esi
sub eax, 0x1c
je 0x1800065cd
cmp eax, 1
jne 0x18000610c
lea rax, [rbp - 0x78]
xor edi, edi
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8, r11
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xeb
call fcn.180009160
test al, al
je 0x1800061dc
mov rax, qword [rbp + 8]
lea r8, [rbp - 0x30]
mov qword [rsp + 0x58], rdi
xor r9d, r9d
mov dword [rsp + 0x50], 0xb9
xor edx, edx
mov qword [rsp + 0x48], rdi
xor ecx, ecx
movzx eax, word [rax]
mov word [rsp + 0x68], ax
mov eax, dword [rbp - 0x78]
mov dword [rbp - 0x30], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
call fcn.18003d110
mov r11, qword [rbp - 0x28]
mov edi, eax
mov dword [rbp - 0x48], eax
dec esi
cmp esi, 0x1b
ja 0x180006073
mov r10, r14
mov r14, qword [rbp + 8]
mov r8d, dword [rbp + 0x1c0]
mov r9d, dword [rbp - 0x60]
mov edx, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x64]
mov r11, qword [rbp - 0x28]
lea eax, [r8 + 0xe4]
mov rsi, qword [rbp + 0x60]
add r13d, 0x13
cmp r13d, eax
jb 0x180005de0
mov r9, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov r15d, dword [rbp + 0x1c0]
lea eax, [r15 + 0x318]
movsxd rbx, r12d
mov dword [rbp + 0xb8], eax
mov qword [rbp + 0x100], rbx
cmp r15d, eax
jae 0x1800065cd
mov eax, dword [rbp + 0x1c0]
movsxd r13, ecx
mov ecx, dword [rbp + 0x120]
movsxd r15, edx
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x80], r15
mov dword [rsp + 0x60], ecx
nop dword [rax]
cmp eax, 0x230
ja 0x180006b63
je 0x1800065fd
add eax, 0xfffffefc
cmp eax, 0xea
ja case.default.0x1800061da
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x7364]
mov ecx, dword [rdx + rax*4 + 0x7348]
add rcx, rdx
jmp rcx
xor al, al
jmp 0x1800065d1
mov eax, dword [rbp + 0x48]
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x24], eax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x1c], eax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x14], eax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x20], eax
jmp 0x18000615c
mov eax, dword [rbp + 0x1c]
lea r8, [rbp - 0x20]
mov r13, qword [rbp + 0xe0]
lea rdx, [rsp + 0x70]
mov r15, qword [rbp + 0x50]
lea rcx, [rsp + 0x78]
mov r12, qword [rbp + 0x70]
mov r9d, 0xd
mov dword [rsp + 0x78], eax
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x20], eax
mov rax, qword [rbp + 0xd8]
mov eax, dword [rax]
mov dword [rbp + 0x28], eax
mov rax, qword [rbp + 0x78]
mov eax, dword [rax]
mov dword [rbp - 0x10], eax
mov eax, dword [r13]
mov dword [rbp - 8], eax
mov eax, dword [r15]
mov dword [rbp], eax
mov eax, dword [r12]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0xe8]
mov eax, dword [rax]
mov dword [rbp - 0x18], eax
mov eax, dword [rsi]
mov dword [rsp + 0x70], eax
mov eax, dword [r14]
mov dword [rbp - 0x68], eax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x48], rax
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
call fcn.180018620
mov ebx, eax
mov eax, dword [rbp + 0x44]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbp - 8], eax
mov rax, qword [rbp + 0xd8]
mov byte [rsp + 0x68], bl
mov ecx, dword [rax]
mov rax, qword [rbp + 0x78]
mov dword [rbp - 0x18], ecx
mov ecx, dword [rax]
mov rax, qword [rbp + 0xe8]
mov dword [rsp + 0x70], ecx
mov ecx, dword [r13]
mov dword [rbp - 0x20], ecx
mov ecx, dword [r15]
mov dword [rbp + 0x30], ecx
mov ecx, dword [r12]
mov dword [rbp], ecx
mov ecx, dword [rax]
mov eax, dword [rsi]
mov dword [rbp - 0x10], eax
mov eax, dword [r14]
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x38], rax
mov dword [rbp + 0x28], ecx
mov r14, qword [rbp - 0x80]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x30], rax
lea r8, [rbp - 8]
lea rax, [rbp]
mov r9d, 0xd
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x20], r14
call fcn.180018620
mov byte [rsp + 0x69], al
test bl, bl
jne 0x180006385
test al, al
je case.0x1800061da.261
mov dword [rbp + 0x14], 1
jmp case.0x1800061da.261
mov eax, dword [rbp + 0x1c]
dec eax
mov dword [rbp + 0x44], eax
mov rax, qword [rbp - 0x70]
mov byte [rax + r13], 0
jmp case.0x1800061da.261
xor eax, eax
mov esi, eax
cmp dword [r14], eax
jle 0x1800063df
mov rbx, r11
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [rbx]
lea rdx, str._d
mov ecx, 5
call fcn.180035ef0
inc esi
lea rbx, [rbx + 4]
cmp esi, dword [r14]
jl 0x1800063c0
lea rdx, [0x180053308]
mov ecx, 5
call fcn.180035ef0
jmp case.0x1800061da.261
xor eax, eax
mov word [r8 + r13*4 + 2], ax
jmp case.0x1800061da.261
mov rax, qword [rbp + 8]
xor ecx, ecx
mov dword [rbp - 0x68], ecx
mov r14d, ecx
cmp dword [rax], ecx
jle case.0x1800061da.261
mov edi, dword [rbp + 0x68]
nop dword [rax]
mov r12d, dword [rbp + 0x20]
mov r15d, 0x71
nop word [rax + rax]
cmp r15d, 0x71
je 0x180006474
cmp r15d, 0x710
jne 0x180006542
mov eax, dword [rbp + 0x24]
mov ecx, dword [rsi]
add eax, edi
sar eax, cl
cmp eax, 0xffff8000
jge 0x180006461
mov eax, 0xffff8000
mov dword [r11 + r14*4], eax
jmp 0x180006542
mov ecx, 0x7fff
cmp eax, ecx
cmovg eax, ecx
mov dword [r11 + r14*4], eax
jmp 0x180006542
mov r10d, ecx
mov r11d, ecx
mov edi, ecx
mov r9d, ecx
mov rdx, rcx
test rbx, rbx
js 0x180006542
mov r13, qword [rbp - 0x80]
cmp rbx, 1
jl 0x180006511
dec rbx
lea esi, [r12 + r12]
mov r8d, ecx
lea r9, [rbx + 2]
shr r9, 1
add r9d, r9d
nop dword [rax]
movsxd rax, r8d
lea rcx, [0x180000000]
shl rax, 5
add rax, r14
movsx ecx, byte [rax + rcx + 0x5b1e0]
movsx eax, word [r13 + rdx*2]
imul ecx, eax
lea eax, [r8 + r12]
add r8d, esi
add r10d, ecx
movsxd rcx, eax
shl rcx, 5
lea rax, [0x180000000]
add rcx, r14
movsx ecx, byte [rcx + rax + 0x5b1e0]
movsx eax, word [r13 + rdx*2 + 2]
add rdx, 2
imul ecx, eax
add r11d, ecx
cmp rdx, rbx
jle 0x1800064b0
mov rbx, qword [rbp + 0x100]
cmp rdx, rbx
jg 0x18000653c
imul r9d, r12d
lea rcx, [0x180000000]
movsxd rax, r9d
shl rax, 5
add rax, r14
movsx edi, byte [rax + rcx + 0x5b1e0]
movsx eax, word [r13 + rdx*2]
imul edi, eax
lea eax, [r10 + r11]
add edi, eax
mov r11, qword [rbp - 0x28]
add r15d, 0x69f
mov rsi, qword [rbp + 0x60]
mov ecx, 0
cmp r15d, 0xd3e
jbe 0x180006430
mov r12d, dword [rbp - 0x68]
inc r14
mov rax, qword [rbp + 8]
inc r12d
mov dword [rbp + 0x68], edi
mov dword [rbp - 0x68], r12d
cmp r12d, dword [rax]
jl 0x180006420
mov edi, dword [rbp - 0x48]
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbp + 0x1c0]
mov r9, qword [rbp - 0x50]
add eax, 0x42
mov r8, qword [rbp - 0x40]
mov r10, qword [rbp - 0x80]
mov r13, qword [rbp + 0x58]
mov r15, qword [rbp + 0x80]
mov r11, qword [rbp - 0x28]
mov rbx, qword [rbp + 0x100]
mov r14, qword [rbp + 8]
mov rsi, qword [rbp + 0x60]
mov dword [rbp + 0x1c0], eax
cmp eax, dword [rbp + 0xb8]
jb 0x1800061a0
movzx eax, dil
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.180046be0
add rsp, 0x258
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov word [r8 + r13*4], ax
jmp case.0x1800061da.261
mov r12, qword [rbp - 0x50]
xor eax, eax
mov r15d, eax
jmp 0x180006614
mov r10, qword [rbp - 0x80]
cmp byte [rsp + r15 + 0x68], 0
mov r8, qword [rbp - 0x70]
je 0x18000681a
cmp byte [r8 + r13], 0
jne 0x18000681a
mov esi, dword [rbp + r15*4 + 0x40]
lea rdx, [rsp + 0x78]
mov r14d, dword [rbp + r15*4 + 0x48]
lea rcx, [rsp + 0x70]
mov r9d, 0x8f
mov dword [rsp + 0x78], esi
mov r8, r10
mov dword [rsp + 0x70], r14d
call fcn.180030e20
test eax, eax
je 0x180006816
mov edi, dword [rbp + 0xa4]
mov ebx, 0xf9
nop dword [rax]
cmp ebx, 0xf9
je 0x1800067b8
cmp ebx, 0x7a8e
jne 0x1800067f8
mov r9, qword [rbp - 0x50]
mov r12, qword [rbp + 0x110]
mov r11, qword [rbp - 0x28]
mov r10, qword [rbp - 0x80]
movsxd r8, dword [r9]
cmp byte [r12 + r8 + 2], 0
je 0x180006718
movsx rax, byte [r12 + r8]
imul rcx, r8, 0xf
add rax, rcx
movsxd rax, dword [r11 + rax*4 + 0xa4]
imul rdx, rax, 0xf8
mov rax, qword [rbp + 0x38]
movsxd rax, dword [rax]
add rax, rcx
movsxd rax, dword [r11 + rax*4 + 0xa4]
imul rcx, rax, 0xf8
mov eax, dword [rcx + r10 + 0x48034]
cmp dword [rdx + r10 + 0x48034], eax
jne 0x180006718
mov r8, qword [rbp - 0x70]
mov byte [r8 + r13], 1
movsxd rax, dword [r9]
mov ecx, dword [r12 + rax*4 + 4]
mov rax, qword [rbp - 0x40]
mov dword [rax + r13*4], ecx
movsxd rax, dword [r9]
movsx edx, byte [rax + r12]
mov r12, r9
mov dword [rbp - 0x38], edx
jmp 0x1800067fc
movsxd r9, edi
cmp byte [r12 + r9 + 2], 0
je 0x1800067f4
movsx rax, byte [r12 + r9]
imul rcx, r9, 0xf
add rcx, rax
movsxd rax, dword [r11 + rcx*4 + 0xa4]
imul rdx, rax, 0xf8
imul rcx, r8, 0xf
mov rax, qword [rbp + 0x38]
movsxd rax, dword [rax]
add rcx, rax
movsxd rax, dword [r11 + rcx*4 + 0xa4]
imul rcx, rax, 0xf8
mov eax, dword [rcx + r10 + 0x48034]
cmp dword [rdx + r10 + 0x48034], eax
jne 0x1800067f4
mov ecx, 7
nop word [rax + rax]
mov r8, qword [rbp - 0x70]
mov eax, ecx
sub eax, 6
je 0x1800067a3
cmp eax, 1
jne 0x1800067ab
mov rdx, qword [rbp - 0x40]
mov byte [r8 + r13], al
mov eax, dword [r12 + r9*4 + 4]
mov dword [rdx + r13*4], eax
jmp 0x1800067ab
movsx edx, byte [r12 + r9]
mov dword [rbp - 0x38], edx
dec ecx
cmp ecx, 5
ja 0x180006780
mov r12, qword [rbp - 0x50]
jmp 0x1800067fc
mov rcx, qword [rbp - 0x80]
lea r8, [rbp + 0x90]
mov edi, 1
mov dword [rbp + 0x98], esi
sub edi, dword [r12]
lea rdx, [rbp + 0x98]
mov r9d, 5
mov dword [rbp + 0x90], r14d
call fcn.180030890
mov qword [rbp + 0x110], rax
jmp 0x1800067f8
mov r12, qword [rbp - 0x50]
mov r8, qword [rbp - 0x70]
add ebx, 0x7995
cmp ebx, 0xf32a
jbe 0x180006670
mov dword [rbp + 0xa4], edi
jmp 0x18000681a
mov r8, qword [rbp - 0x70]
inc r15
cmp r15, 1
jle 0x180006610
mov edi, dword [rbp - 0x38]
xor r10d, r10d
mov eax, r10d
mov qword [rbp - 0x20], rax
jmp 0x180006844
mov r8, qword [rbp - 0x70]
cmp byte [r8 + r13], 0
jne 0x180006b42
mov r13d, 0x50
mov dword [rbp - 0x68], r13d
nop dword [rax]
mov r15d, dword [rbp + 0x10]
mov r12d, dword [rbp + 0x18]
cmp r13d, 0x50
jne 0x180006b0b
cmp byte [rsp + rax + 0x68], 0
je 0x1800069e5
mov esi, dword [rbp + rax*4 + 0x40]
lea r9d, [r13 + 0x3f]
mov r14d, dword [rbp + rax*4 + 0x48]
lea rdx, [rsp + 0x78]
mov r8, qword [rbp - 0x80]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x70], r14d
call fcn.180030e20
test eax, eax
je 0x1800069e2
mov ebx, 0xeb
mov eax, ebx
sub eax, 0xeb
je 0x1800069c0
sub eax, 1
je 0x18000698d
cmp eax, 1
jne 0x1800069d4
mov r8, qword [rbp - 0x50]
mov r9, qword [rbp + 0x118]
movsxd rcx, dword [r8]
cmp byte [rcx + r9 + 2], al
jne 0x180006935
mov edx, 0x17
nop dword [rax]
mov eax, edx
sub eax, 0x16
je 0x180006923
cmp eax, 1
jne 0x180006926
mov r10, qword [rbp + 0x58]
mov rax, qword [rbp - 0x70]
mov byte [rax + r10], 1
movsxd rax, dword [r8]
mov ecx, dword [r9 + rax*4 + 4]
mov rax, qword [rbp - 0x40]
mov dword [rax + r10*4], ecx
movsxd rcx, dword [r8]
movsx edi, byte [rcx + r9]
jmp 0x180006926
mov dword [rbp - 0x30], ecx
dec edx
cmp edx, 0x15
ja 0x1800068f0
mov dword [rbp - 0x38], edi
jmp 0x1800069d4
movsxd r11, dword [rbp + 0xc8]
cmp byte [r9 + r11 + 2], 1
jne 0x1800069d4
mov ecx, 0x1e
nop dword [rax]
mov eax, ecx
sub eax, 0x1e
je 0x180006962
cmp eax, 1
jne 0x180006981
mov dword [rbp - 0x30], r11d
jmp 0x180006981
mov r10, qword [rbp + 0x58]
mov rax, qword [rbp - 0x70]
mov r8, qword [rbp - 0x40]
mov byte [rax + r10], 1
mov eax, dword [r9 + r11*4 + 4]
mov dword [r8 + r10*4], eax
movsx edi, byte [r9 + r11]
inc ecx
cmp ecx, 0x20
jb 0x180006950
mov dword [rbp - 0x38], edi
jmp 0x1800069d4
mov rcx, qword [rbp - 0x80]
lea r8, [rbp + 0xd0]
mov r9d, 5
mov dword [rbp + 0xc0], esi
lea rdx, [rbp + 0xc0]
mov dword [rbp + 0xd0], r14d
call fcn.180030890
mov qword [rbp + 0x118], rax
jmp 0x1800069d4
mov rax, qword [rbp - 0x50]
mov r11d, 1
sub r11d, dword [rax]
mov dword [rbp + 0xc8], r11d
inc ebx
cmp ebx, 0xee
jb 0x1800068b3
xor r10d, r10d
mov r8, qword [rbp + 0x58]
mov rax, qword [rbp - 0x70]
cmp byte [rax + r8], 1
jne 0x180006b0b
movsxd rax, dword [rbp - 0x30]
mov r9, qword [rbp - 0x28]
imul rdx, rax, 0xf
movsxd rcx, edi
add rdx, rcx
mov dword [rbp + 0x18], r12d
mov dword [rbp + 0x10], r15d
movsxd rax, dword [r9 + rdx*4 + 0xa4]
mov rdx, qword [rbp - 0x80]
imul r14, rax, 0xf8
mov rax, qword [rbp - 0x50]
add r14, rdx
movsxd rax, dword [rax]
imul rcx, rax, 0xf
mov rax, qword [rbp + 0x38]
movsxd rax, dword [rax]
add rcx, rax
movsxd rax, dword [r9 + rcx*4 + 0xa4]
imul rsi, rax, 0xf8
add rsi, rdx
cmp dword [r14 + 0x4803c], 1
jne 0x180006b0b
cmp dword [rsi + 0x4803c], 1
mov dword [rbp + 0x18], r12d
mov dword [rbp + 0x10], r15d
jne 0x180006b0b
mov ebx, 0x10c
mov r13d, r12d
mov edi, r15d
nop dword [rax]
cmp ebx, 0x10c
je 0x180006acf
cmp ebx, 0x6698
jne 0x180006ae9
mov rax, qword [rbp - 0x40]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x30], 0x1f
xor r9d, r9d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x70], edi
lea rdx, [rax + r8*4]
mov dword [rsp + 0x78], r13d
lea r8, [rsp + 0x78]
mov qword [rsp + 0x20], rdx
call fcn.18002cdd0
mov rdx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x58]
jmp 0x180006ae9
mov rax, qword [rdx + 0x493f8]
mov edi, dword [rax + 0x54]
mov r13d, edi
sub r13d, dword [r14 + 0x48034]
sub edi, dword [rsi + 0x48034]
add ebx, 0x658c
mov r10d, 0
cmp ebx, 0xcb18
jbe 0x180006a80
mov dword [rbp + 0x18], r13d
mov r13d, dword [rbp - 0x68]
mov dword [rbp + 0x10], edi
mov edi, dword [rbp - 0x38]
mov rax, qword [rbp - 0x20]
add r13d, 0x2350
mov dword [rbp - 0x68], r13d
mov r10d, 0
cmp r13d, 0x2350
jbe 0x180006860
mov r13, qword [rbp + 0x58]
inc rax
mov qword [rbp - 0x20], rax
cmp rax, 1
jle 0x180006840
mov rax, qword [rbp + 0x70]
mov edi, dword [rbp - 0x48]
mov ecx, dword [rax]
mov rax, qword [rbp + 0xe0]
add ecx, dword [rax]
mov dword [rsp + 0x60], ecx
mov dword [rbp + 0x120], ecx
jmp case.default.0x1800061da
sub eax, 0x272
je 0x180007215
sub eax, 0x42
je 0x1800071f4
sub eax, 0x42
je 0x1800071d8
sub eax, 0x42
je 0x180006f06
cmp eax, 0x42
jne case.default.0x1800061da
cmp dword [rbp + 0x14], 0
jne case.default.0x1800061da
mov r14, qword [rbp - 0x70]
cmp byte [r14 + r15], 0
je 0x180006bdc
mov r11d, dword [rbp - 0x5c]
mov ecx, 0xde
mov eax, ecx
sub eax, 0xde
je 0x180006bcc
cmp eax, 0x3e
jne 0x180006bd1
mov eax, dword [r8 + r15*4]
mov dword [r8 + r13*4], eax
mov dword [rbp - 0x38], r11d
jmp 0x180006bd1
mov byte [r14 + r13], 1
add ecx, 0x3e
cmp ecx, 0x15a
jb 0x180006bb0
xor eax, eax
mov byte [r14 + r15], 0
mov r13d, eax
mov qword [rbp - 0x20], rax
nop word [rax + rax]
cmp byte [r14 + r15], 0
jne case.0x1800061da.261
mov edi, dword [rbp + 0xa0]
mov r12d, 0xd1
mov r11d, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x58]
nop
mov eax, r12d
mov ebx, ecx
mov esi, r11d
sub eax, 0xd1
je 0x180006dc5
cmp eax, 0x3d
jne 0x180006ed4
cmp byte [r14 + r15], 1
jne 0x180006ed4
mov r13d, dword [rbp + 0x8c]
lea esi, [rax + 0xe]
movsxd r14, ecx
movsxd r15, r11d
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x28], r15
nop
cmp esi, 0x4b
je 0x180006d38
cmp esi, 0x258
jne 0x180006d93
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x108]
mov eax, dword [rdx + 0x54]
cmp dword [rcx + 0x54], eax
je 0x180006d93
cmp dword [rcx + 0x5c], 1
jne 0x180006d93
cmp dword [rdx + 0x5c], 1
jne 0x180006d93
mov r14, qword [rbp + 0x80]
mov ebx, 0x28
xor r15d, r15d
mov eax, ebx
sub eax, 0x26
je 0x180006cd3
sub eax, 1
je 0x180006cc4
cmp eax, 1
jne 0x180006d12
mov rax, qword [r10 + 0x493f8]
mov r13d, dword [rax + 0x54]
sub r13d, dword [rcx + 0x54]
jmp 0x180006d12
mov rax, qword [r10 + 0x493f8]
mov edi, dword [rax + 0x54]
sub edi, dword [rdx + 0x54]
jmp 0x180006d12
lea rdx, [r8 + r14*4]
mov dword [rsp + 0x30], 0x1f
mov qword [rsp + 0x28], r15
lea r8, [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x78], r13d
call fcn.18002cdd0
mov rcx, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xf8]
mov r8, qword [rbp - 0x40]
dec ebx
mov r10, qword [rbp - 0x80]
cmp ebx, 0x25
ja 0x180006ca2
mov r14, qword [rbp + 0x30]
mov r15, qword [rbp + 0x28]
mov dword [rbp + 0x8c], r13d
mov dword [rbp + 0xa0], edi
jmp 0x180006d93
mov rdx, qword [rbp - 0x28]
imul rax, r14, 0xf
add rax, r15
movsxd rax, dword [rdx + rax*4 + 0xa4]
imul rax, rax, 0xf8
add rax, 0x47fe0
add rax, r10
mov qword [rbp + 0x108], rax
movsxd rax, dword [r9]
imul rcx, rax, 0xf
mov rax, qword [rbp + 0x38]
movsxd rax, dword [rax]
add rcx, rax
movsxd rax, dword [rdx + rcx*4 + 0xa4]
imul rcx, rax, 0xf8
lea rax, [r10 + 0x47fe0]
add rax, rcx
mov qword [rbp + 0xf8], rax
mov r9, qword [rbp - 0x50]
add esi, 0x20d
mov r8, qword [rbp - 0x40]
mov r10, qword [rbp - 0x80]
cmp esi, 0x41a
jbe 0x180006c50
mov r13, qword [rbp - 0x20]
mov r15, qword [rbp + 0x80]
mov r11d, dword [rbp - 0x5c]
jmp 0x180006ecd
cmp byte [rsp + r13 + 0x64], 0
je 0x180006ed4
mov eax, dword [rbp + r13*4 + 0x130]
lea r8, [rsp + 0x78]
mov dword [rsp + 0x70], eax
lea rdx, [rsp + 0x70]
mov eax, dword [rbp + r13*4 + 0x120]
mov r14d, 1
sub r14d, dword [r9]
mov rcx, r10
mov r9d, 5
mov dword [rsp + 0x78], eax
call fcn.180030890
mov r9, qword [rbp - 0x50]
mov r8, rax
mov dword [rbp - 0x5c], esi
mov dword [rbp - 0x58], ebx
movsxd rcx, dword [r9]
cmp byte [rcx + rax + 2], 1
jne 0x180006e79
mov edx, 0xc7
mov ecx, edx
sub ecx, 0xc7
je 0x180006e4f
sub ecx, 0x5b
je 0x180006e42
cmp ecx, 0x5b
jne 0x180006e68
mov eax, dword [r9]
mov dword [rbp - 0x58], eax
jmp 0x180006e68
movsxd rax, dword [r9]
movsx eax, byte [rax + r8]
mov dword [rbp - 0x5c], eax
jmp 0x180006e68
mov rax, qword [rbp - 0x70]
mov byte [rax + r15], 1
movsxd rax, dword [r9]
mov ecx, dword [r8 + rax*4 + 4]
mov rax, qword [rbp - 0x40]
mov dword [rax + r15*4], ecx
add edx, 0x5b
cmp edx, 0x1d8
jb 0x180006e26
mov r11d, dword [rbp - 0x5c]
jmp 0x180006ecd
movsxd rdx, r14d
mov r11d, esi
mov ecx, ebx
cmp byte [rdx + rax + 2], 1
jne 0x180006ed0
mov r10, qword [rbp - 0x40]
mov ecx, 0xb0
mov dword [rbp - 0x58], ebx
mov eax, ecx
sub eax, 0xaf
je 0x180006ebb
cmp eax, 1
jne 0x180006ebf
mov rax, qword [rbp - 0x70]
mov byte [rax + r15], 1
mov eax, dword [r8 + rdx*4 + 4]
mov dword [r10 + r15*4], eax
movsx r11d, byte [rdx + r8]
jmp 0x180006ebf
mov dword [rbp - 0x58], r14d
dec ecx
cmp ecx, 0xae
ja 0x180006e94
mov dword [rbp - 0x5c], r11d
mov ecx, dword [rbp - 0x58]
mov r14, qword [rbp - 0x70]
mov r8, qword [rbp - 0x40]
add r12d, 0x3d
mov r10, qword [rbp - 0x80]
cmp r12d, 0x14b
jb 0x180006c10
mov edi, dword [rbp - 0x48]
inc r13
mov qword [rbp - 0x20], r13
cmp r13, 2
jle 0x180006bf0
jmp case.0x1800061da.261
mov r12, qword [rbp + 0x80]
xor eax, eax
mov edi, dword [rbp + 0x88]
mov dword [r8 + r15*4], eax
mov r15d, eax
nop dword [rax]
mov rax, qword [rbp + 0xd8]
lea r8, [rbp - 8]
mov esi, dword [rbp + r15*4 + 0x130]
lea rdx, [rbp - 0x10]
mov r14d, dword [rbp + r15*4 + 0x120]
lea rcx, [rbp - 0x68]
mov r9d, 0xd
mov dword [rbp - 0x68], esi
mov eax, dword [rax]
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x78]
mov dword [rbp - 8], r14d
mov eax, dword [rax]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0xe0]
mov eax, dword [rax]
mov dword [rbp - 0x20], eax
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
mov dword [rbp], eax
mov rax, qword [rbp + 0xe8]
mov eax, dword [rax]
mov dword [rbp + 0x28], eax
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
mov dword [rbp - 0x10], eax
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x30], rax
lea rax, [rbp]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
call fcn.180018620
mov byte [rsp + r15 + 0x64], al
test al, al
je 0x1800071c2
mov rax, qword [rbp - 0x70]
cmp byte [rax + r12], 0
jne 0x1800071c2
mov ebx, 0xaf
nop dword [rax + rax]
mov eax, ebx
sub eax, 0xaf
je 0x180007172
cmp eax, 1
jne 0x1800071ae
mov r9, qword [rbp - 0x50]
mov r11, qword [rbp + 0xf0]
mov r13, qword [rbp - 0x28]
mov r10, qword [rbp - 0x80]
movsxd r8, dword [r9]
cmp byte [r11 + r8 + 2], 0
je 0x1800070d9
movsx rax, byte [r11 + r8]
imul rcx, r8, 0xf
add rax, rcx
movsxd rax, dword [r13 + rax*4 + 0xa4]
imul rdx, rax, 0xf8
mov rax, qword [rbp + 0x38]
movsxd rax, dword [rax]
add rax, rcx
movsxd rax, dword [r13 + rax*4 + 0xa4]
imul rcx, rax, 0xf8
mov eax, dword [rcx + r10 + 0x48034]
cmp dword [rdx + r10 + 0x48034], eax
jne 0x1800070d9
mov edx, 0x2b
cmp edx, 0x2b
je 0x1800070ad
cmp edx, 0xbc
jne 0x1800070c6
movsxd rax, dword [r9]
movsx eax, byte [rax + r11]
mov dword [rbp - 0x5c], eax
jmp 0x1800070c6
mov rax, qword [rbp - 0x70]
mov byte [rax + r12], 1
movsxd rax, dword [r9]
mov ecx, dword [r11 + rax*4 + 4]
mov rax, qword [rbp - 0x40]
mov dword [rax + r12*4], ecx
add edx, 0x91
cmp edx, 0x14d
jb 0x180007093
jmp 0x1800071ae
movsxd r9, edi
cmp byte [r9 + r11 + 2], 0
je 0x1800071ae
movsx rax, byte [r9 + r11]
imul rcx, r9, 0xf
add rcx, rax
movsxd rax, dword [r13 + rcx*4 + 0xa4]
imul rdx, rax, 0xf8
imul rcx, r8, 0xf
mov rax, qword [rbp + 0x38]
movsxd rax, dword [rax]
add rcx, rax
movsxd rax, dword [r13 + rcx*4 + 0xa4]
imul rcx, rax, 0xf8
mov eax, dword [rcx + r10 + 0x48034]
cmp dword [rdx + r10 + 0x48034], eax
jne 0x1800071ae
mov ecx, 0x121
mov eax, ecx
sub eax, 0x121
je 0x18000715c
cmp eax, 0x21
jne 0x180007165
mov eax, dword [r11 + r9*4 + 4]
mov rdx, qword [rbp - 0x40]
mov dword [rdx + r12*4], eax
movsx eax, byte [r9 + r11]
mov dword [rbp - 0x5c], eax
jmp 0x180007165
mov rax, qword [rbp - 0x70]
mov byte [rax + r12], 1
add ecx, 0x21
cmp ecx, 0x163
jb 0x180007137
jmp 0x1800071ae
mov rax, qword [rbp - 0x50]
lea r8, [rbp + 0xa8]
mov rcx, qword [rbp - 0x80]
lea rdx, [rbp + 0xb0]
mov edi, 1
mov dword [rbp + 0xb0], esi
mov r9d, 5
mov dword [rbp + 0xa8], r14d
sub edi, dword [rax]
call fcn.180030890
mov qword [rbp + 0xf0], rax
inc ebx
cmp ebx, 0xb1
jb 0x180007010
mov dword [rbp + 0x88], edi
mov r10, qword [rbp - 0x80]
inc r15
cmp r15, 3
jl 0x180006f20
jmp 0x180006581
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
dec eax
mov dword [rbp + 0x138], eax
mov rax, qword [rbp - 0x70]
mov byte [rax + r15], 0
jmp case.default.0x1800061da
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
dec eax
mov dword [rbp + 0x134], eax
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
dec eax
mov dword [rbp + 0x128], eax
jmp case.default.0x1800061da
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
dec eax
mov dword [rbp + 0x130], eax
lea eax, [rcx - 1]
mov dword [rbp + 0x124], eax
jmp case.default.0x1800061da