Function at 0x40f3f0
Capabilities:
Read file via mapping

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x140], xmm14
movaps xmmword [rbp + 0x130], xmm13
movaps xmmword [rbp + 0x120], xmm12
movaps xmmword [rbp + 0x110], xmm11
movaps xmmword [rbp + 0x100], xmm10
movaps xmmword [rbp + 0xf0], xmm9
movaps xmmword [rbp + 0xe0], xmm8
movaps xmmword [rbp + 0xd0], xmm7
movaps xmmword [rbp + 0xc0], xmm6
mov qword [rbp - 0x70], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
mov eax, dword [0x00438c54]
cmp dword [0x00438eec], 0xa
setl cl
mov edx, 0x1b4f52fd
sub edx, eax
imul edx, eax
and edx, 1
sete r8b
mov ebx, ecx
or bl, r8b
mov eax, ecx
and al, dl
xor al, cl
xor al, r8b
or cl, dl
xor cl, al
xor cl, bl
xor cl, 1
mov byte [rbp + 0xa7], cl
mov byte [rbp + 0xa6], 0
mov byte [rbp + 0xa5], bl
xor dword [rbp + 0x10], 0x1e27
movups xmm0, xmmword [rbp + 0x18]
movaps xmm1, xmmword [0x0042f550]
xorps xmm0, xmm1
movups xmmword [rbp + 0x18], xmm0
movups xmm0, xmmword [rbp + 0x28]
xorps xmm0, xmm1
movups xmmword [rbp + 0x28], xmm0
movups xmm0, xmmword [rbp + 0x38]
xorps xmm0, xmm1
movups xmmword [rbp + 0x38], xmm0
movups xmm0, xmmword [rbp + 0x48]
xorps xmm0, xmm1
movups xmmword [rbp + 0x48], xmm0
movups xmm0, xmmword [rbp + 0x58]
xorps xmm0, xmm1
movups xmmword [rbp + 0x58], xmm0
movups xmm0, xmmword [rbp + 0x68]
xorps xmm0, xmm1
movups xmmword [rbp + 0x68], xmm0
movups xmm0, xmmword [rbp + 0x78]
xorps xmm0, xmm1
movups xmmword [rbp + 0x78], xmm0
xor dword [rbp + 0x88], 0x1e27
xor dword [rbp + 0x8c], 0x1e27
mov eax, 0x348
xor ecx, ecx
mov qword [rbp - 0x68], rcx
movaps xmm6, xmmword [0x0042f5e0]
mov rsi, qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
movaps xmm8, xmmword [0x0042f5a0]
mov rdi, qword [sym.imp.KERNEL32.dll_CloseHandle]
movaps xmm9, xmmword [0x0042f5b0]
movaps xmm7, xmmword [0x0042f5d0]
movaps xmm10, xmmword [0x0042f580]
movaps xmm11, xmmword [0x0042f560]
movaps xmm12, xmmword [0x0042f5c0]
movaps xmm13, xmmword [0x0042f590]
movaps xmm14, xmmword [0x0042f570]
mov r15d, 0
mov r13d, 0
mov ecx, 0
mov qword [rbp - 0x60], rcx
mov r12d, 0
mov r14d, 0
xor ecx, ecx
mov qword [rbp - 0x10], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x18], rcx
xor ecx, ecx
mov qword [rbp - 0x20], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
xor ecx, ecx
mov qword [rbp - 0x40], rcx
xor ecx, ecx
mov qword [rbp - 0x30], rcx
xor ecx, ecx
jmp 0x410671
cmp eax, 0x3737
jle 0x40f7b0
cmp eax, 0x5c3a
jg 0x40f8e0
cmp eax, 0x4b3f
jg 0x40fa0b
cmp eax, 0x42a9
jg 0x40fc2b
cmp eax, 0x3738
je 0x40ff83
cmp eax, 0x420b
jne 0x40f600
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [rbp + 0xb0]
sub rsp, 0x40
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
mov rcx, qword [rbp - 0x70]
mov edx, 0x80000000
mov r8d, 1
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
add rsp, 0x40
mov rcx, qword [rbp + 0xb0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xb0]
cmp qword [rax], 0xffffffffffffffff
sete byte [rbp + 0xbf]
cmp dword [0x00438e3c], 0xa
mov eax, dword [0x00438a1c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r15b, r15b
jne 0x40f791
movups xmm0, xmmword [rbp + 0x1c]
movups xmm1, xmmword [rbp + 0x2c]
movups xmm2, xmmword [rbp + 0x3c]
movups xmm3, xmmword [rbp + 0x4c]
xorps xmm0, xmm7
movups xmmword [rbp + 0x1c], xmm0
xorps xmm1, xmm7
movups xmmword [rbp + 0x2c], xmm1
xorps xmm2, xmm7
movups xmmword [rbp + 0x3c], xmm2
xorps xmm3, xmm7
movups xmmword [rbp + 0x4c], xmm3
movups xmm0, xmmword [rbp + 0x5c]
xorps xmm0, xmm7
movups xmmword [rbp + 0x5c], xmm0
movaps xmm0, xmmword [rbp + 0x70]
xorps xmm0, xmm7
movaps xmmword [rbp + 0x70], xmm0
movaps xmm0, xmmword [rbp + 0x80]
xorps xmm0, xmm7
movaps xmmword [rbp + 0x80], xmm0
test al, al
mov eax, 0x3380
mov ecx, 0x4cf4
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov r15b, 1
jmp 0x40f600
cmp eax, 0x1dcc
jle 0x40f990
cmp eax, 0x3028
jg 0x40fa8e
cmp eax, 0x2fb3
jg 0x40fcb6
cmp eax, 0x1dcd
je 0x410013
cmp eax, 0x2d81
jne 0x40f600
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [rbp + 0xb0]
sub rsp, 0x40
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
mov rcx, qword [rbp - 0x70]
mov edx, 0x80000000
mov r8d, 1
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
add rsp, 0x40
mov rcx, qword [rbp + 0xb0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xb0]
cmp qword [rax], 0xffffffffffffffff
sete byte [rbp + 0xbf]
mov eax, dword [rbp + 0x6c]
mov ecx, 0x5c0a
xor eax, ecx
jmp 0x40f600
cmp eax, 0x72db
jle 0x40fb54
cmp eax, 0x7986
jg 0x40fd43
cmp eax, 0x72dc
je 0x410065
cmp eax, 0x735d
jne 0x40f600
movzx eax, byte [rbp + 0xbe]
cmp byte [rbp - 0x10], 0
jne 0x40f96b
movups xmm0, xmmword [rbp + 0x34]
movups xmm1, xmmword [rbp + 0x44]
movups xmm2, xmmword [rbp + 0x54]
movups xmm3, xmmword [rbp + 0x78]
xorps xmm0, xmm13
movups xmmword [rbp + 0x34], xmm0
xorps xmm1, xmm13
movups xmmword [rbp + 0x44], xmm1
xorps xmm2, xmm13
movups xmmword [rbp + 0x54], xmm2
xor dword [rbp + 0x64], 0x28d2
xor dword [rbp + 0x68], 0x28d2
xorps xmm3, xmm13
movups xmmword [rbp + 0x78], xmm3
xor dword [rbp + 0x88], 0x28d2
xor dword [rbp + 0x8c], 0x28d2
test al, 1
mov eax, 0x5e1d
mov ecx, 0x11c
cmovne eax, ecx
xor eax, dword [rbp + 0x30]
mov cl, 1
mov qword [rbp - 0x10], rcx
jmp 0x40f600
cmp eax, 0x91a
jle 0x40fbdf
cmp eax, 0x1c07
jg 0x40fe38
cmp eax, 0x91b
je 0x41009e
cmp eax, 0x1ade
jne 0x40f600
cmp dword [0x004392cc], 0xa
mov eax, dword [0x00438cc0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x40f9ee
xor dword [rbp + 0x38], 0x7794
xor dword [rbp + 0x78], 0x7794
test al, al
mov eax, 0x3a0b
mov ecx, 0x5d2f
cmovne eax, ecx
xor eax, dword [rbp + 0x34]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x40f600
cmp eax, 0x52f4
jg 0x40fea1
cmp eax, 0x4b40
je 0x4100d6
cmp eax, 0x5068
jne 0x40f600
movzx eax, byte [rbp + 0xbd]
cmp byte [rbp - 0x28], 0
jne 0x40fa71
movups xmm0, xmmword [rbp + 0x48]
xorps xmm0, xmm11
movups xmmword [rbp + 0x48], xmm0
xor dword [rbp + 0x58], 0x119
xor dword [rbp + 0x5c], 0x119
xor dword [rbp + 0x80], 0x119
xor dword [rbp + 0x84], 0x119
xor dword [rbp + 0x88], 0x119
test al, 1
mov eax, 0x4738
mov ecx, 0x7516
cmovne eax, ecx
xor eax, dword [rbp + 0x44]
mov cl, 1
mov qword [rbp - 0x28], rcx
jmp 0x40f600
cmp eax, 0x3148
jg 0x40ff06
cmp eax, 0x3029
je 0x410134
cmp eax, 0x30a8
jne 0x40f600
mov ecx, dword [0x00439008]
cmp dword [0x00438b44], 0xa
setl dl
mov eax, 1
sub eax, ecx
imul eax, ecx
and eax, 1
sete cl
and cl, dl
or al, dl
xor al, dl
xor al, cl
xor al, 1
or al, cl
test r12b, r12b
jne 0x40fb3a
movups xmm0, xmmword [rbp + 0x2c]
movups xmm1, xmmword [rbp + 0x3c]
movups xmm2, xmmword [rbp + 0x4c]
movups xmm3, xmmword [rbp + 0x5c]
xorps xmm0, xmm9
movups xmmword [rbp + 0x2c], xmm0
xorps xmm1, xmm9
movups xmmword [rbp + 0x3c], xmm1
xorps xmm2, xmm9
movups xmmword [rbp + 0x4c], xmm2
xorps xmm3, xmm9
movups xmmword [rbp + 0x5c], xmm3
movups xmm0, xmmword [rbp + 0x74]
xorps xmm0, xmm9
movups xmmword [rbp + 0x74], xmm0
xor dword [rbp + 0x84], 0x20ad
xor dword [rbp + 0x88], 0x20ad
xor dword [rbp + 0x8c], 0x20ad
test al, 1
mov eax, 0x597a
mov ecx, 0x4611
cmovne eax, ecx
xor eax, dword [rbp + 0x28]
mov r12b, 1
jmp 0x40f600
cmp eax, 0x692f
jle 0x40ff21
cmp eax, 0x6930
je 0x410143
cmp eax, 0x6e3f
jne 0x40f600
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 8]
mov qword [rax], 0
mov rax, qword [rbp - 8]
mov dword [rax], 1
mov eax, dword [0x004393a4]
cmp dword [0x00438d28], 0xa
setl bl
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
or dl, bl
mov ecx, ebx
xor cl, al
xor al, dl
or cl, al
xor dl, bl
xor dl, cl
xor dl, al
mov eax, 0x6b73
mov ecx, 0x4d9f
cmovne eax, ecx
xor eax, dword [rbp + 0x38]
jmp 0x40f600
cmp eax, 0x348
je 0x41015c
cmp eax, 0x363
je 0x4101ed
cmp eax, 0x44e
jne 0x40f600
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp + 0x8c]
mov ecx, 0x5621
xor eax, ecx
jmp 0x40f600
cmp eax, 0x42aa
je 0x4102ea
cmp eax, 0x45df
jne 0x40f600
mov eax, dword [0x00439410]
cmp dword [0x00438d64], 0xa
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
mov ebx, ecx
and bl, dl
mov eax, ecx
xor al, dl
or cl, dl
xor cl, al
xor al, 1
or al, bl
xor al, cl
cmp byte [rbp - 0x18], 0
jne 0x40fc99
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm10
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmm10
movaps xmmword [rbp + 0x50], xmm0
movups xmm0, xmmword [rbp + 0x7c]
xorps xmm0, xmm10
movups xmmword [rbp + 0x7c], xmm0
test al, al
mov eax, 0x487d
mov ecx, 0x7850
cmovne eax, ecx
xor eax, dword [rbp + 0x3c]
mov cl, 1
mov qword [rbp - 0x18], rcx
jmp 0x40f600
cmp eax, 0x2fb4
je 0x4103b7
cmp eax, 0x2ff7
jne 0x40f600
mov ecx, dword [0x00438db4]
mov eax, dword [0x004393a0]
cmp eax, 0xa
setl r8b
cmp eax, 9
setg bl
mov eax, 1
sub eax, ecx
imul eax, ecx
and eax, 1
sete cl
and bl, cl
mov edx, r8d
and dl, cl
xor cl, r8b
xor cl, bl
or al, r8b
xor al, dl
xor al, cl
cmp byte [rbp - 0x30], 0
jne 0x40fd26
xor dword [rbp + 0x64], 0x51f0
xor dword [rbp + 0x68], 0x51f0
xor dword [rbp + 0x8c], 0x51f0
test al, al
mov eax, 0x7d1
mov ecx, 0x375e
cmovne eax, ecx
xor eax, dword [rbp + 0x60]
mov cl, 1
mov qword [rbp - 0x30], rcx
jmp 0x40f600
cmp eax, 0x7987
je 0x410423
cmp eax, 0x7b6d
jne 0x40f600
mov rax, qword [rbp + 0x98]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
add rsp, 0x30
mov rcx, qword [rbp + 0x98]
mov qword [rcx], rax
mov rax, qword [rbp + 0x98]
cmp qword [rax], 0
sete byte [rbp + 0xbd]
mov eax, dword [0x004392fc]
cmp dword [0x00438e94], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete dl
mov ebx, ecx
and bl, dl
mov eax, ecx
xor al, dl
or cl, dl
xor cl, al
xor al, 1
or al, bl
xor al, cl
cmp byte [rbp - 0x20], 0
jne 0x40fe1b
movups xmm0, xmmword [rbp + 0x44]
xorps xmm0, xmm14
movups xmmword [rbp + 0x44], xmm0
xor dword [rbp + 0x54], 0x476
xor dword [rbp + 0x58], 0x476
xor dword [rbp + 0x5c], 0x476
xor dword [rbp + 0x80], 0x476
xor dword [rbp + 0x84], 0x476
xor dword [rbp + 0x88], 0x476
test al, al
mov eax, 0xebc
mov ecx, 0x1594
cmovne eax, ecx
xor eax, dword [rbp + 0x40]
mov cl, 1
mov qword [rbp - 0x20], rcx
jmp 0x40f600
cmp eax, 0x1c08
je 0x41048e
cmp eax, 0x1d9a
jne 0x40f600
cmp dword [0x00438fd8], 0xa
mov eax, dword [0x004392a0]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x48], 0
jne 0x40fe84
xor dword [rbp + 0x54], 0x22f1
xor dword [rbp + 0x84], 0x22f1
test al, al
mov eax, 0x6c83
mov ecx, 0x1911
cmovne eax, ecx
xor eax, dword [rbp + 0x50]
mov cl, 1
mov qword [rbp - 0x48], rcx
jmp 0x40f600
cmp eax, 0x52f5
je 0x4104f0
cmp eax, 0x5662
jne 0x40f600
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 8]
mov qword [rax], 0
mov rax, qword [rbp - 8]
mov dword [rax], 1
mov eax, dword [rbp + 0x80]
mov ecx, 0x7205
xor eax, ecx
jmp 0x40f600
cmp eax, 0x3149
je 0x410579
cmp eax, 0x34c1
je 0x410600
jmp 0x40f600
cmp eax, 0x5c3b
jne 0x4105e1
mov eax, dword [0x0043918c]
cmp dword [0x00438b2c], 0xa
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x40ff66
xor dword [rbp + 0x24], 0x2297
xor dword [rbp + 0x70], 0x2297
test al, al
mov eax, 0x755b
mov ecx, 0x743b
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x40f600
mov rax, qword [rbp]
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.0040a3b0
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
add rsp, 0x20
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, qword [rbp + 8]
mov qword [rcx], rax
mov rax, qword [rbp - 8]
mov dword [rax], 1
mov rax, qword [rbp]
mov eax, dword [rbp + 0x84]
mov ecx, 0x3be0
xor eax, ecx
jmp 0x40f600
cmp dword [0x00438c14], 0xa
mov eax, dword [0x00438a04]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x410048
xor dword [rbp + 0x5c], 0xbb5
xor dword [rbp + 0x88], 0xbb5
test al, al
mov eax, 0x328b
mov ecx, 0x2967
cmovne eax, ecx
xor eax, dword [rbp + 0x58]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x40f600
mov rax, qword [rbp + 0x98]
mov eax, dword [0x00439170]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x393e
mov ecx, 0x7ff9
cmove eax, ecx
cmp dword [0x00438d58], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x5c]
jmp 0x40f600
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 8]
mov qword [rax], 0
mov rax, qword [rbp - 8]
mov dword [rax], 1
mov eax, dword [rbp + 0x78]
mov ecx, 0x2abb
xor eax, ecx
jmp 0x40f600
mov rax, qword [rbp + 0x98]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
add rsp, 0x30
mov rcx, qword [rbp + 0x98]
mov qword [rcx], rax
mov rax, qword [rbp + 0x98]
cmp qword [rax], 0
sete byte [rbp + 0xbd]
mov eax, dword [rbp + 0x7c]
mov ecx, 0x25b9
xor eax, ecx
jmp 0x40f600
mov eax, dword [rbp + 0x70]
mov ecx, 0x56ac
xor eax, ecx
jmp 0x40f600
mov rax, qword [rbp + 0x98]
mov eax, dword [rbp + 0x88]
mov ecx, 0x22d2
xor eax, ecx
jmp 0x40f600
movzx eax, byte [rbp + 0xa6]
movzx eax, byte [rbp + 0xa5]
cmp byte [rbp - 0x68], 0
jne 0x4101cb
movups xmm0, xmmword [rbp + 0x18]
movups xmm1, xmmword [rbp + 0x28]
movups xmm2, xmmword [rbp + 0x38]
movups xmm3, xmmword [rbp + 0x48]
xorps xmm0, xmm6
movups xmmword [rbp + 0x18], xmm0
xorps xmm1, xmm6
movups xmmword [rbp + 0x28], xmm1
xorps xmm2, xmm6
movups xmmword [rbp + 0x38], xmm2
xorps xmm3, xmm6
movups xmmword [rbp + 0x48], xmm3
movups xmm0, xmmword [rbp + 0x58]
xorps xmm0, xmm6
movups xmmword [rbp + 0x58], xmm0
movups xmm0, xmmword [rbp + 0x68]
xorps xmm0, xmm6
movups xmmword [rbp + 0x68], xmm0
movups xmm0, xmmword [rbp + 0x78]
xorps xmm0, xmm6
movups xmmword [rbp + 0x78], xmm0
xor byte [rbp + 0x88], 0x26
xor byte [rbp + 0x8c], 0x26
cmp byte [rbp + 0xa7], 0
mov eax, 0x33a6
mov ecx, 0x5c2c
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x40f600
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x30
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor edx, edx
mov r8d, 2
xor r9d, r9d
call rsi
add rsp, 0x30
mov rcx, qword [rbp + 0xa8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
cmp qword [rax], 0
sete byte [rbp + 0xbe]
cmp dword [0x00438b00], 0xa
mov ecx, dword [0x00438bb4]
setl al
mov edx, 1
sub edx, ecx
imul edx, ecx
and edx, 1
sete cl
mov ebx, eax
and bl, cl
and dl, al
xor dl, al
xor dl, cl
or al, cl
xor al, dl
xor al, cl
or al, bl
test r14b, r14b
jne 0x4102d0
movaps xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmm8
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm8
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmm8
movaps xmmword [rbp + 0x50], xmm0
xor dword [rbp + 0x60], 0x7e1d
xor dword [rbp + 0x64], 0x7e1d
xor dword [rbp + 0x68], 0x7e1d
movups xmm0, xmmword [rbp + 0x78]
xorps xmm0, xmm8
movups xmmword [rbp + 0x78], xmm0
xor dword [rbp + 0x88], 0x7e1d
xor dword [rbp + 0x8c], 0x7e1d
test al, al
mov eax, 0x79d7
mov ecx, 0x1682
cmovne eax, ecx
xor eax, dword [rbp + 0x2c]
mov r14b, 1
jmp 0x40f600
mov rax, qword [rbp]
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.0040a3b0
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
add rsp, 0x20
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, qword [rbp + 8]
mov qword [rcx], rax
mov rax, qword [rbp - 8]
mov dword [rax], 1
mov rax, qword [rbp]
mov eax, dword [0x00438fbc]
cmp dword [0x00438cd8], 9
setg cl
mov edx, eax
or edx, 0x9517a7f4
mov ebx, 0x2a2f4fe8
sub ebx, edx
neg edx
add edx, eax
add edx, 0x2a2f4fe8
not edx
add edx, ebx
imul edx, eax
and edx, 1
sete al
or al, cl
xor al, dl
mov eax, 0x4e72
mov ecx, 0x6487
cmovne eax, ecx
xor eax, dword [rbp + 0x54]
jmp 0x40f600
mov ecx, dword [0x00438d10]
mov edx, dword [0x00438be0]
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
mov ebx, 1
sub ebx, ecx
imul ebx, ecx
test bl, 1
sete cl
or dl, cl
mov ebx, eax
xor bl, dl
xor al, cl
xor dl, cl
xor al, 1
or al, bl
xor al, dl
cmp byte [rbp - 0x50], 0
jne 0x410406
xor dword [rbp + 0x4c], 0x5039
xor dword [rbp + 0x80], 0x5039
test al, al
mov eax, 0xdd9
mov ecx, 0x223c
cmovne eax, ecx
xor eax, dword [rbp + 0x48]
mov cl, 1
mov qword [rbp - 0x50], rcx
jmp 0x40f600
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rax, qword [rbp + 8]
mov qword [rax], 0
mov rax, qword [rbp - 8]
mov dword [rax], 1
mov eax, dword [0x00438a9c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x5de0
mov ecx, 0x164f
cmove eax, ecx
cmp dword [0x00439078], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x4c]
jmp 0x40f600
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rax]
sub rsp, 0x30
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor edx, edx
mov r8d, 2
xor r9d, r9d
call rsi
add rsp, 0x30
mov rcx, qword [rbp + 0xa8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
cmp qword [rax], 0
sete byte [rbp + 0xbe]
mov eax, dword [rbp + 0x74]
mov ecx, 0x66bc
xor eax, ecx
jmp 0x40f600
movzx eax, byte [rbp + 0xbf]
test r13b, r13b
jne 0x41055f
movaps xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x20], xmm0
movaps xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x50], xmm0
xor dword [rbp + 0x60], 0x985
xor dword [rbp + 0x64], 0x985
xor dword [rbp + 0x68], 0x985
movaps xmm0, xmmword [rbp + 0x70]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x70], xmm0
movaps xmm0, xmmword [rbp + 0x80]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x80], xmm0
test al, 1
mov eax, 0x7c5f
mov ecx, 0x10cc
cmovne eax, ecx
xor eax, dword [rbp + 0x1c]
mov r13b, 1
jmp 0x40f600
mov eax, dword [0x004392c0]
mov ecx, eax
not ecx
lea edx, [rcx + rcx]
or ecx, 0x36eb9dea
sub ecx, edx
lea edx, [rcx + 0x36eb9de9]
mov rbx, rsi
mov esi, edx
xor esi, 0xfffffffe
add esi, ecx
and edx, 1
sub esi, edx
lea ecx, [rsi + 0x36eb9dec]
not ecx
lea edx, [rsi + rsi]
add edx, 0x6dd73bd8
mov rsi, rbx
add ecx, edx
add ecx, 0xffffffff
imul ecx, eax
test cl, 1
mov eax, 0x57cc
mov ecx, 0x574d
cmove eax, ecx
cmp dword [0x00438e4c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x24]
jmp 0x40f600
cmp eax, 0x5f44
jne 0x40f600
jmp 0x410689
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov ecx, dword [0x00438ae4]
cmp dword [0x00439104], 0xa
setl r8b
mov eax, 1
sub eax, ecx
imul eax, ecx
and eax, 1
sete cl
mov edx, r8d
and dl, al
mov ebx, r8d
or bl, cl
or al, r8b
xor dl, al
xor dl, bl
xor cl, r8b
xor cl, bl
xor al, r8b
xor al, cl
and al, dl
cmp byte [rbp - 0x38], 0
je 0x410680
test al, al
mov eax, 0x3da4
mov ecx, 0x66ae
cmovne eax, ecx
xor eax, dword [rbp + 0x64]
mov cl, 1
mov qword [rbp - 0x38], rcx
jmp 0x40f600
xor dword [rbp + 0x68], 0x7c93
jmp 0x41065d
mov rax, qword [rbp - 0x78]
movaps xmm6, xmmword [rbp + 0xc0]
movaps xmm7, xmmword [rbp + 0xd0]
movaps xmm8, xmmword [rbp + 0xe0]
movaps xmm9, xmmword [rbp + 0xf0]
movaps xmm10, xmmword [rbp + 0x100]
movaps xmm11, xmmword [rbp + 0x110]
movaps xmm12, xmmword [rbp + 0x120]
movaps xmm13, xmmword [rbp + 0x130]
movaps xmm14, xmmword [rbp + 0x140]
lea rsp, [rbp + 0x158]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret