Function at 0x1800a8190
Capabilities:
Encrypt data using camellia

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x180150340]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r15d, r8d
lea rsi, [rcx + 4]
xorps xmm0, xmm0
mov dword [rsp + 0x58], r15d
mov rdi, rdx
mov rbx, rcx
mov rcx, rsi
xor edx, edx
mov r8d, 0x110
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
call fcn.1800f9820
mov eax, r15d
sub eax, 0x80
je 0x1800a8473
sub eax, 0x40
je 0x1800a8211
cmp eax, 0x40
je 0x1800a8211
mov eax, 0xffffffdc
jmp 0x1800a981a
lea r9, [0x18010f426]
mov qword [rbp - 0x38], 0xb0
mov qword [rbp - 0x20], r9
lea rax, [0x18010f361]
mov qword [rsp + 0x50], rax
lea r9, [0x18010f427]
mov qword [rbp - 0x10], r9
lea rax, [0x18010f362]
mov qword [rsp + 0x48], rax
lea r9, [0x18010f428]
mov qword [rbp], r9
lea rax, [0x18010f363]
mov qword [rsp + 0x40], rax
lea r9, [0x18010f429]
mov qword [rbp + 0x10], r9
lea rax, [0x18010f364]
mov qword [rsp + 0x60], rax
lea r9, [0x18010f42a]
mov qword [rbp + 0x20], r9
lea rax, [0x18010f365]
mov qword [rsp + 0x68], rax
lea r9, [0x18010f42b]
mov qword [rbp + 0x30], r9
lea rax, [0x18010f366]
mov qword [rsp + 0x70], rax
lea r9, [0x18010f42c]
mov qword [rbp + 0x40], r9
lea rax, [0x18010f367]
mov qword [rsp + 0x78], rax
lea r9, [0x18010f42d]
mov qword [rbp + 0x50], r9
lea rax, [0x18010f368]
mov qword [rbp - 0x80], rax
lea r9, [0x18010f42e]
mov qword [rbp + 0x60], r9
lea rax, [0x18010f369]
mov qword [rbp - 0x78], rax
lea r9, [0x18010f42f]
mov qword [rbp + 0x70], r9
lea rax, [0x18010f36a]
mov qword [rbp - 0x70], rax
lea r9, [0x18010f430]
mov qword [rbp + 0x80], r9
lea rax, [0x18010f36b]
mov qword [rbp - 0x68], rax
lea r9, [0x18010f431]
mov qword [rbp + 0x90], r9
lea rax, [0x18010f36c]
mov qword [rbp - 0x60], rax
lea r9, [0x18010f432]
mov qword [rbp + 0xa0], r9
lea rax, [0x18010f36d]
lea r9, [0x18010f433]
mov qword [rbp - 0x58], rax
mov qword [rbp + 0xb0], r9
lea r10, [0x18010f435]
lea r9, [0x18010f434]
mov qword [rbp + 0xd0], r10
lea rdx, [0x18010f424]
mov qword [rbp + 0xc0], r9
lea rax, [0x18010f36e]
mov qword [rbp - 0x40], rdx
mov ecx, 4
mov qword [rbp - 0x50], rax
lea r9, [0x18010f437]
mov qword [rbp - 0x28], 0xb4
lea r10, [0x18010f436]
mov qword [rbp + 0xf0], r9
lea rdx, [0x18010f425]
mov qword [rbp + 0xe0], r10
lea r14d, [rcx + 0x4c]
mov qword [rbp - 0x30], rdx
lea rax, [0x18010f36f]
mov qword [rbp - 0x18], 0xb8
mov qword [rbp - 8], 0xbc
mov qword [rbp + 8], 0xc0
mov qword [rbp + 0x18], 0xc4
mov qword [rbp + 0x28], 0xc8
mov qword [rbp + 0x38], 0xcc
mov qword [rbp + 0x48], 0xd0
mov qword [rbp + 0x58], 0xd4
mov qword [rbp + 0x68], 0xd8
mov qword [rbp + 0x78], 0xdc
mov qword [rbp + 0x88], 0xe0
mov qword [rbp + 0x98], 0xe4
mov qword [rbp + 0xa8], 0xe8
mov qword [rbp + 0xb8], 0xec
mov qword [rbp + 0xc8], 0xf0
mov qword [rbp + 0xd8], 0xf4
mov qword [rbp + 0xe8], 0xf8
mov qword [rbp + 0xf8], 0xfc
jmp 0x1800a86cf
lea rax, [0x18010f412]
mov qword [rbp - 0x38], 0x80
mov qword [rbp - 0x20], rax
mov ecx, 3
lea rax, [0x18010f413]
mov qword [rbp - 0x28], 0x84
mov qword [rbp - 0x10], rax
xor r14d, r14d
lea rax, [0x18010f414]
mov qword [rbp - 0x18], 0x88
mov qword [rbp], rax
lea rax, [0x18010f415]
mov qword [rbp + 0x10], rax
lea rax, [0x18010f416]
mov qword [rbp + 0x20], rax
lea rax, [0x18010f417]
mov qword [rbp + 0x30], rax
lea rax, [0x18010f418]
mov qword [rbp + 0x40], rax
lea rax, [0x18010f419]
mov qword [rbp + 0x50], rax
lea rax, [0x18010f41a]
mov qword [rbp + 0x60], rax
lea rax, [0x18010f41b]
mov qword [rbp + 0x70], rax
lea rax, str._v_b_t_n
mov qword [rbp + 0x80], rax
lea rax, [0x18010f41d]
mov qword [rbp + 0x90], rax
lea rax, [0x18010f41e]
mov qword [rbp + 0xa0], rax
lea rax, [0x18010f41f]
mov qword [rbp + 0xb0], rax
lea rax, [0x18010f420]
mov qword [rbp + 0xc0], rax
lea rax, [0x18010f421]
mov qword [rbp + 0xd0], rax
lea rax, [0x18010f422]
mov qword [rbp + 0xe0], rax
lea rax, [0x18010f410]
mov qword [rbp - 0x40], rax
lea rax, [0x18010f423]
mov qword [rbp + 0xf0], rax
lea rax, [0x18010f411]
mov qword [rbp - 0x30], rax
lea rax, [0x18010f351]
mov qword [rsp + 0x50], rax
lea rax, [0x18010f352]
mov qword [rsp + 0x48], rax
lea rax, [0x18010f353]
mov qword [rsp + 0x40], rax
lea rax, [0x18010f354]
mov qword [rsp + 0x60], rax
lea rax, [0x18010f355]
mov qword [rsp + 0x68], rax
lea rax, [0x18010f356]
mov qword [rsp + 0x70], rax
lea rax, [0x18010f357]
mov qword [rsp + 0x78], rax
lea rax, [0x18010f358]
mov qword [rbp - 0x80], rax
lea rax, [0x18010f359]
mov qword [rbp - 0x78], rax
lea rax, [0x18010f35a]
mov qword [rbp - 0x70], rax
lea rax, [0x18010f35b]
mov qword [rbp - 0x68], rax
lea rax, [0x18010f35c]
mov qword [rbp - 0x60], rax
lea rax, [0x18010f35d]
mov qword [rbp - 0x58], rax
lea rax, [0x18010f35e]
mov qword [rbp - 0x50], rax
lea rax, [0x18010f35f]
mov qword [rbp - 8], 0x8c
mov qword [rbp + 8], __WSAFDIsSet
mov qword [rbp + 0x18], __WSAFDIsSet
mov qword [rbp + 0x28], 0x98
mov qword [rbp + 0x38], 0x9c
mov qword [rbp + 0x48], 0xa0
mov qword [rbp + 0x58], 0xa4
mov qword [rbp + 0x68], 0xa8
mov qword [rbp + 0x78], 0xac
mov qword [rbp + 0x88], 0xb0
mov qword [rbp + 0x98], 0xb4
mov qword [rbp + 0xa8], 0xb8
mov qword [rbp + 0xb8], 0xbc
mov qword [rbp + 0xc8], 0xc0
mov qword [rbp + 0xd8], 0xc4
mov qword [rbp + 0xe8], 0xc8
mov qword [rbp + 0xf8], 0xcc
mov qword [rsp + 0x308], r12
mov r8, r15
shr r8, 3
mov qword [rsp + 0x310], r13
mov qword [rbp - 0x48], rax
mov dword [rbx], ecx
test r8, r8
je 0x1800a8700
mov rdx, rdi
lea rcx, [rbp + 0x180]
call fcn.1800f9180
movzx edx, byte [rbp + 0x197]
movzx r8d, byte [rbp + 0x194]
movzx r9d, byte [rbp + 0x190]
cmp r15d, 0xc0
jne 0x1800a8780
movzx r15d, byte [rbp + 0x191]
movzx eax, r8b
movzx r12d, byte [rbp + 0x192]
not al
movzx r13d, byte [rbp + 0x193]
movzx ecx, r9b
mov byte [rsp + 0x3b], al
not cl
movzx eax, byte [rbp + 0x195]
not r15b
not al
not r12b
mov byte [rsp + 0x38], al
not r13b
movzx eax, byte [rbp + 0x196]
not al
mov byte [rsp + 0x39], al
movzx eax, dl
not al
mov byte [rsp + 0x3a], al
jmp 0x1800a87cb
movzx eax, byte [rbp + 0x19f]
movzx r13d, byte [rbp + 0x19b]
movzx r12d, byte [rbp + 0x19a]
movzx r15d, byte [rbp + 0x199]
movzx ecx, byte [rbp + 0x198]
mov byte [rsp + 0x3a], al
movzx eax, byte [rbp + 0x19e]
mov byte [rsp + 0x39], al
movzx eax, byte [rbp + 0x19d]
mov byte [rsp + 0x38], al
movzx eax, byte [rbp + 0x19c]
mov byte [rsp + 0x3b], al
movzx eax, byte [rbp + 0x181]
xorps xmm0, xmm0
movzx edi, byte [rbp + 0x180]
movzx ebx, byte [rbp + 0x184]
movzx r11d, byte [rbp + 0x188]
movzx r10d, byte [rbp + 0x18c]
shl edi, 8
or edi, eax
shl ebx, 8
movzx eax, byte [rbp + 0x182]
shl r11d, 8
shl r10d, 8
shl r9d, 8
shl edi, 8
or edi, eax
shl r8d, 8
movzx eax, byte [rbp + 0x183]
movups xmmword [rbp + 0x100], xmm0
shl edi, 8
or edi, eax
mov dword [rbp + 0x150], 0xa09e667f
movzx eax, byte [rbp + 0x185]
or ebx, eax
mov dword [rbp + 0x154], 0x3bcc908b
movzx eax, byte [rbp + 0x186]
shl ebx, 8
or ebx, eax
mov dword [rbp + 0x158], 0xb67ae858
movzx eax, byte [rbp + 0x187]
shl ebx, 8
or ebx, eax
mov dword [rbp + 0x15c], 0x4caa73b2
movzx eax, byte [rbp + 0x189]
or r11d, eax
mov dword [rbp + 0x160], 0xc6ef372f
movzx eax, byte [rbp + 0x18a]
shl r11d, 8
or r11d, eax
mov dword [rbp + 0x164], 0xe94f82be
movzx eax, byte [rbp + 0x18b]
shl r11d, 8
or r11d, eax
mov dword [rbp + 0x168], 0x54ff53a5
movzx eax, byte [rbp + 0x18d]
or r10d, eax
mov dword [rbp + 0x16c], 0xf1d36f1c
movzx eax, byte [rbp + 0x18e]
shl r10d, 8
or r10d, eax
mov dword [rbp + 0x170], 0x10e527fa
movzx eax, byte [rbp + 0x18f]
shl r10d, 8
or r10d, eax
mov dword [rbp + 0x174], 0xde682d1d
movzx eax, byte [rbp + 0x191]
or r9d, eax
mov dword [rbp + 0x178], 0xb05688c2
movzx eax, byte [rbp + 0x192]
shl r9d, 8
or r9d, eax
mov dword [rbp + 0x17c], 0xb3e6c1fd
movzx eax, byte [rbp + 0x193]
shl r9d, 8
or r9d, eax
mov dword [rbp + 0x100], edi
movzx eax, byte [rbp + 0x195]
or r8d, eax
mov dword [rbp + 0x104], ebx
movzx eax, byte [rbp + 0x196]
shl r8d, 8
or r8d, eax
mov dword [rbp + 0x108], r11d
movups xmmword [rbp + 0x110], xmm0
shl r8d, 8
or r8d, edx
mov dword [rbp + 0x10c], r10d
mov dword [rbp + 0x114], r8d
movups xmmword [rbp + 0x120], xmm0
mov dword [rbp + 0x110], r9d
movups xmmword [rbp + 0x130], xmm0
movzx edx, cl
movzx ecx, byte [rsp + 0x3b]
xor r8d, ebx
shl edx, 8
xor r9d, edi
shl ecx, 8
movzx eax, r15b
or edx, eax
mov dword [rbp + 0x124], r8d
shl edx, 8
lea r8, [rbp + 0x128]
movzx eax, r12b
or edx, eax
mov dword [rbp + 0x120], r9d
shl edx, 8
movzx eax, r13b
or edx, eax
movzx eax, byte [rsp + 0x38]
or ecx, eax
mov dword [rbp + 0x118], edx
movzx eax, byte [rsp + 0x39]
xor edx, r11d
shl ecx, 8
or ecx, eax
mov dword [rbp + 0x128], edx
movzx eax, byte [rsp + 0x3a]
lea rdx, [rbp + 0x150]
shl ecx, 8
or ecx, eax
mov dword [rbp + 0x11c], ecx
xor ecx, r10d
mov dword [rbp + 0x12c], ecx
lea rcx, [rbp + 0x120]
call fcn.1800a74b0
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0x128]
call fcn.1800a74b0
movdqu xmm0, xmmword [rbp + 0x100]
lea r8, [rbp + 0x128]
xorps xmm0, xmmword [rbp + 0x120]
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x120]
movdqu xmmword [rbp + 0x120], xmm0
call fcn.1800a74b0
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x128]
call fcn.1800a74b0
cmp dword [rsp + 0x58], 0x80
jbe 0x1800a8b10
mov eax, dword [rbp + 0x120]
lea r8, [rbp + 0x138]
xor eax, dword [rbp + 0x110]
lea rdx, [rbp + 0x170]
mov dword [rbp + 0x130], eax
lea rcx, [rbp + 0x130]
mov eax, dword [rbp + 0x124]
xor eax, dword [rbp + 0x114]
mov dword [rbp + 0x134], eax
mov eax, dword [rbp + 0x128]
xor eax, dword [rbp + 0x118]
mov dword [rbp + 0x138], eax
mov eax, dword [rbp + 0x12c]
xor eax, dword [rbp + 0x11c]
mov dword [rbp + 0x13c], eax
call fcn.1800a74b0
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0x138]
call fcn.1800a74b0
nop dword [rax]
mov rdi, qword [rsp + 0x50]
mov r9d, dword [rbp + 0x10c]
mov r8d, dword [rbp + 0x108]
mov edx, dword [rbp + 0x104]
cmp byte [rdi - 1], 0
mov ecx, dword [rbp + 0x100]
je 0x1800a8b72
mov r10d, edx
mov eax, ecx
shl eax, 0xf
mov r11d, r8d
shr r10d, 0x11
mov ebx, r9d
xor r10d, eax
shr r11d, 0x11
shr ebx, 0x11
mov eax, edx
shl eax, 0xf
mov r12d, r9d
xor r11d, eax
shl r12d, 0xf
mov eax, r8d
shl eax, 0xf
xor ebx, eax
mov eax, ecx
shr eax, 0x11
xor r12d, eax
jmp 0x1800a8b8d
mov r12d, dword [rbp + 0x11c]
mov ebx, dword [rbp + 0x118]
mov r11d, dword [rbp + 0x114]
mov r10d, dword [rbp + 0x110]
cmp byte [rdi], 0
je 0x1800a8bd8
mov edi, edx
mov eax, ecx
shl eax, 0x1e
mov r15d, r8d
shr edi, 2
mov r13d, r9d
xor edi, eax
shr r13d, 2
shr r15d, 2
mov eax, edx
shl eax, 0x1e
xor r15d, eax
mov eax, r8d
shl eax, 0x1e
xor r13d, eax
mov eax, ecx
mov dword [rsp + 0x34], r13d
mov r13d, r9d
shl r13d, 0x1e
shr eax, 2
xor r13d, eax
mov dword [rsp + 0x50], r13d
jmp 0x1800a8bf9
mov eax, dword [rbp + 0x12c]
mov r15d, dword [rbp + 0x124]
mov edi, dword [rbp + 0x120]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x128]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
je 0x1800a8c4e
mov r13d, edx
mov eax, ecx
shl eax, 0xd
shr r13d, 0x13
xor r13d, eax
mov eax, r8d
shr eax, 0x13
mov dword [rsp + 0x24], eax
mov eax, edx
shl eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, r9d
shr eax, 0x13
mov dword [rsp + 0x28], eax
mov eax, r8d
shl eax, 0xd
xor dword [rsp + 0x28], eax
mov eax, r9d
shl eax, 0xd
mov dword [rsp + 0x2c], eax
mov eax, ecx
shr eax, 0x13
xor dword [rsp + 0x2c], eax
jmp 0x1800a8c73
mov eax, dword [rbp + 0x13c]
mov r13d, dword [rbp + 0x130]
mov dword [rsp + 0x2c], eax
mov eax, dword [rbp + 0x138]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x134]
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
je 0x1800a8ccb
mov eax, edx
shr eax, 4
mov dword [rsp + 0x30], eax
mov eax, ecx
shl eax, 0x1c
xor dword [rsp + 0x30], eax
mov eax, r8d
shr eax, 4
mov dword [rsp + 0x20], eax
mov eax, edx
shl eax, 0x1c
xor dword [rsp + 0x20], eax
mov eax, r9d
shr eax, 4
mov dword [rsp + 0x40], eax
mov eax, r8d
shl eax, 0x1c
xor dword [rsp + 0x40], eax
mov eax, r9d
shl eax, 0x1c
mov dword [rsp + 0x48], eax
mov eax, ecx
shr eax, 4
xor dword [rsp + 0x48], eax
jmp 0x1800a8cf3
mov eax, dword [rbp + 0x14c]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x148]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0x144]
mov dword [rsp + 0x20], eax
mov eax, dword [rbp + 0x140]
mov dword [rsp + 0x30], eax
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax]
cmp al, 0xff
je 0x1800a8d06
mov dword [rsi + rax*4], ecx
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 1]
cmp al, 0xff
je 0x1800a8d1a
mov dword [rsi + rax*4], edx
lea rdx, [0x18010f370]
movsx rax, byte [r14 + rdx + 2]
cmp al, 0xff
je 0x1800a8d2f
mov dword [rsi + rax*4], r8d
movsx rax, byte [r14 + rdx + 3]
cmp al, 0xff
je 0x1800a8d3d
mov dword [rsi + rax*4], r9d
movsx rax, byte [r14 + rdx + 4]
cmp al, 0xff
je 0x1800a8d4b
mov dword [rsi + rax*4], r10d
movsx rax, byte [r14 + rdx + 5]
cmp al, 0xff
je 0x1800a8d59
mov dword [rsi + rax*4], r11d
movsx rax, byte [r14 + rdx + 6]
cmp al, 0xff
je 0x1800a8d66
mov dword [rsi + rax*4], ebx
movsx rax, byte [r14 + rdx + 7]
cmp al, 0xff
je 0x1800a8d74
mov dword [rsi + rax*4], r12d
movsx rax, byte [r14 + rdx + 8]
cmp al, 0xff
je 0x1800a8d81
mov dword [rsi + rax*4], edi
movsx rax, byte [r14 + rdx + 9]
cmp al, 0xff
je 0x1800a8d8f
mov dword [rsi + rax*4], r15d
movsx rax, byte [r14 + rdx + 0xa]
cmp al, 0xff
je 0x1800a8da0
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0xb]
cmp al, 0xff
je 0x1800a8db1
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0xc]
cmp al, 0xff
je 0x1800a8dbf
mov dword [rsi + rax*4], r13d
movsx rax, byte [r14 + rdx + 0xd]
cmp al, 0xff
je 0x1800a8dd0
mov ecx, dword [rsp + 0x24]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0xe]
cmp al, 0xff
je 0x1800a8de1
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0xf]
cmp al, 0xff
je 0x1800a8df2
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x10]
cmp al, 0xff
je 0x1800a8e03
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x11]
cmp al, 0xff
je 0x1800a8e14
mov ecx, dword [rsp + 0x20]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x12]
cmp al, 0xff
je 0x1800a8e25
mov ecx, dword [rsp + 0x40]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x13]
cmp al, 0xff
je 0x1800a8e36
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
cmp dword [rsp + 0x58], 0x80
jbe 0x1800a90e0
mov rax, qword [rsp + 0x60]
mov r9d, dword [rbp + 0x11c]
mov r8d, dword [rbp + 0x118]
mov edx, dword [rbp + 0x114]
cmp byte [rax], 0
mov ecx, dword [rbp + 0x110]
je 0x1800a8ea3
mov r10d, edx
mov eax, ecx
shl eax, 0xf
mov r11d, r8d
shr r10d, 0x11
mov ebx, r9d
xor r10d, eax
shr r11d, 0x11
shr ebx, 0x11
mov eax, edx
shl eax, 0xf
mov r12d, r9d
xor r11d, eax
shl r12d, 0xf
mov eax, r8d
shl eax, 0xf
xor ebx, eax
mov eax, ecx
shr eax, 0x11
xor r12d, eax
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
je 0x1800a8ef0
mov edi, ecx
mov eax, edx
shr eax, 2
mov r15d, edx
shl edi, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, r8d
shr eax, 2
xor r15d, eax
mov eax, r8d
shl eax, 0x1e
mov dword [rsp + 0x34], eax
mov eax, r9d
shr eax, 2
xor dword [rsp + 0x34], eax
mov eax, r9d
shl eax, 0x1e
mov dword [rsp + 0x50], eax
mov eax, ecx
shr eax, 2
xor dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
je 0x1800a8f43
mov r13d, edx
mov eax, ecx
shl eax, 0xd
shr r13d, 0x13
xor r13d, eax
mov eax, r8d
shr eax, 0x13
mov dword [rsp + 0x24], eax
mov eax, edx
shl eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, r9d
shr eax, 0x13
mov dword [rsp + 0x28], eax
mov eax, r8d
shl eax, 0xd
xor dword [rsp + 0x28], eax
mov eax, r9d
shl eax, 0xd
mov dword [rsp + 0x2c], eax
mov eax, ecx
shr eax, 0x13
xor dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x1800a8f99
mov eax, ecx
shl eax, 0x1c
mov dword [rsp + 0x30], eax
mov eax, edx
shr eax, 4
xor dword [rsp + 0x30], eax
mov eax, edx
shl eax, 0x1c
mov dword [rsp + 0x20], eax
mov eax, r8d
shr eax, 4
xor dword [rsp + 0x20], eax
mov eax, r8d
shl eax, 0x1c
mov dword [rsp + 0x40], eax
mov eax, r9d
shr eax, 4
xor dword [rsp + 0x40], eax
mov eax, r9d
shl eax, 0x1c
mov dword [rsp + 0x48], eax
mov eax, ecx
shr eax, 4
xor dword [rsp + 0x48], eax
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 0x14]
cmp al, 0xff
je 0x1800a8fad
mov dword [rsi + rax*4], ecx
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 0x15]
cmp al, 0xff
je 0x1800a8fc1
mov dword [rsi + rax*4], edx
lea rdx, [0x18010f370]
movsx rax, byte [r14 + rdx + 0x16]
cmp al, 0xff
je 0x1800a8fd6
mov dword [rsi + rax*4], r8d
movsx rax, byte [r14 + rdx + 0x17]
cmp al, 0xff
je 0x1800a8fe4
mov dword [rsi + rax*4], r9d
movsx rax, byte [r14 + rdx + 0x18]
cmp al, 0xff
je 0x1800a8ff2
mov dword [rsi + rax*4], r10d
movsx rax, byte [r14 + rdx + 0x19]
cmp al, 0xff
je 0x1800a9000
mov dword [rsi + rax*4], r11d
movsx rax, byte [r14 + rdx + 0x1a]
cmp al, 0xff
je 0x1800a900d
mov dword [rsi + rax*4], ebx
movsx rax, byte [r14 + rdx + 0x1b]
cmp al, 0xff
je 0x1800a901b
mov dword [rsi + rax*4], r12d
movsx rax, byte [r14 + rdx + 0x1c]
cmp al, 0xff
je 0x1800a9028
mov dword [rsi + rax*4], edi
movsx rax, byte [r14 + rdx + 0x1d]
cmp al, 0xff
je 0x1800a9036
mov dword [rsi + rax*4], r15d
movsx rax, byte [r14 + rdx + 0x1e]
cmp al, 0xff
je 0x1800a9047
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x1f]
cmp al, 0xff
je 0x1800a9058
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x20]
cmp al, 0xff
je 0x1800a9066
mov dword [rsi + rax*4], r13d
movsx rax, byte [r14 + rdx + 0x21]
cmp al, 0xff
je 0x1800a9077
mov ecx, dword [rsp + 0x24]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x22]
cmp al, 0xff
je 0x1800a9088
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x23]
cmp al, 0xff
je 0x1800a9099
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x24]
cmp al, 0xff
je 0x1800a90aa
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x25]
cmp al, 0xff
je 0x1800a90bb
mov ecx, dword [rsp + 0x20]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x26]
cmp al, 0xff
je 0x1800a90cc
mov ecx, dword [rsp + 0x40]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x27]
cmp al, 0xff
je 0x1800a90e0
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
nop dword [rax]
mov rax, qword [rbp - 0x80]
mov r9d, dword [rbp + 0x12c]
mov r8d, dword [rbp + 0x128]
mov edx, dword [rbp + 0x124]
cmp byte [rax], 0
mov ecx, dword [rbp + 0x120]
je 0x1800a913e
mov r10d, edx
mov eax, ecx
shl eax, 0xf
mov r11d, r8d
shr r10d, 0x11
mov ebx, r9d
xor r10d, eax
shr r11d, 0x11
shr ebx, 0x11
mov eax, edx
shl eax, 0xf
mov r12d, r9d
xor r11d, eax
shl r12d, 0xf
mov eax, r8d
shl eax, 0xf
xor ebx, eax
mov eax, ecx
shr eax, 0x11
xor r12d, eax
mov rax, qword [rbp - 0x78]
cmp byte [rax], 0
je 0x1800a918a
mov edi, ecx
mov eax, edx
shr eax, 2
mov r15d, edx
shl edi, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, r8d
shr eax, 2
xor r15d, eax
mov eax, r8d
shl eax, 0x1e
mov dword [rsp + 0x34], eax
mov eax, r9d
shr eax, 2
xor dword [rsp + 0x34], eax
mov eax, r9d
shl eax, 0x1e
mov dword [rsp + 0x50], eax
mov eax, ecx
shr eax, 2
xor dword [rsp + 0x50], eax
mov rax, qword [rbp - 0x70]
cmp byte [rax], 0
je 0x1800a91dc
mov r13d, edx
mov eax, ecx
shl eax, 0xd
shr r13d, 0x13
xor r13d, eax
mov eax, r8d
shr eax, 0x13
mov dword [rsp + 0x24], eax
mov eax, edx
shl eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, r9d
shr eax, 0x13
mov dword [rsp + 0x28], eax
mov eax, r8d
shl eax, 0xd
xor dword [rsp + 0x28], eax
mov eax, r9d
shl eax, 0xd
mov dword [rsp + 0x2c], eax
mov eax, ecx
shr eax, 0x13
xor dword [rsp + 0x2c], eax
mov rax, qword [rbp - 0x68]
cmp byte [rax], 0
je 0x1800a9231
mov eax, ecx
shl eax, 0x1c
mov dword [rsp + 0x30], eax
mov eax, edx
shr eax, 4
xor dword [rsp + 0x30], eax
mov eax, edx
shl eax, 0x1c
mov dword [rsp + 0x20], eax
mov eax, r8d
shr eax, 4
xor dword [rsp + 0x20], eax
mov eax, r8d
shl eax, 0x1c
mov dword [rsp + 0x40], eax
mov eax, r9d
shr eax, 4
xor dword [rsp + 0x40], eax
mov eax, r9d
shl eax, 0x1c
mov dword [rsp + 0x48], eax
mov eax, ecx
shr eax, 4
xor dword [rsp + 0x48], eax
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 0x28]
cmp al, 0xff
je 0x1800a9245
mov dword [rsi + rax*4], ecx
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 0x29]
cmp al, 0xff
je 0x1800a9259
mov dword [rsi + rax*4], edx
lea rdx, [0x18010f370]
movsx rax, byte [r14 + rdx + 0x2a]
cmp al, 0xff
je 0x1800a926e
mov dword [rsi + rax*4], r8d
movsx rax, byte [r14 + rdx + 0x2b]
cmp al, 0xff
je 0x1800a927c
mov dword [rsi + rax*4], r9d
movsx rax, byte [r14 + rdx + 0x2c]
cmp al, 0xff
je 0x1800a928a
mov dword [rsi + rax*4], r10d
movsx rax, byte [r14 + rdx + 0x2d]
cmp al, 0xff
je 0x1800a9298
mov dword [rsi + rax*4], r11d
movsx rax, byte [r14 + rdx + 0x2e]
cmp al, 0xff
je 0x1800a92a5
mov dword [rsi + rax*4], ebx
movsx rax, byte [r14 + rdx + 0x2f]
cmp al, 0xff
je 0x1800a92b3
mov dword [rsi + rax*4], r12d
movsx rax, byte [r14 + rdx + 0x30]
cmp al, 0xff
je 0x1800a92c0
mov dword [rsi + rax*4], edi
movsx rax, byte [r14 + rdx + 0x31]
cmp al, 0xff
je 0x1800a92ce
mov dword [rsi + rax*4], r15d
movsx rax, byte [r14 + rdx + 0x32]
cmp al, 0xff
je 0x1800a92df
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x33]
cmp al, 0xff
je 0x1800a92f0
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x34]
cmp al, 0xff
je 0x1800a92fe
mov dword [rsi + rax*4], r13d
movsx rax, byte [r14 + rdx + 0x35]
cmp al, 0xff
je 0x1800a930f
mov ecx, dword [rsp + 0x24]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x36]
cmp al, 0xff
je 0x1800a9320
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x37]
cmp al, 0xff
je 0x1800a9331
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x38]
cmp al, 0xff
je 0x1800a9342
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x39]
cmp al, 0xff
je 0x1800a9353
mov ecx, dword [rsp + 0x20]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x3a]
cmp al, 0xff
je 0x1800a9364
mov ecx, dword [rsp + 0x40]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x3b]
cmp al, 0xff
je 0x1800a9375
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
cmp dword [rsp + 0x58], 0x80
jbe 0x1800a9620
mov rax, qword [rbp - 0x60]
mov r9d, dword [rbp + 0x13c]
mov r8d, dword [rbp + 0x138]
mov edx, dword [rbp + 0x134]
cmp byte [rax], 0
mov ecx, dword [rbp + 0x130]
je 0x1800a93e1
mov r10d, edx
mov eax, ecx
shl eax, 0xf
mov r11d, r8d
shr r10d, 0x11
mov ebx, r9d
xor r10d, eax
shr r11d, 0x11
shr ebx, 0x11
mov eax, edx
shl eax, 0xf
mov r12d, r9d
xor r11d, eax
shl r12d, 0xf
mov eax, r8d
shl eax, 0xf
xor ebx, eax
mov eax, ecx
shr eax, 0x11
xor r12d, eax
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0
je 0x1800a942d
mov edi, ecx
mov eax, edx
shr eax, 2
mov r15d, edx
shl edi, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, r8d
shr eax, 2
xor r15d, eax
mov eax, r8d
shl eax, 0x1e
mov dword [rsp + 0x34], eax
mov eax, r9d
shr eax, 2
xor dword [rsp + 0x34], eax
mov eax, r9d
shl eax, 0x1e
mov dword [rsp + 0x50], eax
mov eax, ecx
shr eax, 2
xor dword [rsp + 0x50], eax
mov rax, qword [rbp - 0x50]
cmp byte [rax], 0
je 0x1800a947f
mov r13d, edx
mov eax, ecx
shl eax, 0xd
shr r13d, 0x13
xor r13d, eax
mov eax, r8d
shr eax, 0x13
mov dword [rsp + 0x24], eax
mov eax, edx
shl eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, r9d
shr eax, 0x13
mov dword [rsp + 0x28], eax
mov eax, r8d
shl eax, 0xd
xor dword [rsp + 0x28], eax
mov eax, r9d
shl eax, 0xd
mov dword [rsp + 0x2c], eax
mov eax, ecx
shr eax, 0x13
xor dword [rsp + 0x2c], eax
mov rax, qword [rbp - 0x48]
cmp byte [rax], 0
je 0x1800a94d4
mov eax, ecx
shl eax, 0x1c
mov dword [rsp + 0x30], eax
mov eax, edx
shr eax, 4
xor dword [rsp + 0x30], eax
mov eax, edx
shl eax, 0x1c
mov dword [rsp + 0x20], eax
mov eax, r8d
shr eax, 4
xor dword [rsp + 0x20], eax
mov eax, r8d
shl eax, 0x1c
mov dword [rsp + 0x40], eax
mov eax, r9d
shr eax, 4
xor dword [rsp + 0x40], eax
mov eax, r9d
shl eax, 0x1c
mov dword [rsp + 0x48], eax
mov eax, ecx
shr eax, 4
xor dword [rsp + 0x48], eax
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 0x3c]
cmp al, 0xff
je 0x1800a94e8
mov dword [rsi + rax*4], ecx
lea rax, [0x18010f370]
movsx rax, byte [r14 + rax + 0x3d]
cmp al, 0xff
je 0x1800a94fc
mov dword [rsi + rax*4], edx
lea rdx, [0x18010f370]
movsx rax, byte [r14 + rdx + 0x3e]
cmp al, 0xff
je 0x1800a9511
mov dword [rsi + rax*4], r8d
movsx rax, byte [r14 + rdx + 0x3f]
cmp al, 0xff
je 0x1800a951f
mov dword [rsi + rax*4], r9d
movsx rax, byte [r14 + rdx + 0x40]
cmp al, 0xff
je 0x1800a952d
mov dword [rsi + rax*4], r10d
movsx rax, byte [r14 + rdx + 0x41]
cmp al, 0xff
je 0x1800a953b
mov dword [rsi + rax*4], r11d
movsx rax, byte [r14 + rdx + 0x42]
cmp al, 0xff
je 0x1800a9548
mov dword [rsi + rax*4], ebx
movsx rax, byte [r14 + rdx + 0x43]
cmp al, 0xff
je 0x1800a9556
mov dword [rsi + rax*4], r12d
movsx rax, byte [r14 + rdx + 0x44]
cmp al, 0xff
je 0x1800a9563
mov dword [rsi + rax*4], edi
movsx rax, byte [r14 + rdx + 0x45]
cmp al, 0xff
je 0x1800a9571
mov dword [rsi + rax*4], r15d
movsx rax, byte [r14 + rdx + 0x46]
cmp al, 0xff
je 0x1800a9582
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x47]
cmp al, 0xff
je 0x1800a9593
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x48]
cmp al, 0xff
je 0x1800a95a1
mov dword [rsi + rax*4], r13d
movsx rax, byte [r14 + rdx + 0x49]
cmp al, 0xff
je 0x1800a95b2
mov ecx, dword [rsp + 0x24]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x4a]
cmp al, 0xff
je 0x1800a95c3
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x4b]
cmp al, 0xff
je 0x1800a95d4
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x4c]
cmp al, 0xff
je 0x1800a95e5
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x4d]
cmp al, 0xff
je 0x1800a95f6
mov ecx, dword [rsp + 0x20]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x4e]
cmp al, 0xff
je 0x1800a9607
mov ecx, dword [rsp + 0x40]
mov dword [rsi + rax*4], ecx
movsx rax, byte [r14 + rdx + 0x4f]
cmp al, 0xff
je 0x1800a9620
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
nop dword [rax + rax]
mov rax, qword [rbp - 0x40]
mov r13, qword [rsp + 0x310]
mov r12, qword [rsp + 0x308]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9646
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp - 0x38]
mov dword [rax + rsi], ecx
mov rax, qword [rbp - 0x30]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a965c
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp - 0x28]
mov dword [rax + rsi], ecx
mov rax, qword [rbp - 0x20]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9672
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp - 0x18]
mov dword [rax + rsi], ecx
mov rax, qword [rbp - 0x10]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9688
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp - 8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a969e
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x10]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a96b4
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x18]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x20]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a96ca
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x28]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x30]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a96e0
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x38]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x40]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a96f6
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x48]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x50]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a970c
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x58]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x60]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9722
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x68]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x70]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9738
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x78]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x80]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9754
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x88]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0x90]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9770
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x98]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0xa0]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a978c
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0xa8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0xb0]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a97a8
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0xb8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0xc0]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a97c4
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0xc8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0xd0]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a97e0
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0xd8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0xe0]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a97fc
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0xe8]
mov dword [rax + rsi], ecx
mov rax, qword [rbp + 0xf0]
movsx rax, byte [rax]
cmp al, 0xff
je 0x1800a9818
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0xf8]
mov dword [rax + rsi], ecx
xor eax, eax
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1800d0660
mov rbx, qword [rsp + 0x318]
add rsp, 0x2d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret