Function at 0x18006c2a0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1370]
mov eax, 0x1470
call fcn.180110040
sub rsp, rax
movaps xmmword [rsp + 0x1460], xmm6
mov rax, qword [0x180183308]
xor rax, rsp
mov qword [rbp + 0x1350], rax
movaps xmm6, xmm2
mov rsi, rdx
mov qword [rbp - 0x80], rcx
mov ecx, dword [0x180184a74]
mov rax, qword gs:[0x58]
mov r14d, 4
mov r13, qword [rax + rcx*8]
xor edi, edi
mov eax, dword [r14 + r13]
cmp dword [0x180185564], eax
jle 0x18006c3c0
lea rcx, [0x180185564]
call fcn.18010f300
cmp dword [0x180185564], 0xffffffff
jne 0x18006c3c0
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x60], ntohl
movsd xmm0, qword [str.ResourceType]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x180144a60]
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x5c], dil
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.180040270
mov dword [0x180185968], eax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006c3b4
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c3ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006c3ae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180185564]
call fcn.18010f2a0
movsxd rax, dword [0x180185968]
movzx r12d, byte [rax + rsi]
mov eax, dword [r14 + r13]
cmp dword [0x180185a00], eax
jle 0x18006c484
lea rcx, [0x180185a00]
call fcn.18010f300
cmp dword [0x180185a00], 0xffffffff
jne 0x18006c484
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
lea r9, str.BlueprintGeneratedClass__Game_Building_ActorBlueprints_Prop_Car_DEFAULT.Car_DEFAULT_C
mov edx, 0x55
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180095e50
mov qword [0x180186450], rax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006c478
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c472
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006c472
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180185a00]
call fcn.18010f2a0
mov rax, qword [0x180186450]
test rax, rax
jne 0x18006c51a
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], al
lea r9, str.BlueprintGeneratedClass__Game_Building_ActorBlueprints_Prop_Car_Copper.Car_Copper_C
lea edx, [rax + 0x53]
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180095e50
mov qword [0x180186450], rax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006c51a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c50e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006c50e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
mov rax, qword [0x180186450]
mov ecx, dword [0x180184bbc]
cmp ecx, 0x1a4
jg 0x18006c56a
test rsi, rsi
je 0x18006c548
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18006c548
cmp rcx, rax
je 0x18006c5f3
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x18006c536
xor bl, bl
lea rdx, str.pock_rtock__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180094110
test bl, bl
jne 0x18006c6d9
jmp 0x18006c60f
cmp ecx, 0x1a5
jne 0x18006c590
test rsi, rsi
je 0x18006c548
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18006c548
cmp rcx, rax
je 0x18006c5f3
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x18006c580
jmp 0x18006c548
cmp ecx, 0x1a6
jl 0x18006c5c0
cmp ecx, 0x1a9
jge 0x18006c5c8
test rsi, rsi
je 0x18006c548
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18006c548
nop
cmp rcx, rax
je 0x18006c5f3
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x18006c5b0
jmp 0x18006c548
cmp ecx, 0x1a9
jl 0x18006c5fa
test rsi, rsi
je 0x18006c548
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18006c548
nop
cmp rcx, rax
je 0x18006c5f3
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x18006c5e0
jmp 0x18006c548
mov bl, 1
jmp 0x18006c54a
xor bl, bl
lea rdx, str.pock_rtock__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180094110
mov eax, dword [r14 + r13]
cmp dword [0x180186738], eax
jle 0x18006c6c7
lea rcx, [0x180186738]
call fcn.18010f300
cmp dword [0x180186738], 0xffffffff
jne 0x18006c6c7
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
lea r9, str.BuildingResourceAmountOverride
mov edx, 0x1e
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.180040270
mov dword [0x180185100], eax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006c6bb
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c6b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006c6b5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180186738]
call fcn.18010f2a0
movsxd rax, dword [0x180185100]
cmp dword [rax + rsi + 8], 0
je 0x18006cc0c
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1344], 0xffffffff
mov dword [rbp - 0x3c], eax
mov edi, 1
mov edx, edi
nop dword [rax]
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x3c], eax
inc rdx
cmp rdx, 0x270
jb 0x18006c700
mov dword [rbp - 0x40], 0x270
lea rcx, [rbp - 0x40]
call fcn.1800a4080
ucomiss xmm6, dword [0x1801687d0]
jp 0x18006c740
jne 0x18006c740
movzx r14d, dil
jmp 0x18006c743
xor r14b, r14b
lea rcx, [rbp - 0x40]
call fcn.1800a4080
and eax, 3
lea r15d, [rax + 3]
test r14b, r14b
je 0x18006c7a9
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1344], 0xffffffff
mov dword [rbp - 0x3c], eax
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edi
mov dword [rbp + rdi*4 - 0x3c], eax
inc rdi
cmp rdi, 0x270
jb 0x18006c770
mov dword [rbp - 0x40], 0x270
lea rcx, [rbp - 0x40]
call fcn.1800a4080
and eax, 3
add r15d, 3
add r15d, eax
mov qword [rbp - 0x60], rsi
mov eax, r12d
mov ecx, 2
test bl, bl
cmovne eax, ecx
mov byte [rbp - 0x58], al
mov dword [rbp - 0x54], r15d
mov byte [rbp - 0x50], 0
mov byte [rbp - 0x4f], r14b
mov esi, 4
mov eax, dword [rsi + r13]
cmp dword [0x180186190], eax
jle 0x18006c88d
lea rcx, [0x180186190]
call fcn.18010f300
cmp dword [0x180186190], 0xffffffff
jne 0x18006c88d
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], dil
lea r9, str.ClientReportDamagedResourceBuilding
lea edx, [rdi + 0x23]
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
mov rbx, qword [rbp - 0x80]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.18003f820
mov qword [0x1801863d0], rax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006c87f
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c879
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006c879
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180186190]
call fcn.18010f2a0
jmp 0x18006c893
xor edi, edi
mov rbx, qword [rbp - 0x80]
mov rdx, qword [0x1801863d0]
test rdx, rdx
je 0x18006cc0c
lea r8, [rbp - 0x60]
mov rcx, rbx
call qword [0x180184eb8]
mov rcx, rbx
call fcn.18004a390
mov r12, rax
mov ecx, dword [rsi + r13]
cmp dword [0x180186128], ecx
jle 0x18006c973
lea rcx, [0x180186128]
call fcn.18010f300
cmp dword [0x180186128], 0xffffffff
jne 0x18006c973
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
lea r9, str.FortResourceItemDefinition__Game_Items_ResourcePickups_WoodItemData.WoodItemData
mov edx, 0x50
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180095e50
mov qword [0x180186568], rax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006c967
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c961
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006c961
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180186128]
call fcn.18010f2a0
mov eax, dword [rsi + r13]
cmp dword [0x180185a8c], eax
jle 0x18006ca2b
lea rcx, [0x180185a8c]
call fcn.18010f300
cmp dword [0x180185a8c], 0xffffffff
jne 0x18006ca2b
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
lea r9, str.FortResourceItemDefinition__Game_Items_ResourcePickups_StoneItemData.StoneItemData
mov edx, 0x52
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180095e50
mov qword [0x180185a78], rax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006ca1f
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006ca19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006ca19
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180185a8c]
call fcn.18010f2a0
mov eax, dword [rsi + r13]
cmp dword [0x180185ea0], eax
jle 0x18006cae3
lea rcx, [0x180185ea0]
call fcn.18010f300
cmp dword [0x180185ea0], 0xffffffff
jne 0x18006cae3
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
lea r9, str.FortResourceItemDefinition__Game_Items_ResourcePickups_MetalItemData.MetalItemData
mov edx, 0x52
lea rcx, [rsp + 0x50]
call fcn.180041e20
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180095e50
mov qword [0x180186688], rax
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18006cad7
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006cad1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006cad1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18010f100
nop
lea rcx, [0x180185ea0]
call fcn.18010f2a0
mov r15, qword [0x180186568]
cmp byte [rbp - 0x58], 1
cmove r15, qword [0x180185a78]
cmp byte [rbp - 0x58], 2
cmove r15, qword [0x180186688]
mov rcx, rbx
call fcn.18005a200
mov r14, rax
mov rcx, rbx
call fcn.18004a390
mov esi, edi
cmp dword [r14 + 8], 0
jle 0x18006cb47
nop
mov rcx, qword [r14]
mov rbx, qword [rdi + rcx]
test rbx, rbx
je 0x18006cb39
mov rcx, rbx
call fcn.18005b830
cmp rax, r15
je 0x18006cb4a
inc esi
add rdi, 8
cmp esi, dword [r14 + 8]
jl 0x18006cb20
xor edi, edi
mov rbx, rdi
mov edi, dword [rbp - 0x54]
mov r14, qword [rbp - 0x80]
mov rcx, r14
call fcn.18004a390
mov rcx, rax
call fcn.180050a40
test rax, rax
je 0x18006cbf9
test rbx, rbx
je 0x18006cbd1
test r12, r12
je 0x18006cbd1
mov rcx, rbx
call fcn.1800978c0
mov rcx, rax
call fcn.180058980
cmp dword [rax], 0x3e7
jl 0x18006cbd1
mov rdx, r12
lea rcx, [rbp - 0x70]
call fcn.180045390
movsd xmm0, qword [rax]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x78], eax
mov dword [rsp + 0x40], 0
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x28], edi
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp - 0x80]
mov rdx, r15
mov rcx, r12
call fcn.180049270
jmp 0x18006cc0c
mov qword [rsp + 0x38], 0
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
mov r9d, 0xffffffff
mov r8b, 1
mov rdx, r15
mov rcx, r14
call fcn.18005d5f0
jmp 0x18006cc0c
lea rdx, str.ky__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180094110
mov rcx, qword [rbp + 0x1350]
xor rcx, rsp
call fcn.18010f010
mov rbx, qword [rsp + 0x14c0]
movaps xmm6, xmmword [rsp + 0x1460]
add rsp, 0x1470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret