Function at 0x18005f388
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm14
mov rax, qword [0x1801588c8]
xor rax, rsp
mov qword [rbp - 0x41], rax
xor r12d, r12d
movabs rdi, 0xd80958fc74e988a6
cmp byte [0x180159ab2], r12b
je 0x18005f42c
mov rcx, rdi
call fcn.18005b884
xor r8d, r8d
mov edx, eax
movabs rcx, 0xc8a9481a01e63c28
mov ebx, eax
call fcn.18005c630
mov edx, ebx
movabs rcx, 0xc44aa05345c992c6
call fcn.18005c570
mov byte [0x180159ab2], r12b
mov rax, qword [0x180159760]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800603c3
mov rsi, qword [rcx + 8]
test rsi, rsi
je 0x1800603c3
mov eax, dword [0x1801597a0]
cmp qword [rax + rsi], r12
je 0x1800603c3
cmp qword [rsi + 0x30], r12
je 0x1800603c3
mov rax, qword [0x180159768]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800603c3
cmp qword [rcx + 0x18], r12
je 0x1800603c3
cmp qword [rcx + 0x10], r12
je 0x1800603c3
mov rax, qword [0x180159af8]
mov r13d, 1
movsd xmm0, qword [rsi + 0x90]
mov r15d, dword [rsi + 0x98]
movsd qword [rbp - 0x61], xmm0
test rax, rax
jne 0x18005f54c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005f531
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005f531
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005f52d
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005f50e
cmp r11d, 0x95466b05
je 0x18005f56c
test edx, edx
jne 0x18005f4f2
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x18005f542
cmp qword [rax + 0x30], r12
jne 0x18005f4ce
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, 0xa0
call rax
test ax, ax
setne byte [0x180159ab4]
test ax, ax
je 0x18005f586
movss xmm0, dword [0x1800cb204]
jmp 0x18005f58e
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005f545
movss xmm0, dword [0x1800cb1f8]
cmp byte [0x180159ab3], r12b
movabs rbx, 0x9a9112a0fe9a4713
movss dword [0x180157708], xmm0
je 0x18005fc8a
mov rcx, rdi
call fcn.18005b884
xor r8d, r8d
mov edx, eax
movabs rcx, 0x5f9532f3b5cc2551
call fcn.18005b9e4
test eax, eax
jne 0x18005fc8a
mov rcx, qword [0x180159778]
test rcx, rcx
je 0x18005f5e2
mov rcx, qword [rcx]
jmp 0x18005f5e5
mov rcx, r12
mov rax, qword [rsi + 0x30]
mov dword [rax + 0x30], 0x3f800000
movsd xmm0, qword [rcx + 0x3d0]
mov eax, dword [rcx + 0x3d8]
movsd qword [rbp - 0x71], xmm0
xorps xmm0, xmm0
movss xmm11, dword [rbp - 0x71]
ucomiss xmm11, xmm0
mov dword [rbp - 0x69], eax
movss xmm10, dword [rbp - 0x6d]
jp 0x18005f650
jne 0x18005f650
ucomiss xmm10, xmm0
jp 0x18005f650
jne 0x18005f650
movd xmm9, eax
ucomiss xmm9, xmm0
jp 0x18005f656
jne 0x18005f656
movsd xmm0, qword [rcx + 0x40]
movss xmm9, dword [rcx + 0x48]
movsd qword [rbp - 0x71], xmm0
movss xmm10, dword [rbp - 0x6d]
movss xmm11, dword [rbp - 0x71]
jmp 0x18005f656
movss xmm9, dword [rbp - 0x69]
movss xmm7, dword [rbp - 0x61]
movss xmm8, dword [rbp - 0x5d]
movd xmm14, r15d
movabs r15, 0xd80958fc74e988a6
mov rcx, r15
movaps xmm6, xmm14
call fcn.18005b884
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.18005b9e4
mov eax, dword [0x1801597a0]
mov rcx, qword [rax + rsi]
mov dword [rcx + 0x2c], r12d
mov rax, qword [0x180159af8]
test rax, rax
jne 0x18005f740
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005f725
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005f725
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r8 + rdx*4]
mov ecx, dword [rax + r14]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005f721
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005f6fe
cmp r11d, 0x95466b05
je 0x18005fb99
test edx, edx
jne 0x18005f6e2
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x18005f736
cmp qword [rax + 0x30], r12
jne 0x18005f6be
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, dword [str.WADS]
call rax
test ax, ax
jns 0x18005f77e
movss xmm0, dword [0x180157708]
movaps xmm7, xmm11
movaps xmm8, xmm10
mulss xmm7, xmm0
movaps xmm6, xmm9
mulss xmm8, xmm0
addss xmm7, dword [rbp - 0x61]
mulss xmm6, xmm0
addss xmm8, dword [rbp - 0x5d]
addss xmm6, xmm14
mov rax, qword [0x180159af8]
test rax, rax
jne 0x18005f827
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005f80c
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005f80c
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r8 + rdx*4]
mov ecx, dword [rax + r14]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005f808
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005f7e5
cmp r11d, 0x95466b05
je 0x18005fbb6
test edx, edx
jne 0x18005f7c9
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x18005f81d
cmp qword [rax + 0x30], r12
jne 0x18005f7a5
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, dword [0x180157704]
call rax
test ax, ax
jns 0x18005f861
movss xmm2, dword [0x180157708]
movaps xmm0, xmm11
mulss xmm0, xmm2
movaps xmm1, xmm9
mulss xmm1, xmm2
subss xmm7, xmm0
movaps xmm0, xmm10
mulss xmm0, xmm2
subss xmm6, xmm1
subss xmm8, xmm0
mov rax, qword [0x180159af8]
test rax, rax
jne 0x18005f90a
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005f8ef
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005f8ef
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005f8eb
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005f8c8
cmp r11d, 0x95466b05
je 0x18005fbd3
test edx, edx
jne 0x18005f8ac
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x18005f900
cmp qword [rax + 0x30], r12
jne 0x18005f888
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, dword [0x1801576fc]
call rax
test ax, ax
jns 0x18005f944
movss xmm2, dword [0x180157708]
movaps xmm0, xmm10
mulss xmm0, xmm2
movaps xmm1, xmm9
mulss xmm1, xmm2
subss xmm7, xmm0
movaps xmm0, xmm11
mulss xmm0, xmm2
addss xmm6, xmm1
addss xmm8, xmm0
mov rax, qword [0x180159af8]
test rax, rax
jne 0x18005f9ed
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005f9d2
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005f9d2
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005f9ce
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005f9ab
cmp r11d, 0x95466b05
je 0x18005fbf0
test edx, edx
jne 0x18005f98f
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x18005f9e3
cmp qword [rax + 0x30], r12
jne 0x18005f96b
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, dword [0x180157700]
call rax
test ax, ax
jns 0x18005fa22
movss xmm1, dword [0x180157708]
movaps xmm0, xmm9
mulss xmm10, xmm1
mulss xmm11, xmm1
mulss xmm0, xmm1
addss xmm7, xmm10
subss xmm8, xmm11
subss xmm6, xmm0
mov rax, qword [0x180159af8]
test rax, rax
jne 0x18005facb
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r10, rdi
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005fab0
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005fab0
mov r14d, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r14 + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005faac
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005fa89
cmp r11d, 0x95466b05
je 0x18005fc0d
test edx, edx
jne 0x18005fa6d
mov rax, qword [r10]
mov r10, rax
cmp rax, rdi
je 0x18005fac1
cmp qword [rax + 0x30], r12
jne 0x18005fa49
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call rax
test ax, ax
jns 0x18005fae5
mulss xmm9, dword [0x180157708]
addss xmm6, xmm9
cmp byte [rsi + 0x144b], 0x40
subss xmm6, xmm14
subss xmm7, dword [rbp - 0x61]
subss xmm8, dword [rbp - 0x5d]
mulss xmm6, dword [0x1800cb1f8]
mulss xmm7, dword [0x1800cb1f8]
mulss xmm8, dword [0x1800cb1f8]
addss xmm6, xmm14
addss xmm7, dword [rbp - 0x61]
addss xmm8, dword [rbp - 0x5d]
je 0x18005fc2a
cmp byte [rbp - 0x79], r12b
jne 0x18005fc2a
mov rcx, r15
call fcn.18005b884
movss xmm2, dword [0x1800cb1f4]
mov edx, eax
movaps xmm3, xmm2
movss dword [rsp + 0x20], xmm2
movabs rcx, 0x1c99bb7b6e96d16f
call fcn.18005ca08
mov rcx, r15
call fcn.18005b884
mov edx, eax
mov dword [rsp + 0x38], r13d
movaps xmm2, xmm7
mov dword [rsp + 0x30], r13d
movaps xmm3, xmm8
mov dword [rsp + 0x28], r13d
movabs rcx, 0x239a3351ac1da385
movss dword [rsp + 0x20], xmm6
call fcn.18005cb34
jmp 0x18005fc94
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005f739
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005f820
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005f903
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005f9e6
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005fac4
mov rcx, r15
call fcn.18005b884
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.18005b9e4
mov rcx, r15
mov ebx, eax
call fcn.18005b884
xor r8d, r8d
mov edx, eax
movabs rcx, 0x997abd671d25ca0b
call fcn.18005b9e4
test eax, eax
je 0x18005fc94
movss xmm2, dword [0x1800cb1f4]
mov edx, ebx
movaps xmm3, xmm2
movss dword [rsp + 0x20], xmm2
movabs rcx, 0x1c99bb7b6e96d16f
call fcn.18005ca08
mov edx, ebx
jmp 0x18005fb69
movabs r15, 0xd80958fc74e988a6
cmp byte [0x1801597e0], r13b
movabs r14, 0x3fef770d40960d5a
jne 0x18005fff2
mov rax, qword [0x180159af8]
test rax, rax
jne 0x18005fd54
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18005fd39
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x18005fd39
mov esi, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [rsi + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x18005fd35
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x18005fd12
cmp r11d, 0x95466b05
je 0x18005ff19
test edx, edx
jne 0x18005fcf6
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x18005fd4a
cmp qword [rax + 0x30], r12
jne 0x18005fcd2
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, dword [0x180159aac]
call rax
test ax, ax
je 0x18005ff7b
mov rcx, r15
call fcn.18005b884
mov r9d, r13d
lea rcx, [rbp - 0x61]
mov r8d, eax
mov rdx, r14
call fcn.18005c478
movups xmm0, xmmword [rbp - 0x61]
lea rcx, [rbp - 0x49]
movsd xmm1, qword [rbp - 0x51]
movups xmmword [0x180159710], xmm0
movsd qword [0x180159720], xmm1
call fcn.180061bdc
test al, al
je 0x18005ff46
mov edx, dword [rbp - 0x49]
movabs rdi, 0x524ac5ecea15343e
mov rcx, rdi
call fcn.18005b924
test eax, eax
jne 0x18005ff46
mov edx, dword [rbp - 0x49]
movabs rcx, 0x12534c348c6cb68b
call fcn.18005b924
test eax, eax
jne 0x18005ff46
mov r8d, dword [rbp - 0x49]
lea rcx, [rbp - 0x61]
mov r9d, r13d
mov rdx, r14
call fcn.18005c478
movss xmm1, dword [0x180159710]
movups xmm7, xmmword [rbp - 0x61]
movsd xmm0, qword [rbp - 0x51]
movsd xmm6, qword [0x1800d2ad0]
subss xmm1, xmm7
movsd qword [0x180159738], xmm0
movups xmmword [0x180159728], xmm7
cvtps2pd xmm0, xmm1
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
shufps xmm7, xmm7, 0xaa
movss xmm0, dword [0x180159718]
movaps xmm1, xmm6
subss xmm0, xmm7
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm2, dword [0x180159720]
addsd xmm8, xmm0
subss xmm2, dword [rbp - 0x51]
movaps xmm1, xmm6
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov rbx, qword [0x180159750]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mov rax, rbx
sub rax, qword [0x180159748]
cvttss2si ecx, xmm1
test rax, 0xfffffffffffffffc
jne 0x18005fea2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x180159740], xmm0
cmp ecx, 0x1f4
jge 0x18005ff4d
mov edx, dword [rbp - 0x49]
mov rcx, rdi
call fcn.18005b924
test eax, eax
je 0x18005fef0
mov edx, dword [rbp - 0x49]
movabs rcx, 0x47e4e977581c5b55
call fcn.18005b924
test eax, eax
jne 0x18005fef0
mov edx, dword [rbp - 0x49]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], r12d
movabs rcx, 0x8c825bdc7741d37c
call fcn.18005c80c
mov rdx, qword [0x180159750]
cmp rdx, qword [0x180159758]
je 0x18005ff36
mov eax, dword [rbp - 0x49]
mov dword [rdx], eax
mov rbx, qword [0x180159750]
add rbx, 4
mov qword [0x180159750], rbx
jmp 0x18005ff4d
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18005fd4d
lea r8, [rbp - 0x49]
lea rcx, [0x180159748]
call fcn.18005d0ac
mov rbx, qword [0x180159750]
mov rdi, qword [0x180159748]
mov rax, rbx
sub rax, rdi
sar rax, 2
test rax, rax
je 0x18005fff2
jmp 0x18005ff74
mov ecx, dword [rdi]
call fcn.180060e00
add rdi, 4
cmp rdi, rbx
jne 0x18005ff69
jmp 0x18005fff2
mov rdi, qword [0x180159750]
mov rbx, qword [0x180159748]
mov rax, rdi
sub rax, rbx
sar rax, 2
test rax, rax
je 0x18005fff2
cmp rbx, rdi
je 0x18005fff2
mov edx, dword [rbx]
mov r9d, r13d
mov r8d, r13d
movabs rcx, 0x1a9205c1b9ee827f
call fcn.18005c710
mov edx, dword [rbx]
movabs rcx, 0x9b1e824ffbb7027a
call fcn.18005c570
add rbx, 4
mov dword [0x180159740], 0x3f800000
cmp rbx, rdi
jne 0x18005ff9d
mov rdi, qword [0x180159750]
mov rbx, qword [0x180159748]
cmp rbx, rdi
je 0x18005fff2
mov qword [0x180159750], rbx
cmp byte [0x180159aa8], r12b
je 0x180060116
mov rax, qword [0x180159af8]
test rax, rax
jne 0x1800600a3
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180060088
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x180060088
mov esi, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r8 + rdx*4]
mov ecx, dword [rax + rsi]
add rcx, r8
mov al, byte [rcx]
add rcx, r13
test al, al
je 0x180060084
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r13
test al, al
jne 0x180060065
cmp r11d, 0x95466b05
je 0x1800600fc
test edx, edx
jne 0x18006004a
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x180060099
cmp qword [rax + 0x30], r12
jne 0x180060026
mov rax, r12
mov qword [0x180159af8], rax
mov ecx, 0x45
call rax
test ax, ax
jns 0x180060116
mov rcx, r15
call fcn.18005b884
movabs rdi, 0x9a9112a0fe9a4713
xor r8d, r8d
mov rcx, rdi
mov edx, eax
call fcn.18005b9e4
mov edx, eax
movabs rcx, 0xd5037ba82e12416f
mov ebx, eax
call fcn.18005c138
movss xmm2, dword [0x1800d2ad8]
mov edx, ebx
movabs rcx, 0xab54a438726d25d5
call fcn.18005c924
jmp 0x180060120
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x18006009c
movabs rdi, 0x9a9112a0fe9a4713
cmp byte [0x1801597e1], r12b
mov rcx, r15
je 0x18006015d
call fcn.18005b884
xor r9d, r9d
xor r8d, r8d
mov edx, eax
movabs rcx, 0xea1c610a04db6bbb
mov ebx, eax
call fcn.18005c710
mov edx, ebx
movabs rcx, 0x241e289b5c059edc
call fcn.18005c570
jmp 0x180060179
call fcn.18005b884
xor r9d, r9d
mov r8d, r13d
mov edx, eax
movabs rcx, 0xea1c610a04db6bbb
call fcn.18005c710
cmp byte [0x1801597e2], r12b
je 0x180060287
mov rcx, r15
call fcn.18005b884
xor r8d, r8d
mov edx, eax
mov rcx, rdi
call fcn.18005b9e4
mov rdx, qword [0x1801597d8]
movsxd rbx, eax
mov rcx, rbx
call rdx
mov edx, eax
movabs rcx, 0x953da1e1b12c0491
call fcn.18005c570
mov rax, qword [0x1801597d8]
mov rcx, rbx
call rax
movss xmm6, dword [0x1800cce84]
mov edx, eax
movaps xmm2, xmm6
movabs rcx, 0x45f6d8eef34abef1
call fcn.18005c924
mov rax, qword [0x1801597d8]
mov rcx, rbx
call rax
movaps xmm2, xmm6
mov edx, eax
movabs rcx, 0xb77d05ac8c78aadb
call fcn.18005c924
mov rax, qword [0x1801597d8]
mov rcx, rbx
call rax
mov r8d, r13d
mov edx, eax
movabs rcx, 0x6e13fc662b882d1d
call fcn.18005c630
mov rax, qword [0x1801597d8]
mov rcx, rbx
call rax
mov edx, eax
movabs rcx, 0x115722b1b9c14c1c
call fcn.18005c570
mov rax, qword [0x1801597d8]
mov rcx, rbx
call rax
mov r8d, r13d
mov edx, eax
movabs rcx, 0x91a0bd635321f145
call fcn.18005c630
mov rax, qword [0x1801597d8]
mov rcx, rbx
call rax
mov r8d, r13d
mov edx, eax
movabs rcx, 0x2970eaa18fd5e42f
call fcn.18005c630
mov byte [0x1801597e2], r12b
cmp byte [0x180159ab0], r12b
je 0x180060342
lea rdx, str.adder
movabs rcx, 0xd24d37cc275948cc
call fcn.18005c080
movabs rcx, 0x4f8644af03d0e0d6
mov ebx, eax
call fcn.18005b884
mov r9d, r13d
lea rcx, [rbp - 0x61]
mov r8d, eax
mov rdx, r14
mov edi, eax
call fcn.18005c478
movss xmm3, dword [rbp - 0x59]
xorps xmm0, xmm0
movss xmm2, dword [rbp - 0x61]
mov edx, ebx
mov dword [rsp + 0x40], r13d
movabs rcx, 0xaf35d0d2583051b0
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r13d
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rbp - 0x51]
movss dword [rsp + 0x20], xmm0
call fcn.18005bbc8
or r9d, 0xffffffff
mov r8d, eax
mov edx, edi
movabs rcx, 0xf75b0d629e1c063d
mov ebx, eax
call fcn.18005c710
mov r8d, r13d
mov edx, ebx
movabs rcx, 0x3882114bde571ad4
call fcn.18005c630
mov byte [0x180159ab0], r12b
cmp byte [0x180159ab1], r12b
je 0x1800603c3
mov rcx, r15
call fcn.18005b884
mov edx, 8
movabs rcx, 0x1bede233e6cd2a1f
mov edi, eax
call fcn.18005b924
mov edx, eax
movabs rcx, 0xa6db27d19ecbb7da
mov ebx, eax
call fcn.18005b924
test eax, eax
je 0x1800603bc
mov r8d, ebx
lea rcx, [rbp - 0x61]
movabs rdx, 0x586afe3ff72d996e
call fcn.18005c3a8
movss xmm0, dword [rbp - 0x51]
mov edx, edi
movss xmm3, dword [rbp - 0x59]
movabs rcx, 0x9afeff481a85ab2e
movss xmm2, dword [rbp - 0x61]
movss dword [rsp + 0x20], xmm0
call fcn.18005ca08
mov byte [0x180159ab1], r12b
mov rcx, qword [rbp - 0x41]
xor rcx, rsp
call fcn.1800c5a40
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm14, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret