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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x13bc
call fcn.0047d930
push ebx
push esi
push edi
mov edi, dword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
call edi
mov dword [esp + 0x13c4], 0xffffffff
mov edx, 1
mov dword [esp + 0x44], eax
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [esp + edx*4 + 0x44], eax
inc edx
cmp edx, 0x270
jl 0x439fd0
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0x270
push 6
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x1c], 0xffffffff
call fcn.0043ab40
add eax, reloc.WS2_32.dll_getpeername
cmp eax, 0x80000000
lea ecx, [eax - 0x80000000]
lea esi, [eax - 0x80000000]
cmovae esi, ecx
call edi
mov dword [esp + 0x13c4], 0xffffffff
mov edx, 1
mov dword [esp + 0x44], eax
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [esp + edx*4 + 0x44], eax
inc edx
cmp edx, 0x270
jl 0x43a046
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0x270
push 6
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x1c], 0xffffffff
call fcn.0043ab40
add eax, reloc.WS2_32.dll_getpeername
cmp eax, 0x80000000
lea ecx, [eax - 0x80000000]
lea ebx, [eax - 0x80000000]
cmovae ebx, ecx
call edi
mov dword [esp + 0x13c4], 0xffffffff
mov edx, 1
mov dword [esp + 0x44], eax
nop dword [eax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [esp + edx*4 + 0x44], eax
inc edx
cmp edx, 0x270
jl 0x43a0c0
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0x270
push 6
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x1c], 0xffffffff
call fcn.0043ab40
add eax, reloc.WS2_32.dll_getpeername
cmp eax, 0x80000000
lea ecx, [eax - 0x80000000]
lea edx, [eax - 0x80000000]
cmovae edx, ecx
mov dword [esp + 0x3c], edx
call edi
mov dword [esp + 0x13c4], 0xffffffff
mov edx, 1
mov dword [esp + 0x44], eax
nop word [eax + eax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [esp + edx*4 + 0x44], eax
inc edx
cmp edx, 0x270
jl 0x43a140
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0x270
push 6
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x1c], 0xffffffff
call fcn.0043ab40
add eax, reloc.WS2_32.dll_getpeername
cmp eax, 0x80000000
lea ecx, [eax - 0x80000000]
lea edi, [eax - 0x80000000]
cmovae edi, ecx
cmp byte [0x4b8514], 0
je 0x43a1be
cmp byte [0x4b859e], 0
je 0x43a1be
mov eax, dword [esp + 0x3c]
add eax, edi
add eax, ebx
add eax, esi
jmp 0x43a1c1
lea eax, [ebx + esi]
cmp byte [0x4b859d], 0
mov ecx, dword [sym.imp.USER32.dll_SendInput]
mov dword [0x4b8558], eax
je 0x43a242
mov edx, dword [0x4b8580]
mov ecx, dword [0x4b857c]
call fcn.0043aa60
mov dword [0x4b8578], eax
xorps xmm0, xmm0
push 0x1c
lea eax, [esp + 0x24]
movlpd qword [esp + 0x28], xmm0
push eax
mov eax, dword [sym.imp.USER32.dll_SendInput]
push 1
mov dword [esp + 0x38], 0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], 4
call eax
mov eax, esi
lea ecx, [esp + 0x10]
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00439e00
mov byte [0x4b859d], 0
jmp 0x43a327
cmp dword [0x4b8578], 0
jg 0x43a27c
mov edx, dword [0x4b858c]
mov ecx, dword [0x4b857c]
call fcn.0043aa60
mov edx, dword [0x4b858c]
mov ecx, dword [0x4b8588]
mov dword [0x4b8578], eax
call fcn.0043aa60
mov dword [0x4b8584], eax
jmp 0x43a327
mov eax, dword [0x4b8584]
test eax, eax
js 0x43a290
dec eax
mov dword [0x4b8584], eax
jmp 0x43a32d
push 0x1c
lea eax, [esp + 0x24]
mov dword [esp + 0x30], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
push eax
push 1
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x3c], 2
call ecx
mov eax, esi
lea ecx, [esp + 0x10]
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00439e00
push 0x1c
lea eax, [esp + 0x24]
mov dword [esp + 0x30], 0
push eax
mov eax, dword [sym.imp.USER32.dll_SendInput]
xorps xmm0, xmm0
push 1
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], 4
call eax
mov eax, ebx
lea ecx, [esp + 0x10]
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00439e00
dec dword [0x4b8578]
mov ecx, dword [sym.imp.USER32.dll_SendInput]
cmp byte [0x4b8514], 0
je 0x43a3da
cmp byte [0x4b859e], 0
je 0x43a3da
push 0x1c
lea eax, [esp + 0x24]
mov dword [esp + 0x30], 0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
push eax
push 1
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x3c], 8
call ecx
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x10]
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00439e00
push 0x1c
lea eax, [esp + 0x24]
mov dword [esp + 0x30], 0
push eax
mov eax, dword [sym.imp.USER32.dll_SendInput]
xorps xmm0, xmm0
push 1
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], 0x10
call eax
mov eax, edi
lea ecx, [esp + 0x10]
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00439e00
cmp dword [0x4b8528], 0
jle 0x43a449
movsx eax, word [0x4b855e]
push 0
push 0
push eax
movsx eax, word [0x4b855c]
push eax
push 1
call dword [sym.imp.USER32.dll_mouse_event]
cmp byte [0x4b8538], 0
je 0x43a41f
mov edx, dword [0x4b853c]
mov ecx, edx
neg ecx
call fcn.0043aa60
mov edx, dword [0x4b853c]
jmp 0x43a434
mov edx, dword [0x4b8528]
mov ecx, edx
neg ecx
call fcn.0043aa60
mov edx, dword [0x4b8528]
mov ecx, edx
mov word [0x4b855c], ax
neg ecx
call fcn.0043aa60
mov word [0x4b855e], ax
cvttss2si edx, dword [0x4b851c]
cvttss2si ecx, dword [0x4b8518]
call fcn.0043aa60
mov ecx, eax
mov eax, 0x3e8
cdq
idiv ecx
lea ecx, [esp + 0x10]
sub eax, dword [0x4b8558]
mov dword [0x4b8554], eax
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00439e00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret