Function at 0x20392440
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rdi, r9
mov rsi, r8
mov rbx, rdx
mov r14, rcx
mov rax, qword [0x205a38a0]
xor rax, rsp
mov qword [rsp + 0x100], rax
test r8, r8
je 0x203924aa
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x20392496
mov qword [rsi], 0
mov ecx, dword [0x205b6a5c]
cmp ecx, 0x56
jle 0x203924aa
mov qword [rsi], 0
mov ecx, dword [0x205b6a5c]
cmp ecx, 0x1c
jge 0x20392480
jmp 0x20392484
test rdi, rdi
je 0x203924f3
mov eax, 0xe430c328
add eax, dword [0x20597e94]
lea rcx, [fcn.20392440]
add ecx, ecx
add ecx, 0x3220
test ecx, eax
jne 0x203924ea
mov qword [rdi], 0
lea rax, [fcn.20392440]
add eax, eax
add eax, 0xba0
mov ecx, eax
not ecx
test ecx, eax
je 0x203924f3
mov qword [rdi], 0
jmp 0x203924cd
movabs rax, 0xf6d86a40761b3506
movabs rcx, 0x2fc6f24a141bb746
mov edx, dword [0x205b6a58]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x20392547
mov rdx, rax
sub rdx, rcx
add rdx, qword [0x20597e88]
add rdx, rcx
mov qword [rsp + 0xf8], rdx
mov edx, dword [0x205b6a58]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x20392555
mov qword [rsp + 0xf8], 0
jmp 0x2039251b
test r14, r14
jne 0x20392584
mov dword [rsp + 0x30], 0x2f232862
mov dword [rsp + 0x28], 0x1ccf1bb4
mov dword [rsp + 0x20], 0x4b826610
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.20394a10
mov r14, rax
test rbx, rbx
je 0x20392590
mov qword [rbx], 0
test r14, r14
je 0x2039263b
movsxd rax, dword [r14 + 0x3c]
mov ecx, 0xe430c327
add ecx, dword [0x20597e94]
mov ebp, 5
cmp eax, ecx
je 0x20392640
cmp dword [r14 + rax], 0x4550
jne 0x20392640
lea r11, [r14 + rax]
add r11, 0x18
cmp dword [r11 + 0x6c], 0
je 0x20392676
mov r9d, dword [r11 + 0x78]
mov r8d, dword [r11 + 0x7c]
mov ecx, dword [0x20597e94]
mov edx, ecx
xor edx, 0xe430c327
and ecx, 0x6430c327
lea ecx, [rdx + rcx*2]
test r9, r9
je 0x2039267d
lea rdx, [r14 + rax]
movzx r15d, word [r14 + rax + 6]
movzx eax, word [r14 + rax + 0x14]
lea r12, [rax + rdx]
add r12, 0x18
mov eax, dword [0x205b6a58]
xor eax, eax
nop
test al, al
jne 0x20392620
cmp r8d, ecx
jne 0x2039268e
xor eax, eax
cmp dword [r11 + 0x7c], 0
setne al
lea ebp, [rax + rax]
add ebp, 3
jmp 0x20392640
mov ebp, 8
test rsi, rsi
je 0x20392650
mov rax, qword [rsp + 0xf8]
mov qword [rsi], rax
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.204278f0
mov eax, ebp
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, 1
jmp 0x20392640
xor eax, eax
cmp r8d, ecx
sete al
mov ebp, 2
sub ebp, eax
jmp 0x20392640
mov eax, dword [0x205b6a5c]
cmp eax, 0x12
nop word [rax + rax]
mov eax, dword [0x205b6a58]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xe430c327
add eax, dword [0x20597e94]
cmp ecx, eax
jne 0x203926a0
mov ebp, 6
cmp r8d, 0x14
jb 0x20392640
add r9, r14
add r8, r9
mov rbp, r8
nop word cs:[rax + rax]
mov ecx, dword [0x205b6a58]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x20597e94]
mov edx, ecx
xor edx, 0xe430c329
and ecx, 0x6430c329
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x20392716
mov eax, dword [0x205b6a5c]
cmp eax, 0x2f
jle 0x20392739
mov eax, dword [0x205b6a5c]
mov ecx, dword [0x20597e94]
mov edx, ecx
xor edx, 0xe430c343
and ecx, 0x6430c343
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x203926e0
jmp 0x2039270b
cmp byte [rsp + 0x180], 0
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xe0], r11
mov dword [rsp + 0xac], r15d
mov qword [rsp + 0xd8], r12
je 0x20392822
mov rax, r14
xor rax, 0xffffffff8a9adede
mov rcx, qword [0x205b6a48]
cmp rcx, rax
jne 0x20392822
mov rax, qword [0x205b6a40]
test rax, rax
je 0x20392822
mov r13, r9
mov rax, qword [0x205b6a40]
mov rdx, rax
not rdx
mov r8, rdx
and r8, 0xffffffff8a9adede
mov r9d, eax
and r9d, 0x75652121
or r9, r8
mov rcx, r9
xor r9, rax
xor rax, 0x75652121
mov r10, rax
or r10, r8
not r10
or r10, rax
not r10
not rcx
and rcx, rdx
or rcx, r9
not rcx
or rcx, r10
je 0x2039281f
mov eax, dword [rcx]
test eax, eax
mov r9, r13
je 0x20392822
mov ecx, dword [rcx + 4]
test rcx, rcx
je 0x20392822
mov edx, eax
not edx
xor eax, 0x75652121
and edx, 0x8a9adede
or eax, edx
not eax
or eax, edx
add rax, r14
mov edx, 0x8a9adede
xor rcx, rdx
add rcx, rax
mov r9, rax
mov rbp, rcx
jmp 0x20392822
mov r9, r13
mov rax, r14
neg rax
mov qword [rsp + 0xd0], rax
mov r12, 0xffffffffffffffff
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x90], rax
xor ebx, ebx
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x98], r14
jmp 0x20392882
mov eax, ebx
mov r9, qword [rsp + 0x80]
nop
add r9, 0x14
mov ebx, eax
movzx eax, byte [0x20597e90]
mov ecx, eax
xor cl, 0x2f
and al, 0x2f
add al, al
add al, cl
add al, 0x5e
test bl, al
jne 0x203933cf
movsxd r15, dword [0x204917a0]
nop dword [rax]
mov eax, dword [0x205b6a5c]
cmp eax, 0x2a
jg 0x203928a0
test r13b, r13b
je 0x203928b0
mov eax, dword [0x205b6a5c]
cmp eax, 0x33
jge 0x20392890
jmp 0x2039289b
mov ecx, dword [0x204917ac]
mov al, 1
cmp r9, rbp
jae 0x20392860
mov r8d, dword [r9 + 0xc]
test r8, r8
je 0x20392860
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x80], r9
add r8, r14
mov dword [rsp + 0x40], 0x8a9ed94f
mov dword [rsp + 0x38], 0x5aa0d451
mov dword [rsp + 0x30], 0xdc8f7816
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 1
xor r9d, r9d
call fcn.20394920
test rax, rax
je 0x20392855
lea rcx, [0x204917a0]
add r15, rcx
mov ecx, dword [0x205b6a58]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
mov r9, qword [rsp + 0x80]
mov ebp, dword [r9]
mov ecx, dword [0x20597e94]
mov edx, dword [0x205b6a5c]
cmp edx, 0x5b
jg 0x20392936
mov edx, ecx
xor edx, 0xe430c327
not ecx
and ecx, 0x1bcf3cd8
or ecx, edx
not ecx
lea ecx, [rdx + rcx*2]
cmp ebp, ecx
mov r11d, 1
jne 0x20392b1c
mov ecx, dword [0x20597e94]
mov edx, 0xe430c328
add ecx, edx
lea rdx, [fcn.20392440]
add edx, edx
add edx, 0x1c0
xor ecx, edx
not ecx
test ecx, edx
mov rbp, qword [rsp + 0x78]
mov ecx, dword [r9 + 0x10]
mov edx, dword [0x205b6a5c]
cmp edx, 0x2c
jg 0x20392996
test ecx, ecx
je 0x20392b86
mov qword [rsp + 0x70], rbx
test r13b, r13b
mov r8, qword [rax + 0x30]
mov r10d, dword [rax + 0x40]
mov ecx, dword [r9 + 0x10]
lea rbp, [r14 + rcx]
test rcx, rcx
mov rbx, rbp
cmove rbx, rcx
mov edx, dword [0x205b6a5c]
cmp edx, 0x26
jg 0x203929b5
mov qword [rsp + 0x88], rbp
add r10, r8
test ecx, ecx
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xa0], r10
je 0x20392b8d
xor eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, eax
mov r8d, eax
xor eax, eax
cmp byte [rbx + r8], 0
setne al
movzx ecx, cl
cmove ecx, r11d
add eax, edx
movzx edx, byte [0x20597e90]
mov r8d, ecx
not r8b
mov r9b, 0x72
sub r9b, dl
add dl, 0x8d
and dl, r8b
mov r10d, ecx
and r10b, r9b
or r10b, dl
and r9b, r8b
or r9b, r10b
cmp r9b, 0xff
je 0x20392a10
cmp byte [rsp + 0x180], 0
jne 0x20392ba2
mov ecx, dword [0x20597e94]
mov edx, 0xe430c327
add ecx, edx
cmp eax, ecx
je 0x20392ba2
mov ebp, eax
shl rbp, 2
mov ecx, dword [0x205b6a58]
mov edx, dword [0x20597e94]
neg edx
add edx, ecx
add edx, 0x1bcf3cd8
imul edx, ecx
test dl, 1
cmp dword [0x20597e94], 0x1bcf3cd9
jne 0x20392a9b
mov ecx, dword [0x20597900]
lea edx, [rcx + 1]
mov dword [0x20597900], edx
nop word cs:[rax + rax]
mov r8d, dword [0x205b6a5c]
cmp r8d, 0x37
jg 0x20392ac0
mov r8d, ecx
not r8d
mov r9d, ecx
xor r9d, r8d
and r9d, edx
xor r9d, r8d
mov edx, r9d
not edx
xor r9d, ecx
and edx, r8d
or edx, r9d
not edx
mov dword [rsp + 0xa8], edx
test edx, edx
jne 0x20392b05
cmp dword [rsp + 0x68], 0
jg 0x20392bbd
xor r11d, r11d
mov ecx, dword [0x205b6a5c]
cmp ecx, 0x4e
jg 0x20392dc0
jmp 0x20392c4f
mov qword [rsp + 0x70], rbx
mov rcx, qword [rax + 0x30]
mov eax, dword [rax + 0x40]
mov qword [rsp + 0xb0], rcx
add rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [r9 + 0x10]
lea rcx, [r14 + rax]
test rax, rax
cmove rcx, rax
mov qword [rsp + 0x88], rcx
add rbp, r14
xor eax, eax
mov qword [rsp + 0x68], rax
mov eax, dword [0x205b6a5c]
cmp eax, 0x2c
movzx r15d, byte [rsp + 0x178]
mov rbx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x68]
jg 0x20392ece
jmp 0x20392de6
mov eax, ebx
jmp 0x20392860
xor ebp, ebp
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x20392b5c
mov r9, qword [rsp + 0x80]
add r9, 0x14
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
jmp 0x20392866
xor ecx, ecx
xor r11d, r11d
jmp 0x20392bd9
mov edx, ecx
xor edx, 8
and ecx, 8
lea ecx, [rdx + rcx*2]
cmp ecx, dword [rsp + 0x68]
jge 0x20392b08
movsxd rdx, ecx
mov rdx, qword [r15 + rdx]
mov r8b, 1
test r8b, r8b
je 0x20392c40
mov r8b, 1
test r8b, r8b
je 0x20392c40
mov r8, r11
not r8
mov r9, rdx
not r9
mov r10, r8
xor r10, rdx
or r8, rdx
not r8
or r8, r10
not r8
and r11, r9
or r11, r8
nop word cs:[rax + rax]
test r13b, r13b
jne 0x20392c2a
test r13b, r13b
je 0x20392bc4
mov edx, dword [0x205b6a58]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x20392c20
jmp 0x20392c25
mov r8d, dword [0x205b6a5c]
cmp r8d, 0x36
jge 0x20392c40
jmp 0x20392be8
mov ecx, dword [0x205b6a5c]
cmp ecx, 0x35
jge 0x20392dc0
mov qword [rsp + 0xc8], r11
mov ecx, dword [0x205b6a58]
nop dword [rax]
mov ecx, dword [0x205b6a5c]
cmp ecx, 0x23
jg 0x20392c70
mov r8d, dword [0x20597e94]
lea ecx, [r8 + 0x29]
shl eax, cl
lea ecx, [r8 - 0x1bcf4cd9]
mov edx, eax
not edx
xor eax, ecx
not ecx
and ecx, edx
or ecx, eax
not ecx
add ecx, 0x733e8cba
mov eax, ecx
xor eax, 0x1000
and ecx, 0x1000
lea r9d, [rax + rcx*2]
add r9d, 0x8cc17346
lea ecx, [r8 - 0x1bcf3cd8]
lea edx, [r8 - 0x1bcf3cd9]
lea eax, [r8 - 0x1bbf2cd9]
lea r10d, [r8 - 0x1bcf3cd5]
lea r11d, [r8 - 0x3f3fc4c3]
lea r15d, [r8 + 0x3ed19778]
add r8d, 0x6ecf9c76
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], eax
xor r8d, r8d
call fcn.20394920
mov rdx, rax
cmp r12, 0xffffffffffffffff
jne 0x20392dd0
test rdx, rdx
je 0x20392dd0
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x30], 0x2f232862
mov dword [rsp + 0x28], 0x1ccf1bb4
mov dword [rsp + 0x20], 0x4b826610
xor ecx, ecx
mov edx, 1
mov r8, r14
xor r9d, r9d
call fcn.20394a10
mov r15, rax
mov rax, 0xffffffffffffffff
test r15, r15
je 0x203930ed
mov dword [rsp + 0x40], 0x8a9ed94f
mov dword [rsp + 0x38], 0x5aa0d451
mov dword [rsp + 0x30], 0xdc8f7816
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.20394920
test rax, rax
je 0x20392dda
mov r10, rax
mov qword [rsp + 0xc0], rbp
test r13b, r13b
mov rbp, rax
jne 0x20393085
jmp 0x20392f59
mov ecx, dword [0x205b6a5c]
cmp ecx, 0x1a
jge 0x20392dc0
jmp 0x20392c4f
mov rbx, qword [rsp + 0x70]
jmp 0x20392e81
mov rax, 0xffffffffffffffff
jmp 0x203930ed
test rbp, rbp
mov rdx, rbp
cmove rdx, r14
mov byte [rsp + 0x60], r15b
movzx eax, byte [rsp + 0x170]
mov byte [rsp + 0x58], al
mov qword [rsp + 0x50], rdi
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov byte [rsp + 0x30], 1
mov rcx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
mov r9, rbx
call fcn.20391ad0
movzx ecx, byte [rsp + 0x90]
test al, al
mov eax, 1
cmovne ecx, eax
mov al, 1
test al, al
je 0x20392ece
mov eax, ecx
mov qword [rsp + 0x90], rax
mov rbx, qword [rsp + 0x70]
mov rdx, r14
mov r14, qword [rsp + 0x98]
mov r9, qword [rsp + 0x80]
add r9, 0x14
test rdx, rdx
mov rbp, qword [rsp + 0x78]
je 0x20392866
mov dword [rsp + 0x30], 0x3b44a2db
mov dword [rsp + 0x28], 0x8a9ed94f
mov dword [rsp + 0x20], 0xa3773172
xor ecx, ecx
xor r8d, r8d
mov r15, r9
mov r9d, 0x8000
call fcn.20394980
mov r9, r15
jmp 0x20392866
mov ecx, 0x4e
call fcn.20407ac4
mov qword [0x205b6a50], rax
lea rcx, [0x203948e0]
call fcn.20427ec0
test rbp, rbp
mov rdx, rbp
cmove rdx, r14
mov byte [rsp + 0x60], r15b
movzx eax, byte [rsp + 0x170]
mov byte [rsp + 0x58], al
mov qword [rsp + 0x50], rdi
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov byte [rsp + 0x30], 1
mov rcx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
mov r9, rbx
call fcn.20391ad0
jmp 0x20392de6
mov eax, dword [0x20597e94]
mov ecx, eax
xor ecx, 0x6430c327
mov edx, eax
and edx, 0x6430c327
lea edx, [rcx + rdx*2]
lea r8d, [rax - 0x1bcf3cd6]
add eax, 0xe430c327
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x30], 0
mov rcx, r15
xor r9d, r9d
mov rax, r10
call qword [case.0x2010e313.0]
mov r10, rbp
mov r12, rax
mov eax, dword [0x205b6a5c]
cmp eax, 0x3c
jg 0x20393085
cmp r12, 0xffffffffffffffff
mov rax, 0xffffffffffffffff
je 0x203930ed
add rbx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x48], 0x8086849c
mov dword [rsp + 0x40], 0xdc8f7816
mov dword [rsp + 0x38], 0x13695ebe
mov qword [rsp + 0x30], 0
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, qword [rsp + 0xd8]
call fcn.20394b00
test rax, rax
mov r11d, 0xe430c329
je 0x203933c7
mov rbp, rax
mov ebx, dword [rsp + 0xa8]
test r13b, r13b
jne 0x2039306b
xor ecx, ecx
test ebx, ebx
setne r9b
mov r8, qword [0x204917b0]
mov edx, dword [0x205b6a58]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x20597e94]
add r10d, r11d
xor edx, edx
div r10d
test edx, edx
je 0x203930c0
mov rax, qword [0x204917b0]
mov eax, dword [0x205b6a58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x20393038
jmp 0x2039303d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
mov rcx, r15
mov edx, 0x80000000
mov r8d, 3
xor r9d, r9d
mov rax, r10
call qword [case.0x2010e313.0]
mov r10, rbp
jmp 0x20392f59
mov cl, r9b
mov eax, dword [0x205b6a58]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov r10d, 0xe430c359
movabs r15, 0x84853e8181bf252d
jne 0x20393270
jmp 0x2039320a
mov r9, qword [rsp + 0x80]
add r9, 0x14
mov r12, rax
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
jmp 0x20392e9b
mov qword [rsp + 0xf0], rbp
mov rcx, r12
mov edx, ebp
lea r8, [rsp + 0xf4]
xor r9d, r9d
call qword [case.0x2010e313.0]
cmp eax, dword [rsp + 0xf0]
jne 0x203931ae
xor ecx, ecx
mov edx, 0x3a053b1c
call fcn.20394540
test rax, rax
sete cl
movzx edx, byte [0x205b5490]
test dl, cl
jne 0x203931ae
xor dl, cl
jne 0x203931ae
mov dword [rsp + 0xec], 0
mov qword [rsp + 0x20], 0
mov rcx, r12
mov rdx, qword [rsp + 0x68]
mov r15, qword [rsp + 0xc0]
mov r8d, r15d
lea r9, [rsp + 0xec]
call qword [case.0x2010e313.0]
test eax, eax
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
je 0x203931f9
mov eax, dword [rsp + 0xec]
cmp r15, rax
jne 0x203931f9
xor ebp, ebp
jmp 0x20392b5c
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov eax, dword [0x20597e94]
mov ecx, eax
xor ecx, 0xe430c327
and eax, 0x6430c327
add eax, eax
add eax, ecx
jne 0x203931f1
mov eax, dword [0x205b6a58]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x20597e94]
mov edx, 0xe430c327
add eax, edx
cmp ecx, eax
je 0x203931f9
mov al, 1
test al, al
je 0x203931b8
jmp 0x203931d1
mov r9, qword [rsp + 0x80]
add r9, 0x14
jmp 0x20393106
mov eax, dword [0x205b6a5c]
mov edx, dword [0x20597e94]
add edx, r10d
cmp eax, edx
jge 0x20393270
mov eax, dword [0x205b6a58]
mov edx, dword [0x20597e94]
mov r9d, edx
xor r9d, 0x1bcf3cd7
add r9d, eax
dec r9d
imul r9d, eax
and r9d, 1
add edx, 0xe430c327
cmp r9d, edx
jne 0x2039325d
mov eax, dword [0x205b6a58]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x20393283
mov eax, dword [0x205b6a58]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x2039321d
jmp 0x2039324c
mov eax, dword [0x205b6a58]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x20393270
jmp 0x2039320a
dec rcx
mov rax, r8
not rax
movabs r11, 0x84a2573e0825a5cd
mov rdx, r11
not rdx
mov r9, r8
and r9, rdx
and rdx, rax
and rax, r11
or r9, rax
xor r8, r11
or rdx, r8
not rdx
lea rax, [r9 + rdx*2]
sub rax, qword [rsp + 0xc8]
mov edx, dword [0x205b6a5c]
cmp edx, 0x1d
jg 0x20393307
mov edx, dword [0x205b6a58]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x20597e94]
mov r9d, 0xe430c327
add edx, r9d
cmp r8d, edx
jne 0x20393307
mov edx, dword [0x205b6a58]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x2039334c
jmp 0x2039332d
mov edx, dword [0x205b6a58]
mov dword [0x205b6a5c], 0x5d
mov r8d, edx
sub r8d, dword [0x20597e94]
imul r8d, edx
test r8b, 1
jne 0x20393307
jmp 0x203932cb
mov rdx, r15
sub rdx, qword [0x20597e88]
mov r8d, dword [0x205b6a58]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x20393359
mov edx, dword [0x205b6a5c]
cmp edx, 0x59
jge 0x2039334c
jmp 0x2039332d
mov r8, rax
xor r8, rdx
and rax, rdx
lea rax, [r8 + rax*2]
xor rcx, rax
not rcx
mov edx, dword [0x205b6a5c]
mov edx, dword [0x205b6a5c]
mov r8d, dword [0x20597e94]
add r8d, r10d
cmp edx, r8d
jge 0x20393372
test rcx, rax
sete al
setne cl
movzx edx, byte [0x205b5490]
xor al, cl
and al, dl
and dl, cl
xor al, cl
or al, dl
mov byte [0x205b5490], al
mov edx, dword [0x20597e94]
lea ecx, [rdx - 0x1bcf3cd8]
add edx, 0x1e35fe43
call fcn.20394540
test rax, rax
jne 0x20393110
mov rax, r12
jmp 0x203930ed
movzx eax, byte [0x20597e90]
add al, 0x8b
mov r8, qword [rsp + 0x90]
mov ecx, r8d
not cl
mov edx, ecx
xor dl, r8b
and dl, al
xor dl, r8b
and cl, 1
and r8b, 0xfe
or r8b, cl
mov eax, edx
not al
xor dl, 0xfe
and al, 1
or al, dl
not al
or al, r8b
xor ecx, ecx
cmp al, 0xff
sete cl
mov eax, dword [0x20597e94]
sub eax, ecx
mov ecx, dword [0x205b3d5c]
lea ebp, [rax + rcx]
add ebp, 0xe430c32e
cmp r12, 0xffffffffffffffff
je 0x20392640
xor eax, eax
test al, al
jne 0x20393489
xor ecx, ecx
xor edx, edx
mov r8, r12
mov r9d, 0x65f06bf7
call fcn.203944e0
mov eax, 0xe430c328
add eax, dword [0x20597e94]
lea rcx, [fcn.20392440]
add ecx, ecx
add ecx, 0x1c00
mov edx, ecx
not edx
mov r8d, ecx
xor r8d, edx
and r8d, eax
xor r8d, edx
mov eax, r8d
not eax
xor r8d, ecx
and eax, edx
or eax, r8d
cmp eax, 0xffffffff
je 0x20392640
lea rax, [fcn.20392440]
lea edi, [rax + rax]
add edi, 0x16e0
mov ebx, edi
not ebx
nop dword [rax]
xor ecx, ecx
xor edx, edx
mov r8, r12
mov r9d, 0x65f06bf7
call fcn.203944e0
mov eax, dword [0x20597e94]
mov ecx, 0x1bcf3cd7
sub ecx, eax
add eax, 0xe430c328
and ecx, ebx
xor eax, edi
or eax, ecx
cmp eax, 0xffffffff
jne 0x203934a0
jmp 0x20393437