Function at 0x414090
Capabilities:
Allocate or change rwx memory
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3e8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x350], xmm15
movaps xmmword [rbp + 0x340], xmm14
movaps xmmword [rbp + 0x330], xmm13
movaps xmmword [rbp + 0x320], xmm12
movaps xmmword [rbp + 0x310], xmm11
movaps xmmword [rbp + 0x300], xmm10
movaps xmmword [rbp + 0x2f0], xmm9
movaps xmmword [rbp + 0x2e0], xmm8
movaps xmmword [rbp + 0x2d0], xmm7
movaps xmmword [rbp + 0x2c0], xmm6
mov qword [rbp - 0x78], rcx
sub rsp, 0x20
lea rcx, [rbp + 0xf8]
mov r8d, 0x128
xor edx, edx
call sub.ntdll.dll_memset
add rsp, 0x20
mov eax, dword [0x004392f8]
cmp dword [0x00438d0c], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
mov byte [rbp + 0x27f], al
xor al, 1
mov byte [rbp + 0x27e], al
mov eax, 1
lea rcx, [0x00433550]
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x1e27
cmp rax, 0x49
je 0x414199
nop dword [rax + rax]
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4 + 0xf8], 0x1e27
add rax, 2
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x1e27
cmp rax, 0x49
jne 0x414170
mov eax, 0x3b9c
xor ecx, ecx
mov qword [rbp - 0x70], rcx
lea rsi, [0x00433cb0]
lea rdi, [0x00433680]
movaps xmm7, xmmword [0x0042f7f0]
movaps xmm6, xmmword [0x0042f7d0]
movaps xmm12, xmmword [0x0042f7a0]
movaps xmm13, xmmword [0x0042f780]
movaps xmm9, xmmword [0x0042f7b0]
movaps xmm10, xmmword [0x0042f790]
movaps xmm14, xmmword [0x0042f770]
lea r9, [0x004338c0]
lea r13, [0x00433430]
lea r12, [0x004339a0]
lea r14, [0x00433b40]
lea r15, [0x004337a0]
mov ecx, 0
mov qword [rbp - 0x18], rcx
mov ecx, 0
mov qword [rbp - 8], rcx
mov ecx, 0
mov qword [rbp - 0x10], rcx
mov ecx, 0
mov qword [rbp - 0x20], rcx
mov ecx, 0
mov qword [rbp - 0x28], rcx
mov ecx, 0
mov qword [rbp - 0x30], rcx
mov ecx, 0
mov qword [rbp - 0x40], rcx
mov ecx, 0
mov qword [rbp - 0x48], rcx
mov ecx, 0
mov qword [rbp - 0x50], rcx
mov ecx, 0
mov qword [rbp - 0x58], rcx
mov ecx, 0
mov qword [rbp - 0x60], rcx
mov ecx, 0
mov qword [rbp - 0x68], rcx
mov ecx, 0
mov qword [rbp + 0x10], rcx
mov ecx, 0
mov qword [rbp + 0x28], rcx
mov ecx, 0
mov qword [rbp + 0x18], rcx
mov ecx, 0
mov qword [rbp - 0x38], rcx
mov ecx, 0
mov qword [rbp + 0x30], rcx
mov ecx, 0
mov qword [rbp + 0x38], rcx
mov ecx, 0
mov qword [rbp + 0x50], rcx
mov ecx, 0
mov qword [rbp + 0xe0], rcx
mov ecx, 0
mov qword [rbp + 0xe8], rcx
mov ecx, 0
mov qword [rbp + 8], rcx
mov ecx, 0
mov qword [rbp], rcx
mov ecx, 0
mov qword [rbp + 0xd8], rcx
mov ecx, 0
mov qword [rbp + 0xc8], rcx
mov ecx, 0
mov qword [rbp + 0xd0], rcx
mov ecx, 0
mov qword [rbp + 0x20], rcx
mov ecx, 0
mov qword [rbp + 0xc0], rcx
mov ecx, 0
mov qword [rbp + 0xb0], rcx
mov ecx, 0
mov qword [rbp + 0xb8], rcx
mov ecx, 0
mov qword [rbp + 0x40], rcx
mov ecx, 0
mov qword [rbp + 0x48], rcx
mov ecx, 0
mov qword [rbp + 0xa8], rcx
xor ecx, ecx
mov qword [rbp + 0x98], rcx
xor ecx, ecx
mov qword [rbp + 0xa0], rcx
xor ecx, ecx
mov qword [rbp + 0x88], rcx
xor ecx, ecx
mov qword [rbp + 0x90], rcx
xor ecx, ecx
mov qword [rbp + 0x68], rcx
xor ecx, ecx
mov qword [rbp + 0x60], rcx
xor ecx, ecx
mov qword [rbp + 0x58], rcx
xor ecx, ecx
mov qword [rbp + 0x70], rcx
xor ecx, ecx
mov qword [rbp + 0x80], rcx
xor ecx, ecx
mov qword [rbp + 0x78], rcx
movaps xmm15, xmmword [0x0042f7e0]
movaps xmm11, xmmword [0x0042f860]
movaps xmm8, xmmword [0x0042f7c0]
jmp 0x4143d0
mov eax, dword [rbp + 0x214]
mov ecx, 0x797b
xor eax, ecx
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp eax, 0x3d02
jle 0x4144d0
cmp eax, 0x63ba
jle 0x414570
cmp eax, 0x7108
jg 0x414756
cmp eax, 0x6865
jle 0x414a86
cmp eax, 0x6aee
jle 0x414f04
cmp eax, 0x6aef
je 0x415838
cmp eax, 0x6bb1
je 0x4158a9
cmp eax, 0x70c7
jne 0x4143d0
mov ecx, dword [0x00438b4c]
mov edx, dword [0x00438fb4]
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
lea edi, [rcx + 1]
imul edi, ecx
test dil, 1
sete cl
or dl, cl
xor dl, al
xor dl, 1
xor al, cl
or al, dl
cmp byte [rbp - 0x10], 0
jne 0x4144a4
movups xmm0, xmmword [rbp + 0x10c]
movups xmm1, xmmword [rbp + 0x11c]
movups xmm2, xmmword [rbp + 0x1d0]
xorps xmm0, xmm11
movups xmmword [rbp + 0x10c], xmm0
xorps xmm1, xmm11
movups xmmword [rbp + 0x11c], xmm1
xor dword [rbp + 0x12c], 0x2297
xor dword [rbp + 0x130], 0x2297
xorps xmm2, xmm11
movups xmmword [rbp + 0x1d0], xmm2
test al, al
mov eax, 0x3a37
mov ecx, 0x326
cmovne eax, ecx
xor eax, dword [rbp + 0x108]
mov cl, 1
mov qword [rbp - 0x10], rcx
lea rdi, [0x00433680]
jmp 0x4143d0
cmp eax, 0x241b
jg 0x414650
cmp eax, 0xbce
jg 0x4147b4
cmp eax, 0x3cf
jle 0x414b81
cmp eax, 0x6e7
jle 0x414f3d
cmp eax, 0x6e8
je 0x415993
cmp eax, 0xabb
je 0x415a05
cmp eax, 0xaf4
jne 0x4143d0
mov al, byte [rbp + 0x2b4]
cmp byte [rbp - 0x60], 0
jne 0x414547
xor dword [rbp + 0x12c], 0x476
xor dword [rbp + 0x130], 0x476
xor dword [rbp + 0x1dc], 0x476
test al, 1
mov eax, 0x1b40
mov ecx, 0x4216
cmovne eax, ecx
xor eax, dword [rbp + 0x128]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x4143d0
cmp eax, 0x5265
jg 0x41490a
cmp eax, 0x4473
jle 0x414c0d
cmp eax, 0x493a
jle 0x415011
cmp eax, 0x493b
je 0x415c39
cmp eax, 0x4ca4
je 0x415cc1
cmp eax, 0x5035
jne 0x4143d0
mov rax, qword [rbp + 0x268]
cmp byte [rax], 0
setne byte [rbp + 0x2b3]
cmp dword [0x00439088], 0xa
mov eax, dword [0x00438ea4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x28], 0
jne 0x414629
mov ecx, 2
nop dword [rax]
movsxd rdx, dword [r12 + rcx*4 - 8]
xor dword [rbp + rdx*4 + 0xf8], 0x22f1
movsxd rdx, dword [r12 + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x22f1
movsxd rdx, dword [r12 + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x22f1
add rcx, 3
cmp rcx, 0x35
jne 0x4145f0
test al, al
mov eax, 0x13fd
mov ecx, 0x28d2
cmovne eax, ecx
xor eax, dword [rbp + 0x138]
mov cl, 1
mov qword [rbp + 0x28], rcx
jmp 0x4143d0
cmp eax, 0x321d
jg 0x4149da
cmp eax, 0x2d92
jle 0x414caa
cmp eax, 0x2f1d
jle 0x4150d9
cmp eax, 0x2f1e
je 0x415d3a
cmp eax, 0x2fcc
je 0x415d92
cmp eax, 0x319c
jne 0x4143d0
mov eax, dword [0x00438cc8]
cmp dword [0x004393b4], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xc0], 0
jne 0x414733
movups xmm0, xmmword [rbp + 0x17c]
movups xmm1, xmmword [rbp + 0x18c]
movups xmm2, xmmword [rbp + 0x19c]
movups xmm3, xmmword [rbp + 0x1ac]
xorps xmm0, xmm12
movups xmmword [rbp + 0x17c], xmm0
xorps xmm1, xmm12
movups xmmword [rbp + 0x18c], xmm1
xorps xmm2, xmm12
movups xmmword [rbp + 0x19c], xmm2
xorps xmm3, xmm12
movups xmmword [rbp + 0x1ac], xmm3
xor dword [rbp + 0x1bc], 0x348
movups xmm0, xmmword [rbp + 0x1fc]
xorps xmm0, xmm12
movups xmmword [rbp + 0x1fc], xmm0
movups xmm0, xmmword [rbp + 0x20c]
xorps xmm0, xmm12
movups xmmword [rbp + 0x20c], xmm0
test al, al
mov eax, 0x1cf7
mov ecx, 0x67e8
cmovne eax, ecx
xor eax, dword [rbp + 0x178]
mov cl, 1
mov qword [rbp + 0xc0], rcx
jmp 0x4143d0
cmp eax, 0x7856
jle 0x414cf1
cmp eax, 0x7d85
jle 0x415185
cmp eax, 0x7d86
je 0x415ea4
cmp eax, 0x7f0f
je 0x416070
cmp eax, 0x7f45
jne 0x4143d0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax + 1], 0x4c
sete byte [rbp + 0x2b6]
mov eax, dword [rbp + 0x1d0]
mov ecx, 0x21b1
xor eax, ecx
jmp 0x4143d0
cmp eax, 0xeee
jle 0x414d2e
cmp eax, 0x174f
jle 0x415318
cmp eax, 0x1750
je 0x41609f
cmp eax, 0x1a9b
je 0x416133
cmp eax, 0x1b99
jne 0x4143d0
mov rax, qword [rbp + 0x288]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x2b8]
mov rcx, qword [rcx]
cmp eax, dword [rcx + 0x20]
setl byte [rbp + 0x2b2]
cmp dword [0x00438f18], 0xa
mov eax, dword [0x00438f20]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xe0], 0
jne 0x4148e7
movups xmm0, xmmword [rbp + 0x158]
movups xmm1, xmmword [rbp + 0x168]
movups xmm2, xmmword [rbp + 0x178]
movups xmm3, xmmword [rbp + 0x188]
xorps xmm0, xmm7
movups xmmword [rbp + 0x158], xmm0
xorps xmm1, xmm7
movups xmmword [rbp + 0x168], xmm1
xorps xmm2, xmm7
movups xmmword [rbp + 0x178], xmm2
xorps xmm3, xmm7
movups xmmword [rbp + 0x188], xmm3
movups xmm0, xmmword [rbp + 0x198]
xorps xmm0, xmm7
movups xmmword [rbp + 0x198], xmm0
movups xmm0, xmmword [rbp + 0x1a8]
xorps xmm0, xmm7
movups xmmword [rbp + 0x1a8], xmm0
movups xmm0, xmmword [rbp + 0x1b8]
xorps xmm0, xmm7
movups xmmword [rbp + 0x1b8], xmm0
xor dword [rbp + 0x1c8], 0x6532
movups xmm0, xmmword [rbp + 0x1f0]
xorps xmm0, xmm7
movups xmmword [rbp + 0x1f0], xmm0
movups xmm0, xmmword [rbp + 0x200]
xorps xmm0, xmm7
movups xmmword [rbp + 0x200], xmm0
movups xmm0, xmmword [rbp + 0x210]
xorps xmm0, xmm7
movups xmmword [rbp + 0x210], xmm0
test al, al
mov eax, 0x39e4
mov ecx, 0x2d5a
cmovne eax, ecx
xor eax, dword [rbp + 0x154]
mov cl, 1
mov qword [rbp + 0xe0], rcx
jmp 0x4143d0
cmp eax, 0x5c53
jle 0x414e20
cmp eax, 0x5e66
jle 0x4153b3
cmp eax, 0x5e67
je 0x41619f
cmp eax, 0x5f03
je 0x41622b
cmp eax, 0x6267
jne 0x4143d0
mov ecx, dword [0x00438b08]
cmp dword [0x00438f2c], 9
setg dl
mov eax, ecx
not eax
imul eax, ecx
and al, dl
cmp byte [rbp + 0xa8], 0
jne 0x4149b7
movups xmm0, xmmword [rbp + 0x198]
movups xmm1, xmmword [rbp + 0x1a8]
movups xmm2, xmmword [rbp + 0x208]
xorps xmm0, xmm14
movups xmmword [rbp + 0x198], xmm0
xorps xmm1, xmm14
movups xmmword [rbp + 0x1a8], xmm1
xor dword [rbp + 0x1b8], 0x363
xor dword [rbp + 0x1bc], 0x363
xorps xmm2, xmm14
movups xmmword [rbp + 0x208], xmm2
xor dword [rbp + 0x218], 0x363
test al, al
mov eax, 0x3144
mov ecx, 0x4964
cmovne eax, ecx
xor eax, dword [rbp + 0x194]
mov cl, 1
mov qword [rbp + 0xa8], rcx
jmp 0x4143d0
cmp eax, 0x37b6
jle 0x414eb0
cmp eax, 0x3a49
jle 0x4153f5
cmp eax, 0x3a4a
je 0x41632e
cmp eax, 0x3ac6
je 0x4163e8
cmp eax, 0x3b9c
jne 0x4143d0
mov al, byte [rbp + 0x27e]
cmp byte [rbp - 0x70], 0
jne 0x414a61
mov eax, 2
nop word cs:[rax + rax]
nop dword [rax]
movsxd rcx, dword [r13 + rax*4 - 8]
xor byte [rbp + rcx*4 + 0xf8], 0x26
movsxd rcx, dword [r13 + rax*4 - 4]
xor byte [rbp + rcx*4 + 0xf8], 0x26
movsxd rcx, dword [r13 + rax*4]
xor byte [rbp + rcx*4 + 0xf8], 0x26
add rax, 3
cmp rax, 0x4a
jne 0x414a30
cmp byte [rbp + 0x27f], 0
mov eax, 0x63a1
mov ecx, 0x149c
cmovne eax, ecx
xor eax, dword [rbp + 0xf8]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x4143d0
cmp eax, 0x657e
jle 0x415477
cmp eax, 0x657f
je 0x416440
cmp eax, 0x65c2
jne 0x41746e
mov eax, dword [rbp + 0xf4]
cmp eax, 4
sete byte [rbp + 0x2af]
mov ecx, dword [0x00438af0]
mov eax, dword [0x00439034]
cmp eax, 9
setg dl
cmp eax, 0xa
setl bl
mov edi, ecx
and edi, 0x8a5cf88f
mov eax, edi
xor eax, 0x8a5cf88f
xor edi, 0x75a30771
add edi, eax
add edi, 3
mov esi, edi
not esi
and eax, 1
sub edi, eax
add eax, esi
add eax, edi
add eax, edi
add eax, 0xfffffffe
imul eax, ecx
and al, 1
or al, bl
xor al, dl
cmp byte [rbp + 0x88], 0
jne 0x414b5e
movups xmm0, xmmword [rbp + 0x1a4]
xorps xmm0, xmmword [0x0042f740]
movups xmmword [rbp + 0x1a4], xmm0
xor dword [rbp + 0x1b4], 0x6e3f
xor dword [rbp + 0x1b8], 0x6e3f
xor dword [rbp + 0x1bc], 0x6e3f
xor dword [rbp + 0x210], 0x6e3f
xor dword [rbp + 0x214], 0x6e3f
xor dword [rbp + 0x218], 0x6e3f
test al, al
mov eax, 0x29a3
mov ecx, 0x1777
cmovne eax, ecx
xor eax, dword [rbp + 0x1a0]
mov cl, 1
mov qword [rbp + 0x88], rcx
jmp 0x414e0d
cmp eax, 0x1b2
jg 0x415536
cmp eax, 0x77
je 0x4164b9
cmp eax, 0xef
jne 0x4143d0
cmp dword [0x004390cc], 0xa
mov eax, dword [0x00438ccc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x414bed
movups xmm0, xmmword [rbp + 0x124]
xorps xmm0, xmmword [0x0042f800]
movups xmmword [rbp + 0x124], xmm0
xor dword [rbp + 0x1d8], 0x16dd
xor dword [rbp + 0x1dc], 0x16dd
test al, al
mov eax, 0x6595
mov ecx, 0x585c
cmovne eax, ecx
xor eax, dword [rbp + 0x120]
mov cl, 1
mov qword [rbp - 0x50], rcx
jmp 0x4143d0
cmp eax, 0x3fcd
jg 0x4155ae
cmp eax, 0x3d03
je 0x41656f
cmp eax, 0x3e94
jne 0x4143d0
mov eax, dword [0x00438a14]
cmp dword [0x00438e24], 0xa
setl cl
mov edx, eax
and edx, 0x394c0375
mov ebx, eax
not ebx
or ebx, 0xc6b3fc8a
add edx, eax
add edx, ebx
add edx, 0x394c0378
mov ebx, edx
not ebx
add edx, edx
add edx, ebx
add edx, 0xffffffff
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x414c8a
xor dword [rbp + 0x144], 0xbb5
xor dword [rbp + 0x1e4], 0xbb5
test al, al
mov eax, 0x1ab5
mov ecx, 0x1229
cmovne eax, ecx
xor eax, dword [rbp + 0x140]
mov cl, 1
mov qword [rbp - 0x38], rcx
jmp 0x4143d0
cmp eax, 0x285e
jg 0x415637
cmp eax, 0x241c
je 0x4165dd
cmp eax, 0x25aa
jne 0x4143d0
sub rsp, 0x20
call fcn.00401a60
lea r9, [0x004338c0]
add rsp, 0x20
mov eax, dword [rbp + 0x1e4]
mov ecx, 0x199c
xor eax, ecx
jmp 0x4143d0
cmp eax, 0x7257
jg 0x4156d7
cmp eax, 0x7109
je 0x416630
cmp eax, 0x71e8
jne 0x4143d0
mov rax, qword [rbp + 0x268]
mov byte [rax], 1
mov eax, dword [rbp + 0x1dc]
mov ecx, 0x3dbf
xor eax, ecx
jmp 0x4143d0
cmp eax, 0xdec
jg 0x41570f
cmp eax, 0xbcf
je 0x41669f
cmp eax, 0xc50
jne 0x4143d0
mov eax, dword [0x004391f8]
cmp dword [0x00438ed0], 0xa
setl cl
mov esi, eax
and esi, 0x7b4e953d
mov edi, eax
not edi
mov edx, esi
add edx, 0x7b4e953e
add edx, esi
add edx, 0x7b4e953e
add edx, edi
add edx, 2
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 - 0x30], 0
jne 0x414df2
movups xmm0, xmmword [rbp + 0x118]
xorps xmm0, xmmword [0x0042f830]
movups xmmword [rbp + 0x118], xmm0
xor dword [rbp + 0x128], 0x7e1d
xor dword [rbp + 0x12c], 0x7e1d
xor dword [rbp + 0x130], 0x7e1d
xor dword [rbp + 0x1d4], 0x7e1d
xor dword [rbp + 0x1d8], 0x7e1d
xor dword [rbp + 0x1dc], 0x7e1d
test al, al
mov eax, 0x4776
mov ecx, 0x68ee
cmovne eax, ecx
xor eax, dword [rbp + 0x114]
mov cl, 1
mov qword [rbp - 0x30], rcx
lea rsi, [0x00433cb0]
lea rdi, [0x00433680]
jmp 0x4143d0
cmp eax, 0x58f5
jg 0x415756
cmp eax, 0x5266
je 0x416705
cmp eax, 0x5391
jne 0x4143d0
mov al, byte [rbp + 0x2b3]
cmp byte [rbp + 0x18], 0
jne 0x414e90
mov ecx, 1
nop word cs:[rax + rax]
nop dword [rax]
lea rbx, [0x00433a70]
movsxd rdx, dword [rbx + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x66ad
movsxd rdx, dword [rbx + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x66ad
add rcx, 2
cmp rcx, 0x33
jne 0x414e60
test al, 1
mov eax, 0x6726
mov ecx, 0x3ccd
cmovne eax, ecx
xor eax, dword [rbp + 0x13c]
mov cl, 1
mov qword [rbp + 0x18], rcx
jmp 0x4143d0
cmp eax, 0x3688
jg 0x4157cb
cmp eax, 0x321e
je 0x4167a0
cmp eax, 0x3600
jne 0x4143d0
sub rsp, 0x20
call fcn.00401a60
lea r9, [0x004338c0]
add rsp, 0x20
mov rax, qword [rbp + 0x250]
mov dword [rax], 4
mov eax, dword [rbp + 0x200]
mov ecx, 0x795d
xor eax, ecx
jmp 0x4143d0
cmp eax, 0x6866
je 0x416824
cmp eax, 0x68be
jne 0x4143d0
mov rax, qword [rbp + 0x268]
cmp byte [rax], 0
setne byte [rbp + 0x2b3]
mov eax, dword [rbp + 0x1e0]
mov ecx, 0x2b76
xor eax, ecx
jmp 0x4143d0
cmp eax, 0x3d0
je 0x416836
cmp eax, 0x426
jne 0x4143d0
mov rax, qword [rbp + 0x220]
mov rax, qword [rbp + 0x220]
mov qword [rax], 0x40
mov rax, qword [rbp + 0x298]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x258]
movsxd rdx, dword [rax]
mov r9, qword [rbp + 0x220]
sub rsp, 0x20
mov r8d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [0x004338c0]
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x250]
mov dword [rax], 1
mov rax, qword [rbp + 0x220]
mov rax, qword [rbp + 0x298]
mov rax, qword [rbp + 0x230]
mov rax, qword [rbp + 0x258]
mov rax, qword [rbp + 0x238]
mov rax, qword [rbp + 0x260]
mov rax, qword [rbp + 0x270]
mov rax, qword [rbp + 0x290]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x268]
mov eax, dword [rbp + 0x21c]
mov ecx, 0x71af
xor eax, ecx
jmp 0x4143d0
cmp eax, 0x4474
je 0x416b27
cmp eax, 0x4654
jne 0x4143d0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax + 1], 0x4c
sete byte [rbp + 0x2b6]
mov eax, dword [0x00439304]
cmp dword [0x00438a00], 0xa
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 0xfffffffe
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x20], 0
jne 0x4150b9
movups xmm0, xmmword [rbp + 0x110]
movups xmm1, xmmword [rbp + 0x120]
movaps xmm2, xmmword [0x0042f850]
xorps xmm0, xmm2
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm2
movups xmmword [rbp + 0x120], xmm1
xor dword [rbp + 0x130], 0x2e15
xor dword [rbp + 0x1d4], 0x2e15
xor dword [rbp + 0x1d8], 0x2e15
xor dword [rbp + 0x1dc], 0x2e15
test al, al
mov eax, 0x18a0
mov ecx, 0x26c4
cmovne eax, ecx
xor eax, dword [rbp + 0x10c]
mov cl, 1
mov qword [rbp - 0x20], rcx
jmp 0x4143d0
cmp eax, 0x2d93
je 0x416b9f
cmp eax, 0x2e2b
jne 0x4143d0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax + 2], 0x58
sete byte [rbp + 0x2b5]
cmp dword [0x00438d7c], 0xa
mov eax, dword [0x00438f48]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x415165
movups xmm0, xmmword [rbp + 0x11c]
xorps xmm0, xmmword [0x0042f820]
movups xmmword [rbp + 0x11c], xmm0
xor dword [rbp + 0x12c], 0x28d2
xor dword [rbp + 0x130], 0x28d2
xor dword [rbp + 0x1d8], 0x28d2
xor dword [rbp + 0x1dc], 0x28d2
test al, al
mov eax, 0x16f3
mov ecx, 0x4c90
cmovne eax, ecx
xor eax, dword [rbp + 0x118]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x4143d0
cmp eax, 0x7857
je 0x416bc6
cmp eax, 0x7a11
jne 0x4143d0
mov rax, qword [rbp + 0x248]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x288]
movsxd rcx, dword [rcx]
lea rax, [rax + rcx*8 + 0x28]
mov rcx, qword [rbp + 0x248]
mov qword [rcx], rax
mov rax, qword [rbp + 0x280]
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x290]
movsxd rcx, dword [rcx]
add rcx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rax, dword [rax + 0x18]
add rax, rcx
mov rcx, qword [rbp + 0x248]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 4]
add ecx, ecx
lea ecx, [rcx + rcx*8]
add rcx, rax
mov rax, qword [rbp + 0x280]
mov qword [rax], rcx
mov rax, qword [rbp + 0x280]
mov rax, qword [rax]
cmp byte [rax], 0
sete byte [rbp + 0x2b1]
mov ecx, dword [0x00438b88]
mov eax, dword [0x004389f4]
cmp eax, 9
setg dl
cmp eax, 0xa
setl bl
mov eax, 1
sub eax, ecx
imul eax, ecx
and eax, 1
sete cl
or al, bl
or bl, cl
and dl, cl
xor al, dl
xor al, bl
cmp byte [rbp + 0xc8], 0
jne 0x4152f5
movups xmm0, xmmword [rbp + 0x16c]
movups xmm1, xmmword [rbp + 0x17c]
movups xmm2, xmmword [rbp + 0x18c]
movups xmm3, xmmword [rbp + 0x19c]
xorps xmm0, xmm8
movups xmmword [rbp + 0x16c], xmm0
xorps xmm1, xmm8
movups xmmword [rbp + 0x17c], xmm1
xorps xmm2, xmm8
movups xmmword [rbp + 0x18c], xmm2
xorps xmm3, xmm8
movups xmmword [rbp + 0x19c], xmm3
movups xmm0, xmmword [rbp + 0x1ac]
xorps xmm0, xmm8
movups xmmword [rbp + 0x1ac], xmm0
xor dword [rbp + 0x1bc], 0x25fd
movups xmm0, xmmword [rbp + 0x1f8]
xorps xmm0, xmm8
movups xmmword [rbp + 0x1f8], xmm0
movups xmm0, xmmword [rbp + 0x208]
xorps xmm0, xmm8
movups xmmword [rbp + 0x208], xmm0
xor dword [rbp + 0x218], 0x25fd
test al, al
mov eax, 0x3f54
mov ecx, 0x3166
cmovne eax, ecx
xor eax, dword [rbp + 0x168]
mov cl, 1
mov qword [rbp + 0xc8], rcx
jmp 0x4143d0
cmp eax, 0xeef
je 0x416bfc
cmp eax, 0x105a
jne 0x4143d0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax + 3], 0x43
sete byte [rbp + 0x2b4]
mov eax, dword [0x00438e64]
cmp dword [0x00438d40], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x415393
xor dword [rbp + 0x128], 0x6dc4
xor dword [rbp + 0x12c], 0x6dc4
xor dword [rbp + 0x130], 0x6dc4
xor dword [rbp + 0x1dc], 0x6dc4
test al, al
mov eax, 0x7348
mov ecx, 0x542f
cmovne eax, ecx
xor eax, dword [rbp + 0x124]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x4143d0
cmp eax, 0x5c54
je 0x416c22
cmp eax, 0x5c58
jne 0x4143d0
mov rax, qword [rbp + 0x288]
mov eax, dword [rax]
lea ecx, [rax + rax]
sub ecx, eax
add ecx, 1
mov rax, qword [rbp + 0x288]
mov dword [rax], ecx
mov eax, dword [rbp + 0x218]
mov ecx, 0xe12
xor eax, ecx
jmp 0x4143d0
cmp eax, 0x37b7
je 0x4143b4
cmp eax, 0x387a
jne 0x4143d0
mov eax, dword [0x00438bc8]
cmp dword [0x00438dfc], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x80], 0
jne 0x415454
xor dword [rbp + 0x1c4], 0x1dcd
xor dword [rbp + 0x1c8], 0x1dcd
xor dword [rbp + 0x21c], 0x1dcd
test al, al
mov eax, 0x1a1c
mov ecx, 0x6c62
cmovne eax, ecx
xor eax, dword [rbp + 0x1c0]
mov cl, 1
mov qword [rbp + 0x80], rcx
jmp 0x4143d0
cmp eax, 0x63bb
je 0x416ce0
cmp eax, 0x647f
jne 0x4143d0
mov rax, qword [rbp + 0x228]
mov rax, qword [rbp + 0x280]
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov rcx, qword [rbp + 0x228]
mov dword [rcx], eax
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x290]
movsxd rcx, dword [rcx]
add rcx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rax, dword [rax + 0x1c]
add rax, rcx
mov rcx, qword [rbp + 0x228]
movsxd rcx, dword [rcx]
add rcx, rax
mov rax, qword [rbp + 0x280]
mov qword [rax], rcx
mov rax, qword [rbp + 0x228]
mov eax, dword [0x0043909c]
cmp dword [0x00438c08], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
and edx, 1
sete al
and dl, cl
mov ebx, ecx
xor bl, al
or cl, al
xor dl, bl
xor bl, cl
xor cl, al
xor cl, dl
mov eax, 0x378d
mov ecx, 0xf9
cmovne eax, ecx
test bl, bl
cmovne eax, ecx
xor eax, dword [rbp + 0x174]
jmp 0x4143d0
cmp eax, 0x1b3
je 0x416d6d
cmp eax, 0x270
jne 0x4143d0
cmp dword [0x00439194], 0xa
mov eax, dword [0x004390e8]
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
and edx, 1
sete r8b
and dl, cl
mov eax, ecx
or al, r8b
xor cl, r8b
mov ebx, eax
xor bl, cl
xor cl, dl
xor al, r8b
xor al, cl
or al, bl
cmp byte [rbp + 0x50], 0
je 0x4173ce
test al, al
mov eax, 0x6d73
mov ecx, 0x9e5
cmovne eax, ecx
xor eax, dword [rbp + 0x150]
mov cl, 1
mov qword [rbp + 0x50], rcx
jmp 0x4143d0
cmp eax, 0x3fce
je 0x416d94
cmp eax, 0x4121
jne 0x4143d0
mov al, byte [rbp + 0x2b6]
cmp byte [rbp - 0x28], 0
jne 0x415617
movups xmm0, xmmword [rbp + 0x114]
movups xmm1, xmmword [rbp + 0x124]
movaps xmm2, xmmword [0x0042f840]
xorps xmm0, xmm2
movups xmmword [rbp + 0x114], xmm0
xorps xmm1, xmm2
movups xmmword [rbp + 0x124], xmm1
xor dword [rbp + 0x1d4], 0x20ad
xor dword [rbp + 0x1d8], 0x20ad
xor dword [rbp + 0x1dc], 0x20ad
test al, 1
mov eax, 0x61af
mov ecx, 0x45a0
cmovne eax, ecx
xor eax, dword [rbp + 0x110]
mov cl, 1
mov qword [rbp - 0x28], rcx
jmp 0x4143d0
cmp eax, 0x285f
je 0x416e10
cmp eax, 0x2d36
jne 0x4143d0
sub rsp, 0x20
call fcn.00401a60
lea r9, [0x004338c0]
add rsp, 0x20
mov eax, dword [0x004393e0]
mov ecx, eax
or ecx, 0x3b72002c
mov edx, eax
xor edx, 0x3b72002c
sub edx, ecx
mov ecx, eax
not ecx
or ecx, 0x3b72002c
lea ebx, [rdx + rcx]
add ecx, edx
add ecx, 0x3b72002d
mov edx, ecx
xor edx, 0xfffffffe
and ecx, 1
add edx, ebx
add edx, 0x3b72002d
sub edx, ecx
lea ecx, [rdx + 3]
not ecx
add ecx, edx
add ecx, 3
add ecx, edx
add ecx, 2
imul ecx, eax
test cl, 1
mov eax, 0x1100
mov ecx, 0x51d5
cmove eax, ecx
cmp dword [0x00438b10], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x144]
jmp 0x4143d0
cmp eax, 0x7258
je 0x416e58
cmp eax, 0x7270
jne 0x4143d0
mov eax, dword [rbp + 0xf4]
cmp eax, 4
sete byte [rbp + 0x2af]
mov eax, dword [rbp + 0x20c]
mov ecx, 0x3e11
xor eax, ecx
jmp 0x4143d0
cmp eax, 0xded
je 0x416f5f
cmp eax, 0xdf9
jne 0x4143d0
mov eax, dword [0x00439108]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x4335
mov ecx, 0x4e44
cmove eax, ecx
cmp dword [0x00438e54], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x1b4]
jmp 0x4143d0
cmp eax, 0x58f6
je 0x416fd5
cmp eax, 0x5bd0
jne 0x4143d0
mov al, byte [rbp + 0x2b5]
cmp byte [rbp - 0x48], 0
jne 0x4157ab
movups xmm0, xmmword [rbp + 0x120]
xorps xmm0, xmmword [0x0042f810]
movups xmmword [rbp + 0x120], xmm0
xor dword [rbp + 0x130], 0x7794
xor dword [rbp + 0x1d8], 0x7794
xor dword [rbp + 0x1dc], 0x7794
test al, 1
mov eax, 0x17cd
mov ecx, 0x3f7d
cmovne eax, ecx
xor eax, dword [rbp + 0x11c]
mov cl, 1
mov qword [rbp - 0x48], rcx
jmp 0x4143d0
cmp eax, 0x3689
je 0x41702d
cmp eax, 0x36c5
jne 0x4143d0
sub rsp, 0x20
call fcn.00401a60
lea r9, [0x004338c0]
add rsp, 0x20
mov rax, qword [rbp + 0x240]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x298]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x248]
mov rdx, qword [rdx]
mov edx, dword [rdx]
mov qword [rcx + rdx], rax
mov rax, qword [rbp + 0x250]
mov dword [rax], 0
mov eax, dword [rbp + 0x204]
mov ecx, 0xd97
xor eax, ecx
jmp 0x4143d0
mov al, byte [rbp + 0x2b7]
cmp byte [rbp - 8], 0
jne 0x415889
mov ecx, 2
nop dword [rax]
movsxd rdx, dword [r15 + rcx*4 - 8]
xor dword [rbp + rdx*4 + 0xf8], 0x985
movsxd rdx, dword [r15 + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x985
movsxd rdx, dword [r15 + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x985
add rcx, 3
cmp rcx, 0x47
jne 0x415850
test al, 1
mov eax, 0x64a8
mov ecx, 0x3c30
cmovne eax, ecx
xor eax, dword [rbp + 0x104]
mov cl, 1
mov qword [rbp - 8], rcx
jmp 0x4143d0
mov al, byte [rbp + 0x2b2]
cmp byte [rbp + 0xe8], 0
jne 0x415970
movups xmm0, xmmword [rbp + 0x15c]
movups xmm1, xmmword [rbp + 0x16c]
movups xmm2, xmmword [rbp + 0x17c]
movups xmm3, xmmword [rbp + 0x18c]
xorps xmm0, xmm15
movups xmmword [rbp + 0x15c], xmm0
xorps xmm1, xmm15
movups xmmword [rbp + 0x16c], xmm1
xorps xmm2, xmm15
movups xmmword [rbp + 0x17c], xmm2
xorps xmm3, xmm15
movups xmmword [rbp + 0x18c], xmm3
movups xmm0, xmmword [rbp + 0x19c]
xorps xmm0, xmm15
movups xmmword [rbp + 0x19c], xmm0
movups xmm0, xmmword [rbp + 0x1ac]
xorps xmm0, xmm15
movups xmmword [rbp + 0x1ac], xmm0
movups xmm0, xmmword [rbp + 0x1bc]
xorps xmm0, xmm15
movups xmmword [rbp + 0x1bc], xmm0
movups xmm0, xmmword [rbp + 0x1f0]
xorps xmm0, xmm15
movups xmmword [rbp + 0x1f0], xmm0
movups xmm0, xmmword [rbp + 0x200]
xorps xmm0, xmm15
movups xmmword [rbp + 0x200], xmm0
movups xmm0, xmmword [rbp + 0x210]
xorps xmm0, xmm15
movups xmmword [rbp + 0x210], xmm0
test al, 1
mov eax, 0x11c7
mov ecx, 0xc15
cmovne eax, ecx
xor eax, dword [rbp + 0x158]
mov cl, 1
mov qword [rbp + 0xe8], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x228]
mov rax, qword [rbp + 0x280]
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov rcx, qword [rbp + 0x228]
mov dword [rcx], eax
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x290]
movsxd rcx, dword [rcx]
add rcx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rax, dword [rax + 0x1c]
add rax, rcx
mov rcx, qword [rbp + 0x228]
movsxd rcx, dword [rcx]
add rcx, rax
mov rax, qword [rbp + 0x280]
mov qword [rax], rcx
mov rax, qword [rbp + 0x228]
mov eax, dword [rbp + 0x1f8]
mov ecx, 0x551a
xor eax, ecx
jmp 0x4143d0
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2a0], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x268], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2b8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x290], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x270], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x260], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x238], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x258], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x230], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x298], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x288], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x250], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x248], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x280], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x228], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x240], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
mov rax, qword [rbp + 0x268]
mov rax, qword [rbp + 0x268]
mov byte [rax], 0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax], 0x56
sete byte [rbp + 0x2b7]
mov eax, dword [0x00439054]
cmp dword [0x00438f80], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x18], 0
jne 0x415c19
mov ecx, 1
nop dword [rax]
movsxd rdx, dword [rdi + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x52f6
movsxd rdx, dword [rdi + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x52f6
add rcx, 2
cmp rcx, 0x47
jne 0x415bf0
test al, al
mov eax, 0x6387
mov ecx, 0x74ee
cmovne eax, ecx
xor eax, dword [rbp + 0x100]
mov cl, 1
mov qword [rbp - 0x18], rcx
jmp 0x4143d0
mov ecx, dword [0x00438edc]
cmp dword [0x00438b34], 9
setg dl
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
sete cl
or al, dl
xor al, dl
xor al, cl
cmp byte [rbp + 0xa0], 0
jne 0x415c9e
movups xmm0, xmmword [rbp + 0x1a0]
movups xmm1, xmmword [rbp + 0x1b0]
movups xmm2, xmmword [rbp + 0x20c]
movaps xmm3, xmmword [0x0042f750]
xorps xmm0, xmm3
movups xmmword [rbp + 0x1a0], xmm0
xorps xmm1, xmm3
movups xmmword [rbp + 0x1b0], xmm1
xorps xmm2, xmm3
movups xmmword [rbp + 0x20c], xmm2
test al, al
mov eax, 0x337d
mov ecx, 0x24cf
cmovne eax, ecx
xor eax, dword [rbp + 0x19c]
mov cl, 1
mov qword [rbp + 0xa0], rcx
jmp 0x4143d0
mov al, byte [rbp + 0x2af]
cmp byte [rbp + 0x90], 0
jne 0x415d17
movups xmm0, xmmword [rbp + 0x1a8]
xorps xmm0, xmmword [0x0042f730]
movups xmmword [rbp + 0x1a8], xmm0
xor dword [rbp + 0x1b8], 0x45df
xor dword [rbp + 0x1bc], 0x45df
xor dword [rbp + 0x210], 0x45df
xor dword [rbp + 0x214], 0x45df
xor dword [rbp + 0x218], 0x45df
test al, 1
mov eax, 0xa22
mov ecx, 0xf2a
cmovne eax, ecx
xor eax, dword [rbp + 0x1a4]
mov cl, 1
mov qword [rbp + 0x90], rcx
jmp 0x4143d0
cmp dword [0x004392f4], 0xa
mov eax, dword [0x00438dac]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x48], 0
jne 0x415d72
xor dword [rbp + 0x190], 0x3149
xor dword [rbp + 0x204], 0x3149
test al, al
mov eax, 0x7f6
mov ecx, 0x3cde
cmovne eax, ecx
xor eax, dword [rbp + 0x18c]
mov cl, 1
mov qword [rbp + 0x48], rcx
jmp 0x4143d0
mov eax, dword [0x00439130]
mov ecx, dword [0x00438e88]
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
mov ebx, 1
sub ebx, eax
imul ebx, eax
test bl, 1
sete al
or cl, al
xor cl, dl
xor dl, al
mov ebx, edx
and bl, cl
mov eax, edx
xor al, 1
or al, cl
xor cl, 1
or cl, dl
xor cl, bl
xor al, dl
xor al, cl
cmp byte [rbp + 0xd8], 0
jne 0x415e81
movups xmm0, xmmword [rbp + 0x168]
movups xmm1, xmmword [rbp + 0x178]
movups xmm2, xmmword [rbp + 0x188]
movups xmm3, xmmword [rbp + 0x198]
xorps xmm0, xmm6
movups xmmword [rbp + 0x168], xmm0
xorps xmm1, xmm6
movups xmmword [rbp + 0x178], xmm1
xorps xmm2, xmm6
movups xmmword [rbp + 0x188], xmm2
xorps xmm3, xmm6
movups xmmword [rbp + 0x198], xmm3
movups xmm0, xmmword [rbp + 0x1a8]
xorps xmm0, xmm6
movups xmmword [rbp + 0x1a8], xmm0
xor dword [rbp + 0x1b8], 0x8c0
xor dword [rbp + 0x1bc], 0x8c0
movups xmm0, xmmword [rbp + 0x1f4]
xorps xmm0, xmm6
movups xmmword [rbp + 0x1f4], xmm0
movups xmm0, xmmword [rbp + 0x204]
xorps xmm0, xmm6
movups xmmword [rbp + 0x204], xmm0
xor dword [rbp + 0x214], 0x8c0
xor dword [rbp + 0x218], 0x8c0
test al, 1
mov eax, 0x11d1
mov ecx, 0x39a6
cmovne eax, ecx
xor eax, dword [rbp + 0x164]
mov cl, 1
mov qword [rbp + 0xd8], rcx
jmp 0x4143d0
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2a0], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x268], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2b8], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x290], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x270], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x260], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x238], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x258], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x230], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x298], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x288], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x250], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x248], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x280], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x228], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x240], rax
mov eax, 0x10
call fcn.0042cd60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
mov rax, qword [rbp + 0x268]
mov rax, qword [rbp + 0x268]
mov byte [rax], 0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax], 0x56
sete byte [rbp + 0x2b7]
mov eax, dword [rbp + 0x1cc]
mov ecx, 0x14ba
xor eax, ecx
jmp 0x4143d0
mov rax, qword [rbp + 0x288]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x2b8]
mov rcx, qword [rcx]
cmp eax, dword [rcx + 0x20]
setl byte [rbp + 0x2b2]
mov eax, dword [rbp + 0x1ec]
mov ecx, 0x5d72
xor eax, ecx
jmp 0x4143d0
mov ecx, dword [0x00438d38]
mov edx, dword [0x00439110]
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
lea ebx, [rcx + 1]
imul ebx, ecx
test bl, 1
sete r8b
mov ecx, r8d
and cl, dl
mov ebx, eax
or bl, r8b
xor bl, cl
or dl, r8b
xor dl, bl
mov ecx, edx
xor cl, 1
xor al, r8b
mov ebx, eax
and bl, dl
or cl, al
xor cl, bl
mov ebx, eax
xor bl, dl
or al, dl
xor al, bl
xor al, cl
cmp byte [rbp + 0x60], 0
jne 0x416113
xor dword [rbp + 0x1b0], 0x5068
xor dword [rbp + 0x1b4], 0x5068
xor dword [rbp + 0x214], 0x5068
test al, 1
mov eax, 0x6338
mov ecx, 0x4f2a
cmovne eax, ecx
xor eax, dword [rbp + 0x1ac]
mov cl, 1
mov qword [rbp + 0x60], rcx
jmp 0x4143d0
sub rsp, 0x20
call fcn.00401a60
lea r9, [0x004338c0]
add rsp, 0x20
mov rax, qword [rbp + 0x250]
mov dword [rax], 4
mov eax, dword [0x00439044]
cmp dword [0x00439394], 0xa
setl bl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
mov edx, ebx
and dl, al
mov ecx, ebx
xor cl, al
or bl, al
xor bl, cl
xor cl, 1
or cl, dl
xor cl, bl
mov eax, 0x1a1
mov ecx, 0x55c6
cmovne eax, ecx
xor eax, dword [rbp + 0x188]
jmp 0x4143d0
mov rax, qword [rbp + 0x250]
mov dword [rax], 2
mov rax, qword [rbp + 0x288]
mov ecx, dword [0x00439100]
mov eax, dword [0x00438b7c]
cmp eax, 9
setg dl
cmp eax, 0xa
setl bl
mov eax, ecx
not eax
add eax, 0x22b64e0e
imul eax, ecx
and al, 1
or al, bl
xor al, dl
cmp byte [rbp], 0
jne 0x41620b
xor dword [rbp + 0x1c0], 0x70d1
xor dword [rbp + 0x1c4], 0x70d1
xor dword [rbp + 0x1c8], 0x70d1
xor dword [rbp + 0x21c], 0x70d1
test al, al
mov eax, 0x6004
mov ecx, 0x5691
cmovne eax, ecx
xor eax, dword [rbp + 0x160]
mov cl, 1
mov qword [rbp], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x240]
mov rax, qword [rbp + 0x280]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.00411fa0
add rsp, 0x20
mov rcx, qword [rbp + 0x240]
mov qword [rcx], rax
mov rax, qword [rbp + 0x240]
cmp qword [rax], 0
sete byte [rbp + 0x2b0]
cmp dword [0x00438e1c], 0xa
mov eax, dword [0x00438b90]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb0], 0
jne 0x416304
movups xmm0, xmmword [rbp + 0x180]
movups xmm1, xmmword [rbp + 0x190]
movups xmm2, xmmword [rbp + 0x1a0]
movups xmm3, xmmword [rbp + 0x1b0]
xorps xmm0, xmm10
movups xmmword [rbp + 0x180], xmm0
xorps xmm1, xmm10
movups xmmword [rbp + 0x190], xmm1
xorps xmm2, xmm10
movups xmmword [rbp + 0x1a0], xmm2
xorps xmm3, xmm10
movups xmmword [rbp + 0x1b0], xmm3
movups xmm0, xmmword [rbp + 0x200]
xorps xmm0, xmm10
movups xmmword [rbp + 0x200], xmm0
xor dword [rbp + 0x210], 0x489b
xor dword [rbp + 0x214], 0x489b
xor dword [rbp + 0x218], 0x489b
test al, al
mov eax, 0x1fbf
mov ecx, 0x1e9
cmovne eax, ecx
xor eax, dword [rbp + 0x17c]
mov cl, 1
mov qword [rbp + 0xb0], rcx
lea r9, [0x004338c0]
jmp 0x4143d0
mov al, byte [rbp + 0x2b0]
cmp byte [rbp + 0xb8], 0
jne 0x4163c5
movups xmm0, xmmword [rbp + 0x184]
movups xmm1, xmmword [rbp + 0x194]
movups xmm2, xmmword [rbp + 0x1a4]
movups xmm3, xmmword [rbp + 0x200]
xorps xmm0, xmm13
movups xmmword [rbp + 0x184], xmm0
xorps xmm1, xmm13
movups xmmword [rbp + 0x194], xmm1
xorps xmm2, xmm13
movups xmmword [rbp + 0x1a4], xmm2
xor dword [rbp + 0x1b4], 0x420b
xor dword [rbp + 0x1b8], 0x420b
xor dword [rbp + 0x1bc], 0x420b
xorps xmm3, xmm13
movups xmmword [rbp + 0x200], xmm3
xor dword [rbp + 0x210], 0x420b
xor dword [rbp + 0x214], 0x420b
xor dword [rbp + 0x218], 0x420b
test al, 1
mov eax, 0x5c26
mov ecx, 0x2bce
cmovne eax, ecx
xor eax, dword [rbp + 0x180]
mov cl, 1
mov qword [rbp + 0xb8], rcx
jmp 0x4143d0
cmp dword [0x004392dc], 0xa
mov eax, dword [0x00438f44]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x70], 0
jne 0x416420
xor dword [rbp + 0x1bc], 0x1d9a
xor dword [rbp + 0x218], 0x1d9a
test al, al
mov eax, 0x2c6b
mov ecx, 0x1388
cmovne eax, ecx
xor eax, dword [rbp + 0x1b8]
mov cl, 1
mov qword [rbp + 0x70], rcx
jmp 0x4143d0
cmp dword [0x00438c2c], 0xa
mov eax, dword [0x004390dc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x30], 0
jne 0x416499
mov ecx, 1
nop dword [rax]
movsxd rdx, dword [r14 + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x51f0
movsxd rdx, dword [r14 + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x51f0
add rcx, 2
cmp rcx, 0x2f
jne 0x416470
test al, al
mov eax, 0x3ccf
mov ecx, 0x996
cmovne eax, ecx
xor eax, dword [rbp + 0x148]
mov cl, 1
mov qword [rbp + 0x30], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x240]
mov rax, qword [rbp + 0x280]
mov rax, qword [rbp + 0x248]
mov rax, qword [rbp + 0x250]
mov eax, dword [rax]
mov dword [rbp + 0xf4], eax
mov eax, dword [0x004389f8]
cmp dword [0x00438c58], 0xa
setl cl
mov edx, 0xb00eedd
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x98], 0
jne 0x41654c
movups xmm0, xmmword [rbp + 0x19c]
movups xmm1, xmmword [rbp + 0x1ac]
movups xmm2, xmmword [rbp + 0x20c]
movaps xmm3, xmmword [0x0042f760]
xorps xmm0, xmm3
movups xmmword [rbp + 0x19c], xmm0
xorps xmm1, xmm3
movups xmmword [rbp + 0x1ac], xmm1
xor dword [rbp + 0x1bc], 0x735d
xorps xmm2, xmm3
movups xmmword [rbp + 0x20c], xmm2
test al, al
mov eax, 0x4a07
mov ecx, 0x7b6b
cmovne eax, ecx
xor eax, dword [rbp + 0x198]
mov cl, 1
mov qword [rbp + 0x98], rcx
jmp 0x4143d0
mov ecx, dword [0x004391bc]
mov edx, dword [0x00438ec8]
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
lea ebx, [rcx + 1]
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 + 0x20], 0
jne 0x4165bd
xor dword [rbp + 0x174], 0x98e
xor dword [rbp + 0x1f8], 0x98e
test al, al
mov eax, 0x3e03
mov ecx, 0x5c94
cmovne eax, ecx
xor eax, dword [rbp + 0x170]
mov cl, 1
mov qword [rbp + 0x20], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x240]
mov rax, qword [rbp + 0x280]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.00411fa0
lea r9, [0x004338c0]
add rsp, 0x20
mov rcx, qword [rbp + 0x240]
mov qword [rcx], rax
mov rax, qword [rbp + 0x240]
cmp qword [rax], 0
sete byte [rbp + 0x2b0]
mov eax, dword [rbp + 0x1fc]
mov ecx, 0x64a0
xor eax, ecx
jmp 0x4143d0
mov eax, dword [0x00439320]
mov ecx, eax
not ecx
cmp dword [0x00438d78], 0xa
setl dl
lea ebx, [rax - 0x5976ffa6]
add ecx, eax
add ecx, 0xa689005a
add ecx, ebx
add ecx, 0xb2edff4e
imul ecx, eax
test cl, 1
sete al
or al, dl
cmp byte [rbp - 0x68], 0
jne 0x41667f
xor dword [rbp + 0x130], 0x119
xor dword [rbp + 0x1dc], 0x119
test al, al
mov eax, 0x4681
mov ecx, 0x3ca6
cmovne eax, ecx
xor eax, dword [rbp + 0x12c]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x268]
mov byte [rax], 1
mov eax, dword [0x0043933c]
mov ecx, dword [0x00438c6c]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl r8b
lea ebx, [rax + 1]
imul ebx, eax
and ebx, 1
sete al
mov ecx, r8d
and bl, r8b
or r8b, al
xor cl, al
xor r8b, cl
xor bl, cl
or dl, al
xor dl, bl
mov eax, 0x1e2f
mov ecx, 0x4798
cmovne eax, ecx
test r8b, r8b
mov ecx, 0x1e2f
cmovne eax, ecx
xor eax, dword [rbp + 0x130]
jmp 0x4143d0
mov rax, qword [rbp + 0x248]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x288]
movsxd rcx, dword [rcx]
lea rax, [rax + rcx*8 + 0x28]
mov rcx, qword [rbp + 0x248]
mov qword [rcx], rax
mov rax, qword [rbp + 0x280]
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x290]
movsxd rcx, dword [rcx]
add rcx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rax, dword [rax + 0x18]
add rax, rcx
mov rcx, qword [rbp + 0x248]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 4]
add ecx, ecx
lea ecx, [rcx + rcx*8]
add rcx, rax
mov rax, qword [rbp + 0x280]
mov qword [rax], rcx
mov rax, qword [rbp + 0x280]
mov rax, qword [rax]
cmp byte [rax], 0
sete byte [rbp + 0x2b1]
mov eax, dword [rbp + 0x1f4]
mov ecx, 0x1911
xor eax, ecx
jmp 0x4143d0
mov eax, dword [0x00438c30]
cmp dword [0x00438b38], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 8], 0
jne 0x416804
xor dword [rbp + 0x160], 0x52b
xor dword [rbp + 0x1c0], 0x52b
xor dword [rbp + 0x1c4], 0x52b
xor dword [rbp + 0x1c8], 0x52b
xor dword [rbp + 0x1f0], 0x52b
xor dword [rbp + 0x21c], 0x52b
test al, al
mov eax, 0x652f
mov ecx, 0x35a7
cmovne eax, ecx
xor eax, dword [rbp + 0x15c]
mov cl, 1
mov qword [rbp + 8], rcx
jmp 0x4143d0
mov eax, dword [rbp + 0x210]
mov ecx, 0x1c0e
xor eax, ecx
jmp 0x4143d0
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x2b8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x290]
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.00411cc0
add rsp, 0x20
mov rcx, qword [rbp + 0x290]
mov dword [rcx], eax
mov rax, qword [rbp + 0x270]
mov rax, qword [rbp + 0x270]
mov dword [rax], 0x10
mov rax, qword [rbp + 0x260]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov eax, dword [rax + 0x14]
lea ecx, [rax + 0xfff]
mov edx, 0xfffff000
sub edx, eax
mov ebx, edx
or ebx, 0xfff
add eax, ebx
add eax, 0xfff
or ecx, 0xfff
sub eax, ecx
and edx, 0xfff
add edx, eax
not edx
mov rax, qword [rbp + 0x260]
mov dword [rax], edx
mov rax, qword [rbp + 0x238]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov rcx, qword [rbp + 0x270]
imul eax, dword [rcx]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffff001
add edx, eax
xor eax, 0xffe
or ecx, 0xfffff001
add edx, eax
sub edx, ecx
add edx, 0xfff
mov eax, edx
xor eax, 0xfff
mov ecx, eax
and ecx, edx
not edx
or eax, edx
or edx, 0xfffff000
add edx, ecx
sub edx, eax
mov rax, qword [rbp + 0x238]
mov dword [rax], edx
mov rax, qword [rbp + 0x258]
mov rax, qword [rbp + 0x260]
mov eax, dword [rax]
mov ecx, eax
and ecx, 0x3f24878c
mov edx, eax
add ecx, eax
not eax
mov rbx, qword [rbp + 0x238]
mov ebx, dword [rbx]
and eax, 0xc0db7873
xor edx, 0x3f24878c
add ecx, edx
add ecx, eax
lea eax, [rcx + rbx]
add ecx, ebx
add ecx, 0xc0db7874
mov edx, ecx
not edx
mov ebx, ecx
xor ebx, 0x3f24878c
or ecx, 0x3f24878c
sub ebx, ecx
or edx, 0x3f24878c
add edx, ebx
lea eax, [rdx + rax*2]
add eax, 0xc0db7876
mov rcx, qword [rbp + 0x258]
mov dword [rcx], eax
mov rax, qword [rbp + 0x230]
mov rax, qword [rbp + 0x290]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x2b8]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x24]
mov rdx, qword [rbp + 0x270]
imul ecx, dword [rdx]
lea ebx, [rcx - 1]
mov edx, ebx
and edx, eax
or ebx, eax
add ecx, ecx
sub edx, ecx
lea eax, [rdx + rbx]
add eax, 1
mov rcx, qword [rbp + 0x230]
mov dword [rcx], eax
mov rax, qword [rbp + 0x298]
mov rax, qword [rbp + 0x258]
movsxd rdx, dword [rax]
sub rsp, 0x20
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
add rsp, 0x20
mov rcx, qword [rbp + 0x298]
mov qword [rcx], rax
mov rax, qword [rbp + 0x298]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x290]
movsxd rbx, dword [rdx]
add rbx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rdx, dword [rax + 0xc]
add rdx, rbx
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov eax, dword [rax + 8]
mov rbx, qword [rbp + 0x2b8]
mov rbx, qword [rbx]
mov ebx, dword [rbx + 0xc]
mov edi, eax
and edi, 0x90859dde
not eax
or eax, 0x90859dde
sub edi, eax
add edi, 0x90859ddd
mov eax, edi
and eax, ebx
xor edi, ebx
sub eax, ebx
lea eax, [rdi + rax*2]
add eax, 0x6f7a6222
lea rdi, [0x00433680]
movsxd r8, eax
sub rsp, 0x20
call sub.ntdll.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov rcx, qword [rbp + 0x260]
movsxd rcx, dword [rcx]
add rcx, qword [rax]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x230]
movsxd rdx, dword [rdx]
add rdx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rax, dword [rax + 0x24]
mov rbx, qword [rbp + 0x270]
movsxd r8, dword [rbx]
imul r8, rax
sub rsp, 0x20
call sub.ntdll.dll_memcpy
lea r9, [0x004338c0]
add rsp, 0x20
mov rax, qword [rbp + 0x288]
mov rax, qword [rbp + 0x288]
mov dword [rax], 0
mov eax, dword [rbp + 0x1e8]
mov ecx, 0x5866
xor eax, ecx
jmp 0x4143d0
mov eax, dword [0x00439384]
mov edx, dword [0x00438f28]
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or dl, al
xor dl, cl
xor cl, al
mov ebx, ecx
mov eax, ecx
or cl, dl
xor dl, 1
and bl, dl
xor al, 1
or al, dl
xor al, bl
xor cl, al
cmp byte [rbp + 0x58], 0
jne 0x416b7e
xor dword [rbp + 0x1b4], 0x2fb4
xor dword [rbp + 0x214], 0x2fb4
test cl, 1
mov eax, 0x6c81
mov ecx, 0x56cf
cmovne eax, ecx
xor eax, dword [rbp + 0x1b0]
mov cl, 1
mov qword [rbp + 0x58], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax + 3], 0x43
sete byte [rbp + 0x2b4]
mov eax, dword [rbp + 0x1d8]
mov ecx, 0x4e81
xor eax, ecx
jmp 0x4143d0
mov rax, qword [rbp + 0x240]
mov rax, qword [rbp + 0x280]
mov rax, qword [rbp + 0x248]
mov rax, qword [rbp + 0x250]
mov eax, dword [rax]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0x208]
mov ecx, 0x3227
xor eax, ecx
jmp 0x4143d0
mov rax, qword [rbp + 0x250]
mov dword [rax], 2
mov rax, qword [rbp + 0x288]
mov eax, dword [rbp + 0x1f0]
mov ecx, 0x308c
xor eax, ecx
jmp 0x4143d0
mov al, byte [rbp + 0x2b1]
cmp byte [rbp + 0xd0], 0
jne 0x416cbd
movups xmm0, xmmword [rbp + 0x170]
movups xmm1, xmmword [rbp + 0x180]
movups xmm2, xmmword [rbp + 0x190]
movups xmm3, xmmword [rbp + 0x1a0]
xorps xmm0, xmm9
movups xmmword [rbp + 0x170], xmm0
xorps xmm1, xmm9
movups xmmword [rbp + 0x180], xmm1
xorps xmm2, xmm9
movups xmmword [rbp + 0x190], xmm2
xorps xmm3, xmm9
movups xmmword [rbp + 0x1a0], xmm3
movups xmm0, xmmword [rbp + 0x1b0]
xorps xmm0, xmm9
movups xmmword [rbp + 0x1b0], xmm0
movups xmm0, xmmword [rbp + 0x1f8]
xorps xmm0, xmm9
movups xmmword [rbp + 0x1f8], xmm0
movups xmm0, xmmword [rbp + 0x208]
xorps xmm0, xmm9
movups xmmword [rbp + 0x208], xmm0
xor dword [rbp + 0x218], 0x7e16
test al, 1
mov eax, 0x7761
mov ecx, 0x7bfe
cmovne eax, ecx
xor eax, dword [rbp + 0x16c]
mov cl, 1
mov qword [rbp + 0xd0], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x288]
mov eax, dword [rax]
mov ecx, eax
and ecx, 0xd0a8be1a
or eax, 0xd0a8be1a
add eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0x2f5741e5
mov edx, eax
or edx, 0xd0a8be1a
add edx, ecx
xor eax, 0x2f5741e5
add eax, edx
add eax, 0x2f5741e7
mov rcx, qword [rbp + 0x288]
mov dword [rcx], eax
mov eax, dword [0x00438a94]
cmp dword [0x00439378], 0xa
setl bl
mov edx, 0xc44e5ba9
sub edx, eax
imul edx, eax
test dl, 1
sete al
mov edx, ebx
and dl, al
mov ecx, ebx
xor cl, al
or bl, al
xor bl, cl
xor cl, 1
or cl, dl
xor cl, bl
mov eax, 0x6fd9
mov ecx, 0x31f1
cmovne eax, ecx
xor eax, dword [rbp + 0x1bc]
jmp 0x4143d0
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
cmp byte [rax + 2], 0x58
sete byte [rbp + 0x2b5]
mov eax, dword [rbp + 0x1d4]
mov ecx, 0x396b
xor eax, ecx
jmp 0x4143d0
mov ecx, dword [0x00439430]
mov eax, dword [0x00438ef4]
cmp eax, 9
setg dl
cmp eax, 0xa
setl bl
lea eax, [rcx - 1]
imul eax, ecx
and al, 1
or al, bl
xor al, dl
cmp byte [rbp + 0x68], 0
jne 0x416df0
xor dword [rbp + 0x1ac], 0x7b6d
xor dword [rbp + 0x1b0], 0x7b6d
xor dword [rbp + 0x1b4], 0x7b6d
xor dword [rbp + 0x210], 0x7b6d
xor dword [rbp + 0x214], 0x7b6d
test al, al
mov eax, 0x1855
mov ecx, 0x6763
cmovne eax, ecx
xor eax, dword [rbp + 0x1a8]
mov cl, 1
mov qword [rbp + 0x68], rcx
jmp 0x4143d0
cmp dword [0x00439118], 0xa
mov eax, dword [0x004389c0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x10], 0
je 0x41741e
test al, al
mov eax, 0x2dcc
mov ecx, 0x1547
cmovne eax, ecx
xor eax, dword [rbp + 0x134]
mov cl, 1
mov qword [rbp + 0x10], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x220]
mov rax, qword [rbp + 0x220]
mov qword [rax], 0x40
mov rax, qword [rbp + 0x298]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x258]
movsxd rdx, dword [rax]
mov r9, qword [rbp + 0x220]
sub rsp, 0x20
mov r8d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x250]
mov dword [rax], 1
mov rax, qword [rbp + 0x220]
mov rax, qword [rbp + 0x298]
mov rax, qword [rbp + 0x230]
mov rax, qword [rbp + 0x258]
mov rax, qword [rbp + 0x238]
mov rax, qword [rbp + 0x260]
mov rax, qword [rbp + 0x270]
mov rax, qword [rbp + 0x290]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x268]
mov ebx, dword [0x004389fc]
cmp dword [0x00438d08], 9
setg dl
mov ecx, ebx
or ecx, 0x38556412
mov eax, ecx
neg eax
xor eax, 1
sub eax, ecx
sub eax, ebx
add eax, 2
imul eax, ebx
and al, dl
cmp byte [rbp + 0x78], 0
jne 0x416f38
xor dword [rbp + 0x1c8], 0x72dc
test al, al
mov eax, 0x6455
mov ecx, 0x7d1
cmovne eax, ecx
xor eax, dword [rbp + 0x1c4]
mov cl, 1
mov qword [rbp + 0x78], rcx
lea r9, [0x004338c0]
jmp 0x4143d0
sub rsp, 0x20
call fcn.00401a60
lea r9, [0x004338c0]
add rsp, 0x20
mov rax, qword [rbp + 0x240]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x298]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x248]
mov rdx, qword [rdx]
mov edx, dword [rdx]
mov qword [rcx + rdx], rax
mov rax, qword [rbp + 0x250]
mov dword [rax], 0
mov eax, dword [0x004393c8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x36bf
mov ecx, 0x621d
cmove eax, ecx
cmp dword [0x00438eb0], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x190]
jmp 0x4143d0
cmp dword [0x00438d44], 0xa
mov eax, dword [0x00438b80]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x40], 0
jne 0x41700d
xor dword [rbp + 0x188], 0x52f5
xor dword [rbp + 0x200], 0x52f5
test al, al
mov eax, 0x733
mov ecx, 0x2ba8
cmovne eax, ecx
xor eax, dword [rbp + 0x184]
mov cl, 1
mov qword [rbp + 0x40], rcx
jmp 0x4143d0
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x2b8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x290]
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.00411cc0
add rsp, 0x20
mov rcx, qword [rbp + 0x290]
mov dword [rcx], eax
mov rax, qword [rbp + 0x270]
mov rax, qword [rbp + 0x270]
mov dword [rax], 0x10
mov rax, qword [rbp + 0x260]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov eax, dword [rax + 0x14]
mov ecx, eax
neg ecx
lea edx, [rax - 1]
and edx, 0xfffff001
and ecx, 0xfffff001
add ecx, eax
lea eax, [rdx + rcx]
add eax, 0x1ffe
and eax, 0xfffff000
mov rcx, qword [rbp + 0x260]
mov dword [rcx], eax
mov rax, qword [rbp + 0x238]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov rcx, qword [rbp + 0x270]
imul eax, dword [rcx]
mov ecx, 0x368
sub ecx, eax
add eax, 0x6acd6c97
and ecx, 0xfff
add ecx, ecx
xor eax, 0xfff
sub eax, ecx
lea ecx, [rax + 0x1ffe]
mov edx, ecx
or edx, 0x6acd6c96
not ecx
or ecx, 0x6acd6c96
add eax, edx
add eax, 0x1ffe
add eax, ecx
add eax, 0x2a6526d4
and eax, 0xfffff000
mov rcx, qword [rbp + 0x238]
mov dword [rcx], eax
mov rax, qword [rbp + 0x258]
mov rax, qword [rbp + 0x260]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x238]
mov ecx, dword [rcx]
mov edx, eax
neg edx
lea ebx, [rax - 1]
add eax, ecx
neg ecx
mov edi, ecx
and edi, edx
or edx, ecx
xor ebx, ecx
add eax, edx
sub eax, edi
add eax, ebx
add eax, 1
mov rcx, qword [rbp + 0x258]
mov dword [rcx], eax
mov rax, qword [rbp + 0x230]
mov rax, qword [rbp + 0x290]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x2b8]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x24]
mov rdx, qword [rbp + 0x270]
imul ecx, dword [rdx]
mov edx, eax
not edx
or edx, 0xa0320b34
or eax, 0x5fcdf4cb
sub eax, edx
mov edx, ecx
and edx, eax
mov ebx, ecx
or ebx, eax
mov edi, ecx
not edi
or edi, eax
mov esi, eax
not esi
or esi, ecx
sub eax, ecx
add eax, edx
add edx, edx
add eax, ebx
add eax, edi
add eax, esi
sub eax, edx
lea ecx, [rax + 2]
mov edx, ecx
not edx
mov ebx, ecx
and ebx, 0x5fcdf4cb
and ecx, 0xa0320b34
and edx, 0x5fcdf4cb
add eax, ecx
add eax, 2
xor ecx, 0xa0320b34
add eax, ebx
add eax, edx
add eax, ecx
add eax, 0xa0320b35
mov rcx, qword [rbp + 0x230]
mov dword [rcx], eax
mov rax, qword [rbp + 0x298]
mov rax, qword [rbp + 0x258]
movsxd rdx, dword [rax]
sub rsp, 0x20
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
add rsp, 0x20
mov rcx, qword [rbp + 0x298]
mov qword [rcx], rax
mov rax, qword [rbp + 0x298]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x290]
movsxd rbx, dword [rdx]
add rbx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rdx, dword [rax + 0xc]
add rdx, rbx
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
mov edi, dword [rax + 8]
mov rbx, qword [rbp + 0x2b8]
mov rbx, qword [rbx]
mov ebx, dword [rbx + 0xc]
mov eax, edi
not eax
mov esi, eax
and esi, 0x52fce08
add esi, edi
or eax, 0xfad031f7
sub esi, eax
lea eax, [rsi - 0xa5f9c12]
mov edi, eax
or edi, ebx
not edi
sub edi, ebx
not ebx
or ebx, eax
sub edi, ebx
lea edi, [rdi + rsi*2]
add edi, 0xeb40c7dc
mov ebx, edi
not ebx
mov eax, ebx
and eax, 0x52fce08
add eax, edi
or ebx, 0xfad031f7
sub eax, ebx
movsxd r8, eax
sub rsp, 0x20
call sub.ntdll.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov rcx, qword [rbp + 0x260]
movsxd rcx, dword [rcx]
add rcx, qword [rax]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x230]
movsxd rdx, dword [rdx]
add rdx, qword [rax]
mov rax, qword [rbp + 0x2b8]
mov rax, qword [rax]
movsxd rax, dword [rax + 0x24]
mov rbx, qword [rbp + 0x270]
movsxd r8, dword [rbx]
imul r8, rax
sub rsp, 0x20
call sub.ntdll.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp + 0x288]
mov rax, qword [rbp + 0x288]
mov dword [rax], 0
mov eax, dword [0x004393e8]
cmp dword [0x004393fc], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x38], 0
lea rbx, [0x00433c00]
jne 0x417399
mov ecx, 1
nop
movsxd rdx, dword [rbx + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x7c93
movsxd rdx, dword [rbx + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x7c93
add rcx, 2
cmp rcx, 0x2d
jne 0x417370
test al, al
mov eax, 0x6d3f
mov ecx, 0x6c9f
cmovne eax, ecx
xor eax, dword [rbp + 0x14c]
mov cl, 1
mov qword [rbp + 0x38], rcx
lea rsi, [0x00433cb0]
lea rdi, [0x00433680]
lea r9, [0x004338c0]
jmp 0x4143d0
mov ecx, 1
movsxd rdx, dword [rsi + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x5497
cmp rcx, 0x2b
je 0x41558e
nop dword [rax]
movsxd rdx, dword [rsi + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x5497
add rcx, 2
movsxd rdx, dword [rsi + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x5497
cmp rcx, 0x2b
jne 0x4173f0
jmp 0x41558e
mov ecx, 1
movsxd rdx, dword [r9 + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x3e31
cmp rcx, 0x35
je 0x416e38
nop dword [rax]
movsxd rdx, dword [r9 + rcx*4]
xor dword [rbp + rdx*4 + 0xf8], 0x3e31
add rcx, 2
movsxd rdx, dword [r9 + rcx*4 - 4]
xor dword [rbp + rdx*4 + 0xf8], 0x3e31
cmp rcx, 0x35
jne 0x417440
jmp 0x416e38
cmp eax, 0x67a2
jne 0x4143d0
mov rax, qword [rbp - 0x80]
movaps xmm6, xmmword [rbp + 0x2c0]
movaps xmm7, xmmword [rbp + 0x2d0]
movaps xmm8, xmmword [rbp + 0x2e0]
movaps xmm9, xmmword [rbp + 0x2f0]
movaps xmm10, xmmword [rbp + 0x300]
movaps xmm11, xmmword [rbp + 0x310]
movaps xmm12, xmmword [rbp + 0x320]
movaps xmm13, xmmword [rbp + 0x330]
movaps xmm14, xmmword [rbp + 0x340]
movaps xmm15, xmmword [rbp + 0x350]
lea rsp, [rbp + 0x368]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret