Function at 0x140054b90
Capabilities:
Encode data using xor
Hash data with md5

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov rax, r8
mov r14, rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x71], xmm0
xor r9d, r9d
mov edi, r9d
mov qword [rbp - 0x79], r9
mov qword [rbp - 0x61], r9
mov r8, qword [rdx]
mov qword [rbp + 0x6f], r8
mov r12, qword [rdx + 8]
mov r13d, r9d
mov r15d, r9d
cmp r8, r12
je 0x140054c88
sub r12, r8
mov rbx, r12
sar rbx, 2
movabs rax, 0x3fffffffffffffff
cmp rbx, rax
ja 0x140056ab9
lea rbx, [rbx*4]
cmp rbx, 0x1000
jb 0x140054c3f
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140056ab9
call fcn.14009b4d4
test rax, rax
je 0x140056ab3
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140054c4f
test rbx, rbx
je 0x140054c4f
mov rcx, rbx
call fcn.14009b4d4
mov r15, rax
mov rsi, r15
mov qword [rbp - 0x51], r15
mov qword [rbp - 0x71], r15
lea rdi, [rbx + r15]
mov qword [rbp - 0x79], rdi
mov qword [rbp - 0x61], rdi
mov r8, r12
mov rdx, qword [rbp + 0x6f]
mov rcx, r15
call fcn.14009de10
mov rbx, rdi
mov qword [rbp - 0x69], rbx
mov r13, rdi
mov rax, qword [rbp + 0x77]
xor r9d, r9d
jmp 0x140054c94
mov rbx, qword [rbp - 0x69]
mov rsi, qword [rbp - 0x71]
mov qword [rbp - 0x51], rsi
shr rax, 5
mov qword [rbp + 0x7f], rax
mov rcx, r13
sub rcx, r15
sar rcx, 2
cmp rcx, rax
ja 0x140054d14
mov dword [rbp + 0x6f], r9d
lea r12, [rax + 1]
cmp r12, rcx
jae 0x140054cbe
lea rbx, [r15 + r12*4]
jmp 0x140054d10
jbe 0x140054d14
mov rax, rdi
sub rax, r15
sar rax, 2
cmp r12, rax
jbe 0x140054cf5
lea r8, [rbp + 0x6f]
mov rdx, r12
lea rcx, [rbp - 0x71]
call fcn.140057d50
mov rdi, qword [rbp - 0x61]
mov qword [rbp - 0x79], rdi
mov rbx, qword [rbp - 0x69]
mov rsi, qword [rbp - 0x71]
mov qword [rbp - 0x51], rsi
jmp 0x140054d14
sub r12, rcx
lea rbx, [r12*4]
mov r8, rbx
xor edx, edx
mov rcx, r13
call fcn.14009e4c0
add rbx, r13
mov qword [rbp - 0x69], rbx
mov r12, qword [rbp + 0x77]
movzx ecx, r12b
and cl, 0x1f
mov edx, 0x80
shl edx, cl
mov rax, qword [rbp + 0x7f]
or dword [rsi + rax*4], edx
lea r13, [r12 + 0x40]
shr r13, 5
movabs rax, 0x7fffffffffffff0
and r13, rax
add r13, 0xe
mov rcx, rbx
sub rcx, rsi
sar rcx, 2
xor edx, edx
cmp rcx, r13
ja 0x140054dc6
mov dword [rbp + 0x6f], edx
lea r15, [r13 + 1]
cmp r15, rcx
jae 0x140054d6a
lea rbx, [rsi + r15*4]
jmp 0x140054dc2
jbe 0x140054dc6
mov rax, rdi
sub rax, rsi
sar rax, 2
cmp r15, rax
jbe 0x140054da3
lea r8, [rbp + 0x6f]
mov rdx, r15
lea rcx, [rbp - 0x71]
call fcn.140057d50
mov rdi, qword [rbp - 0x61]
mov qword [rbp - 0x79], rdi
mov rbx, qword [rbp - 0x69]
mov rsi, qword [rbp - 0x71]
mov qword [rbp - 0x51], rsi
xor edx, edx
jmp 0x140054dc6
sub r15, rcx
lea rdi, [r15*4]
mov r8, rdi
mov rcx, rbx
call fcn.14009e4c0
add rbx, rdi
mov rdi, qword [rbp - 0x79]
xor edx, edx
mov qword [rbp - 0x69], rbx
mov dword [rsi + r13*4], r12d
mov rcx, rbx
sub rcx, rsi
sar rcx, 2
cmp rcx, 0x10
jae 0x140054e3e
mov dword [rbp + 0x6f], edx
mov rax, rdi
sub rax, rsi
sar rax, 2
cmp rax, 0x10
jae 0x140054e15
lea r8, [rbp + 0x6f]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x71]
call fcn.140057d50
mov rdi, qword [rbp - 0x61]
mov qword [rbp - 0x79], rdi
mov rbx, qword [rbp - 0x69]
mov rsi, qword [rbp - 0x71]
mov qword [rbp - 0x51], rsi
jmp 0x140054e3e
mov r15d, reloc.WS2_32.dll_recv
sub r15, rcx
lea rdi, [r15*4]
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.14009e4c0
add rbx, rdi
mov rdi, qword [rbp - 0x79]
mov qword [rbp - 0x69], rbx
mov r12d, 0x67452301
mov r10d, 0xefcdab89
mov dword [rbp + 0x6f], r10d
xor eax, eax
mov r15d, 0x98badcfe
mov r13d, 0x10325476
mov qword [rbp + 0xf], rax
sub rbx, rsi
sar rbx, 2
test rbx, rbx
je 0x140056a12
lea r13, [rsi + 8]
mov qword [rsp + 0x30], r13
mov edi, r15d
mov r14d, 0x10325476
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [r13 - 8]
mov r9d, r10d
not r9d
and r9d, r14d
mov eax, edi
and eax, r10d
or r9d, eax
movzx edx, cx
add edx, 0xa478
shr ecx, 0x10
mov dword [rbp - 0x35], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xd76a]
add r8d, eax
movzx eax, r12w
mov dword [rbp - 0xd], eax
movzx ecx, r9w
add ecx, eax
shr r12d, 0x10
mov dword [rbp - 9], r12d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r12d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov esi, ecx
shr esi, 0x10
shr r9d, 0x10
add esi, r9d
shr r8d, 0x10
add esi, r8d
shl esi, 0x10
movzx eax, cx
or esi, eax
rol esi, 7
movzx r13d, r10w
mov dword [rbp - 5], r13d
movzx ecx, si
add ecx, r13d
mov edx, r10d
shr edx, 0x10
mov dword [rbp - 0x59], edx
mov eax, ecx
shr eax, 0x10
shr esi, 0x10
add eax, edx
add esi, eax
shl esi, 0x10
movzx eax, cx
or esi, eax
mov r12, qword [rsp + 0x30]
mov ecx, dword [r12 - 4]
mov r9d, esi
not r9d
and r9d, edi
mov eax, r10d
and eax, esi
or r9d, eax
movzx edx, cx
add edx, 0xb756
shr ecx, 0x10
mov dword [rbp - 0x45], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xe8c7]
add r8d, eax
movzx eax, r14w
mov dword [rbp + 7], eax
movzx ecx, r9w
add ecx, eax
shr r14d, 0x10
mov dword [rbp - 0x7d], r14d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r14d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r11d, ecx
shr r11d, 0x10
shr r9d, 0x10
add r11d, r9d
shr r8d, 0x10
add r11d, r8d
shl r11d, 0x10
movzx eax, cx
or r11d, eax
rol r11d, 0xc
movzx r14d, si
movzx ecx, r11w
add ecx, r14d
mov r15d, esi
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr r11d, 0x10
add eax, r15d
add r11d, eax
shl r11d, 0x10
movzx eax, cx
or r11d, eax
mov dword [rbp + 0x6f], r11d
mov r8d, dword [r12]
mov r9d, r11d
not r9d
and r9d, r10d
mov eax, r11d
and eax, esi
or r9d, eax
movzx edx, r8w
add edx, 0x70db
mov ecx, edx
shr ecx, 0x10
shr r8d, 0x10
add r8d, 0x2420
add r8d, ecx
movzx eax, di
mov dword [rbp - 1], eax
movzx ecx, r9w
add ecx, eax
shr edi, 0x10
mov dword [rbp + 3], edi
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, edi
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r12d, ecx
shr r12d, 0x10
shr r9d, 0x10
add r12d, r9d
shr r8d, 0x10
add r12d, r8d
shl r12d, 0x10
movzx eax, cx
or r12d, eax
ror r12d, 0xf
movzx r10d, r11w
movzx ecx, r12w
add ecx, r10d
mov edi, r11d
shr edi, 0x10
mov eax, ecx
shr eax, 0x10
shr r12d, 0x10
add eax, edi
add r12d, eax
shl r12d, 0x10
movzx eax, cx
or r12d, eax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
mov r9d, r12d
not r9d
and r9d, esi
mov eax, r11d
and eax, r12d
or r9d, eax
movzx edx, cx
add edx, 0xceee
shr ecx, 0x10
mov dword [rbp - 0x19], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xc1bd]
add r8d, eax
movzx ecx, r9w
add ecx, r13d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, dword [rbp - 0x59]
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
shr r9d, 0x10
add r13d, r9d
shr r8d, 0x10
add r13d, r8d
shl r13d, 0x10
movzx eax, cx
or r13d, eax
ror r13d, 0xa
movzx r11d, r12w
movzx ecx, r13w
add ecx, r11d
mov esi, r12d
shr esi, 0x10
mov eax, ecx
shr eax, 0x10
shr r13d, 0x10
add eax, esi
add r13d, eax
shl r13d, 0x10
movzx eax, cx
or r13d, eax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 8]
mov r9d, r13d
not r9d
and r9d, dword [rbp + 0x6f]
mov eax, r12d
and eax, r13d
or r9d, eax
movzx edx, cx
add edx, 0xfaf
shr ecx, 0x10
mov dword [rbp - 0x25], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xf57c]
add r8d, eax
movzx ecx, r9w
add ecx, r14d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 7
movzx r14d, r13w
movzx ecx, dx
add ecx, r14d
mov r15d, r13d
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, r15d
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0xc]
mov r9d, edx
not r9d
and r9d, r12d
mov eax, r13d
and eax, edx
or r9d, eax
movzx edx, cx
add edx, 0xc62a
shr ecx, 0x10
mov dword [rbp - 0x31], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0x4787]
add r8d, eax
movzx ecx, r9w
add ecx, r10d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, edi
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 0xc
mov r10d, dword [rbp + 0x6f]
movzx edi, r10w
movzx ecx, dx
add ecx, edi
mov r12d, r10d
shr r12d, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, r12d
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x10]
mov r9d, edx
not r9d
and r9d, r13d
mov eax, edx
and eax, r10d
or r9d, eax
movzx edx, cx
add edx, 0x4613
shr ecx, 0x10
mov dword [rbp - 0x3d], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xa830]
add r8d, eax
movzx ecx, r9w
add ecx, r11d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, esi
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
ror edx, 0xf
mov r11d, dword [rbp + 0x6f]
movzx esi, r11w
movzx ecx, dx
add ecx, esi
mov r13d, r11d
shr r13d, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, r13d
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov rax, qword [rsp + 0x30]
mov r8d, dword [rax + 0x14]
mov r9d, edx
not r9d
and r9d, r10d
mov eax, r11d
and eax, edx
or r9d, eax
movzx edx, r8w
add edx, 0x9501
mov ecx, edx
shr ecx, 0x10
shr r8d, 0x10
add r8d, 0xfd46
add r8d, ecx
movzx ecx, r9w
add ecx, r14d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r15d, ecx
shr r15d, 0x10
shr r9d, 0x10
add r15d, r9d
shr r8d, 0x10
add r15d, r8d
shl r15d, 0x10
movzx eax, cx
or r15d, eax
ror r15d, 0xa
mov edx, dword [rbp + 0x6f]
movzx r10d, dx
movzx ecx, r15w
add ecx, r10d
mov r14d, edx
shr r14d, 0x10
mov eax, ecx
shr eax, 0x10
shr r15d, 0x10
add eax, r14d
add r15d, eax
shl r15d, 0x10
movzx eax, cx
or r15d, eax
mov dword [rbp + 0x7f], r15d
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x18]
mov r9d, r15d
not r9d
and r9d, r11d
mov eax, edx
and eax, r15d
or r9d, eax
movzx edx, cx
add edx, 0x98d8
shr ecx, 0x10
mov dword [rbp - 0x15], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0x6980]
add r8d, eax
movzx ecx, r9w
add ecx, edi
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r12d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r12d, ecx
shr r12d, 0x10
shr r9d, 0x10
add r12d, r9d
shr r8d, 0x10
add r12d, r8d
shl r12d, 0x10
movzx eax, cx
or r12d, eax
rol r12d, 7
movzx r11d, r15w
movzx ecx, r12w
add ecx, r11d
mov edi, r15d
shr edi, 0x10
mov eax, ecx
shr eax, 0x10
shr r12d, 0x10
add eax, edi
add r12d, eax
shl r12d, 0x10
movzx eax, cx
or r12d, eax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x1c]
mov r9d, r12d
not r9d
and r9d, dword [rbp + 0x6f]
mov eax, r15d
and eax, r12d
or r9d, eax
movzx edx, cx
add edx, 0xf7af
shr ecx, 0x10
mov dword [rbp - 0x21], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0x8b44]
add r8d, eax
movzx ecx, r9w
add ecx, esi
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r13d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
shr r9d, 0x10
add r13d, r9d
shr r8d, 0x10
add r13d, r8d
shl r13d, 0x10
movzx eax, cx
or r13d, eax
rol r13d, 0xc
movzx esi, r12w
movzx ecx, r13w
add ecx, esi
mov r15d, r12d
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr r13d, 0x10
add eax, r15d
add r13d, eax
shl r13d, 0x10
movzx eax, cx
or r13d, eax
mov dword [rsp + 0x38], r13d
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x20]
mov r9d, r13d
not r9d
and r9d, dword [rbp + 0x7f]
mov eax, r13d
and eax, r12d
or r9d, eax
movzx edx, cx
add edx, 0x5bb1
shr ecx, 0x10
mov dword [rbp - 0x2d], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xffff]
add r8d, eax
movzx ecx, r9w
add ecx, r10d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r14d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
ror edx, 0xf
movzx r10d, r13w
movzx ecx, dx
add ecx, r10d
mov r14d, r13d
shr r14d, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, r14d
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x24]
mov r9d, edx
not r9d
and r9d, r12d
mov eax, r13d
and eax, edx
or r9d, eax
movzx edx, cx
add edx, 0xd7be
shr ecx, 0x10
mov dword [rbp - 0x39], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0x895c]
add r8d, eax
movzx ecx, r9w
add ecx, r11d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, edi
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r12d, ecx
shr r12d, 0x10
shr r9d, 0x10
add r12d, r9d
shr r8d, 0x10
add r12d, r8d
shl r12d, 0x10
movzx eax, cx
or r12d, eax
ror r12d, 0xa
mov edi, dword [rbp + 0x6f]
movzx r11d, di
movzx ecx, r12w
add ecx, r11d
mov r13d, edi
shr r13d, 0x10
mov eax, ecx
shr eax, 0x10
shr r12d, 0x10
add eax, r13d
add r12d, eax
shl r12d, 0x10
movzx eax, cx
or r12d, eax
mov dword [rbp + 0x6f], r12d
mov rax, qword [rsp + 0x30]
mov r8d, dword [rax + 0x28]
mov r9d, r12d
not r9d
and r9d, dword [rsp + 0x38]
mov eax, edi
and eax, r12d
or r9d, eax
movzx edx, r8w
add edx, 0x1122
mov ecx, edx
shr ecx, 0x10
shr r8d, 0x10
add r8d, 0x6b90
add r8d, ecx
movzx ecx, r9w
add ecx, esi
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov esi, ecx
shr esi, 0x10
shr r9d, 0x10
add esi, r9d
shr r8d, 0x10
add esi, r8d
shl esi, 0x10
movzx eax, cx
or esi, eax
rol esi, 7
movzx r12d, r12w
movzx ecx, si
add ecx, r12d
mov r15d, dword [rbp + 0x6f]
mov edx, r15d
shr edx, 0x10
mov dword [rsp + 0x38], edx
mov eax, ecx
shr eax, 0x10
shr esi, 0x10
add eax, edx
add esi, eax
shl esi, 0x10
movzx eax, cx
or esi, eax
mov dword [rbp + 0x7f], esi
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x2c]
mov r9d, esi
not r9d
and r9d, edi
mov eax, r15d
and eax, esi
or r9d, eax
movzx edx, cx
add edx, 0x7193
shr ecx, 0x10
mov dword [rbp - 0x11], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xfd98]
add r8d, eax
movzx ecx, r9w
add ecx, r10d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r14d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r14d, ecx
shr r14d, 0x10
shr r9d, 0x10
add r14d, r9d
shr r8d, 0x10
add r14d, r8d
shl r14d, 0x10
movzx eax, cx
or r14d, eax
rol r14d, 0xc
movzx edi, si
movzx ecx, r14w
add ecx, edi
shr esi, 0x10
mov eax, ecx
shr eax, 0x10
shr r14d, 0x10
add eax, esi
add r14d, eax
shl r14d, 0x10
movzx eax, cx
or r14d, eax
mov dword [rbp + 0x6f], r14d
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x30]
mov r9d, r14d
not r9d
mov dword [rbp - 0x49], r9d
and r9d, r15d
mov eax, r14d
mov r10d, dword [rbp + 0x7f]
and eax, r10d
or r9d, eax
movzx edx, cx
add edx, 0x438e
shr ecx, 0x10
mov dword [rbp - 0x1d], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0xa679]
add r8d, eax
movzx ecx, r9w
add ecx, r11d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, r13d
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
shr r9d, 0x10
add r13d, r9d
shr r8d, 0x10
add r13d, r8d
shl r13d, 0x10
movzx eax, cx
or r13d, eax
ror r13d, 0xf
movzx r14d, r14w
movzx ecx, r13w
add ecx, r14d
mov r15d, dword [rbp + 0x6f]
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr r13d, 0x10
add eax, r15d
add r13d, eax
shl r13d, 0x10
movzx eax, cx
or r13d, eax
mov dword [rbp - 0x41], r13d
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x34]
mov r9d, r13d
not r9d
mov dword [rbp + 0x7f], r9d
and r9d, r10d
mov eax, dword [rbp + 0x6f]
and eax, r13d
or r9d, eax
movzx edx, cx
add edx, 0x821
shr ecx, 0x10
mov dword [rbp - 0x29], ecx
mov eax, edx
shr eax, 0x10
lea r8d, [rcx + 0x49b4]
add r8d, eax
movzx ecx, r9w
add ecx, r12d
mov eax, ecx
shr eax, 0x10
shr r9d, 0x10
add eax, dword [rsp + 0x38]
add r9d, eax
shl r8d, 0x10
movzx eax, dx
or r8d, eax
shl r9d, 0x10
movzx eax, cx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r12d, ecx
shr r12d, 0x10
shr r9d, 0x10
add r12d, r9d
shr r8d, 0x10
add r12d, r8d
shl r12d, 0x10
movzx eax, cx
or r12d, eax
ror r12d, 0xa
movzx r10d, r13w
movzx ecx, r12w
add ecx, r10d
mov r11d, r13d
shr r11d, 0x10
mov eax, ecx
shr eax, 0x10
shr r12d, 0x10
add eax, r11d
add r12d, eax
shl r12d, 0x10
movzx eax, cx
or r12d, eax
mov r9d, dword [rbp - 0x49]
and r9d, r13d
mov eax, dword [rbp + 0x6f]
and eax, r12d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx - 4]
movzx ecx, ax
add ecx, 0x2562
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x45]
add r8d, 0xf61e
add r8d, eax
movzx edx, r9w
add edx, edi
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, esi
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
shr r9d, 0x10
add r13d, r9d
shr r8d, 0x10
add r13d, r8d
shl r13d, 0x10
movzx eax, cx
or r13d, eax
rol r13d, 5
movzx edi, r12w
movzx ecx, r13w
add ecx, edi
mov esi, r12d
shr esi, 0x10
mov eax, ecx
shr eax, 0x10
shr r13d, 0x10
add eax, esi
add r13d, eax
shl r13d, 0x10
movzx eax, cx
or r13d, eax
mov r9d, dword [rbp + 0x7f]
and r9d, r12d
mov eax, dword [rbp - 0x41]
and eax, r13d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x10]
movzx ecx, ax
add ecx, 0xb340
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x3d]
add r8d, 0xc040
add r8d, eax
movzx edx, r9w
add edx, r14d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 9
movzx r14d, r13w
movzx ecx, dx
add ecx, r14d
mov r15d, r13d
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, r15d
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov r9d, r12d
not r9d
and r9d, r13d
mov eax, edx
and eax, r12d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x24]
movzx ecx, ax
add ecx, 0x5a51
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x39]
add r8d, 0x265e
add r8d, eax
movzx edx, r9w
add edx, r10d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r11d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r11d, ecx
shr r11d, 0x10
shr r9d, 0x10
add r11d, r9d
shr r8d, 0x10
add r11d, r8d
shl r11d, 0x10
movzx eax, cx
or r11d, eax
rol r11d, 0xe
mov edx, dword [rbp + 0x6f]
movzx r10d, dx
movzx ecx, r11w
add ecx, r10d
mov r12d, edx
shr r12d, 0x10
mov eax, ecx
shr eax, 0x10
shr r11d, 0x10
add eax, r12d
add r11d, eax
shl r11d, 0x10
movzx eax, cx
or r11d, eax
mov dword [rbp + 0x7f], r11d
mov r9d, r13d
not r9d
and r9d, edx
mov eax, r11d
and eax, r13d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx - 8]
movzx ecx, ax
add ecx, 0xc7aa
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x35]
add r8d, 0xe9b6
add r8d, eax
movzx edx, r9w
add edx, edi
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, esi
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
shr r9d, 0x10
add r13d, r9d
shr r8d, 0x10
add r13d, r8d
shl r13d, 0x10
movzx eax, cx
or r13d, eax
ror r13d, 0xc
movzx r11d, r11w
movzx ecx, r13w
add ecx, r11d
mov esi, dword [rbp + 0x7f]
shr esi, 0x10
mov eax, ecx
shr eax, 0x10
shr r13d, 0x10
add eax, esi
add r13d, eax
shl r13d, 0x10
movzx eax, cx
or r13d, eax
mov eax, dword [rbp + 0x6f]
mov r9d, eax
not r9d
and r9d, dword [rbp + 0x7f]
and eax, r13d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0xc]
movzx ecx, ax
add ecx, 0x105d
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x31]
add r8d, 0xd62f
add r8d, eax
movzx edx, r9w
add edx, r14d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r15d, ecx
shr r15d, 0x10
shr r9d, 0x10
add r15d, r9d
shr r8d, 0x10
add r15d, r8d
shl r15d, 0x10
movzx eax, cx
or r15d, eax
rol r15d, 5
movzx edi, r13w
movzx ecx, r15w
add ecx, edi
mov r14d, r13d
shr r14d, 0x10
mov eax, ecx
shr eax, 0x10
shr r15d, 0x10
add eax, r14d
add r15d, eax
shl r15d, 0x10
movzx eax, cx
or r15d, eax
mov dword [rbp + 0x6f], r15d
mov eax, dword [rbp + 0x7f]
mov r9d, eax
not r9d
and r9d, r13d
and eax, r15d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x20]
movzx ecx, ax
add ecx, 0x1453
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x2d]
add r8d, 0x244
add r8d, eax
movzx edx, r9w
add edx, r10d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r12d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 9
movzx r10d, r15w
movzx ecx, dx
add ecx, r10d
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, r15d
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x7f], edx
mov r9d, r13d
not r9d
mov r12d, dword [rbp + 0x6f]
and r9d, r12d
mov eax, edx
and eax, r13d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x34]
movzx ecx, ax
add ecx, 0xe681
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x29]
add r8d, 0xd8a1
add r8d, eax
movzx edx, r9w
add edx, r11d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, esi
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 0xe
mov r13d, dword [rbp + 0x7f]
movzx r11d, r13w
movzx ecx, dx
add ecx, r11d
mov esi, r13d
shr esi, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, esi
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov r9d, r12d
not r9d
and r9d, r13d
mov eax, edx
and eax, r12d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 8]
movzx ecx, ax
add ecx, 0xfbc8
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x25]
add r8d, 0xe7d3
add r8d, eax
movzx edx, r9w
add edx, edi
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r14d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r12d, ecx
shr r12d, 0x10
shr r9d, 0x10
add r12d, r9d
shr r8d, 0x10
add r12d, r8d
shl r12d, 0x10
movzx eax, cx
or r12d, eax
ror r12d, 0xc
mov edx, dword [rbp + 0x6f]
movzx edi, dx
movzx ecx, r12w
add ecx, edi
mov r14d, edx
shr r14d, 0x10
mov eax, ecx
shr eax, 0x10
shr r12d, 0x10
add eax, r14d
add r12d, eax
shl r12d, 0x10
movzx eax, cx
or r12d, eax
mov r9d, r13d
not r9d
and r9d, edx
and r13d, r12d
or r9d, r13d
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x1c]
movzx ecx, ax
add ecx, 0xcde6
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x21]
add r8d, 0x21e1
add r8d, eax
movzx edx, r9w
add edx, r10d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
shr r9d, 0x10
add r13d, r9d
shr r8d, 0x10
add r13d, r8d
shl r13d, 0x10
movzx eax, cx
or r13d, eax
rol r13d, 5
movzx r10d, r12w
movzx ecx, r13w
add ecx, r10d
mov r15d, r12d
shr r15d, 0x10
mov eax, ecx
shr eax, 0x10
shr r13d, 0x10
add eax, r15d
add r13d, eax
shl r13d, 0x10
movzx eax, cx
or r13d, eax
mov eax, dword [rbp + 0x6f]
mov r9d, eax
not r9d
and r9d, r12d
and eax, r13d
or r9d, eax
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x30]
movzx ecx, ax
add ecx, 0x7d6
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x1d]
add r8d, 0xc337
add r8d, eax
movzx edx, r9w
add edx, r11d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, esi
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 9
movzx r11d, r13w
movzx ecx, dx
add ecx, r11d
mov esi, r13d
shr esi, 0x10
mov eax, ecx
shr eax, 0x10
shr edx, 0x10
add eax, esi
add edx, eax
shl edx, 0x10
movzx eax, cx
or edx, eax
mov dword [rbp + 0x6f], edx
mov r9d, r12d
not r9d
and r9d, r13d
mov eax, edx
and eax, r12d
or r9d, eax
mov r12, qword [rsp + 0x30]
mov eax, dword [r12 + 4]
movzx ecx, ax
add ecx, 0xd87
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x19]
add r8d, 0xf4d5
add r8d, eax
movzx edx, r9w
add edx, edi
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r14d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 0xe
movzx ecx, dx
mov r14d, dword [rbp + 0x6f]
movzx eax, r14w
add ecx, eax
mov edi, ecx
shr edi, 0x10
shr edx, 0x10
add edi, edx
mov eax, r14d
shr eax, 0x10
add edi, eax
shl edi, 0x10
movzx eax, cx
or edi, eax
mov r9d, r13d
not r9d
and r9d, r14d
mov eax, edi
and eax, r13d
or r9d, eax
mov eax, dword [r12 + 0x18]
movzx ecx, ax
add ecx, 0x14ed
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x15]
add r8d, 0x455a
add r8d, eax
movzx edx, r9w
add edx, r10d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, r15d
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
ror edx, 0xc
movzx ecx, dx
movzx eax, di
add ecx, eax
mov r15d, ecx
shr r15d, 0x10
shr edx, 0x10
add r15d, edx
mov eax, edi
shr eax, 0x10
add r15d, eax
shl r15d, 0x10
movzx eax, cx
or r15d, eax
mov r9d, r14d
not r9d
and r9d, edi
mov eax, r14d
and eax, r15d
or r9d, eax
mov r13d, dword [r12 + 0x2c]
movzx ecx, r13w
add ecx, 0xe905
mov eax, ecx
shr eax, 0x10
mov r8d, dword [rbp - 0x11]
add r8d, 0xa9e3
add r8d, eax
movzx edx, r9w
add edx, r11d
mov eax, edx
shr eax, 0x10
shr r9d, 0x10
add eax, esi
add r9d, eax
shl r8d, 0x10
movzx eax, cx
or r8d, eax
shl r9d, 0x10
movzx eax, dx
or r9d, eax
movzx ecx, r9w
movzx eax, r8w
add ecx, eax
mov edx, ecx
shr edx, 0x10
shr r9d, 0x10
add edx, r9d
shr r8d, 0x10
add edx, r8d
shl edx, 0x10
movzx eax, cx
or edx, eax
rol edx, 5
movzx ecx, dx
movzx eax, r15w
add ecx, eax
mov esi, ecx
shr esi, 0x10
shr edx, 0x10
add esi, edx
mov eax, r15d
shr eax, 0x10
add esi, eax
shl esi, 0x10
movzx eax, cx
or esi, eax
mov ecx, edi
not ecx
and ecx, r15d
mov eax, edi
and eax, esi
or ecx, eax
mov dword [rsp + 0x28], 0xfcefa3f8
mov dword [rsp + 0x20], 9
mov r9d, dword [r12]
mov r8d, esi
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, r15d
not ecx
and ecx, esi
mov r8d, eax
and r8d, r15d
or ecx, r8d
mov dword [rsp + 0x28], 0x676f02d9
mov dword [rsp + 0x20], reloc.WS2_32.dll_ntohl
mov r9d, dword [r12 + 0x14]
mov r8d, eax
mov edx, edi
call fcn.140056ac0
mov edi, eax
mov ecx, esi
not ecx
and ecx, r14d
mov r8d, eax
and r8d, esi
or ecx, r8d
mov dword [rsp + 0x28], 0x8d2a4c8a
mov dword [rsp + 0x20], SafeArrayGetElement
mov r9d, dword [r12 + 0x28]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov r12d, eax
mov ecx, r14d
xor ecx, edi
xor ecx, eax
mov dword [rsp + 0x28], 0xfffa3942
mov dword [rsp + 0x20], 4
mov r15, qword [rsp + 0x30]
mov r9d, dword [r15 + 0xc]
mov r8d, eax
mov edx, esi
call fcn.140056ac0
mov esi, eax
mov ecx, edi
xor ecx, r12d
xor ecx, eax
mov dword [rsp + 0x28], 0x8771f681
mov dword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
mov r9d, dword [r15 + 0x18]
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, eax
xor ecx, r12d
xor ecx, esi
mov dword [rsp + 0x28], 0x6d9d6122
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
mov r9d, dword [r15 + 0x24]
mov r8d, eax
mov edx, edi
call fcn.140056ac0
mov r15d, eax
mov edi, r14d
xor edi, eax
mov ecx, edi
xor ecx, esi
mov dword [rsp + 0x28], 0xfde5380c
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov rdx, qword [rsp + 0x30]
mov r9d, dword [rdx + 0x30]
mov r8d, eax
mov edx, r12d
call fcn.140056ac0
mov r12d, eax
xor edi, eax
mov dword [rsp + 0x28], 0xa4beea44
mov dword [rsp + 0x20], 4
mov rcx, qword [rsp + 0x30]
mov r9d, dword [rcx - 4]
mov r8d, eax
mov edx, esi
mov ecx, edi
call fcn.140056ac0
mov esi, eax
mov ecx, r15d
xor ecx, r12d
xor ecx, eax
mov dword [rsp + 0x28], 0x4bdecfa9
mov dword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
mov rdi, qword [rsp + 0x30]
mov r9d, dword [rdi + 8]
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, eax
xor ecx, r12d
xor ecx, esi
mov dword [rsp + 0x28], 0xf6bb4b60
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
mov r9d, dword [rdi + 0x14]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov r15d, eax
mov edi, r14d
xor edi, eax
mov ecx, edi
xor ecx, esi
mov dword [rsp + 0x28], 0xbebfbc70
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov rdx, qword [rsp + 0x30]
mov r9d, dword [rdx + 0x20]
mov r8d, eax
mov edx, r12d
call fcn.140056ac0
mov r12d, eax
xor edi, eax
mov dword [rsp + 0x28], 0x289b7ec6
mov dword [rsp + 0x20], 4
mov r9d, r13d
mov r8d, eax
mov edx, esi
mov ecx, edi
call fcn.140056ac0
mov r13d, eax
mov ecx, r15d
xor ecx, r12d
xor ecx, eax
mov dword [rsp + 0x28], 0xeaa127fa
mov dword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
mov rsi, qword [rsp + 0x30]
mov r9d, dword [rsi - 8]
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, eax
xor ecx, r12d
xor ecx, r13d
mov dword [rsp + 0x28], 0xd4ef3085
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
mov r9d, dword [rsi + 4]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov r15d, eax
mov edi, r14d
xor edi, eax
mov ecx, edi
xor ecx, r13d
mov dword [rsp + 0x28], 0x4881d05
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov r9d, dword [rsi + 0x10]
mov r8d, eax
mov edx, r12d
call fcn.140056ac0
mov esi, eax
xor edi, eax
mov dword [rsp + 0x28], 0xd9d4d039
mov dword [rsp + 0x20], 4
mov r12, qword [rsp + 0x30]
mov r9d, dword [r12 + 0x1c]
mov r8d, eax
mov edx, r13d
mov ecx, edi
call fcn.140056ac0
mov edi, eax
mov ecx, r15d
xor ecx, esi
xor ecx, eax
mov dword [rsp + 0x28], 0xe6db99e5
mov dword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
mov r13d, dword [r12 + 0x28]
mov r9d, r13d
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, eax
xor ecx, esi
xor ecx, edi
mov dword [rsp + 0x28], 0x1fa27cf8
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
mov rax, r12
mov r12d, dword [rax + 0x34]
mov r9d, r12d
mov r8d, r14d
mov edx, r15d
call fcn.140056ac0
mov r15d, eax
mov ecx, r14d
xor ecx, eax
xor ecx, edi
mov dword [rsp + 0x28], 0xc4ac5665
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax]
mov r8d, r15d
mov edx, esi
call fcn.140056ac0
mov esi, eax
mov ecx, r14d
not ecx
or ecx, eax
xor ecx, r15d
mov dword [rsp + 0x28], 0xf4292244
mov dword [rsp + 0x20], 6
mov rdx, qword [rsp + 0x30]
mov r9d, dword [rdx - 8]
mov r8d, eax
mov edx, edi
call fcn.140056ac0
mov edi, eax
mov ecx, r15d
not ecx
or ecx, eax
xor ecx, esi
mov dword [rsp + 0x28], 0x432aff97
mov dword [rsp + 0x20], 0xa
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax + 0x14]
mov r8d, edi
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, esi
not ecx
or ecx, eax
xor ecx, edi
mov dword [rsp + 0x28], 0xab9423a7
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
mov rdx, qword [rsp + 0x30]
mov r9d, dword [rdx + 0x30]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov r15d, eax
mov ecx, edi
not ecx
or ecx, eax
xor ecx, r14d
mov dword [rsp + 0x28], 0xfc93a039
mov dword [rsp + 0x20], SafeArrayGetElement
mov rdx, qword [rsp + 0x30]
mov r9d, dword [rdx + 0xc]
mov r8d, eax
mov edx, esi
call fcn.140056ac0
mov esi, eax
mov ecx, r14d
not ecx
or ecx, eax
xor ecx, r15d
mov dword [rsp + 0x28], 0x655b59c3
mov dword [rsp + 0x20], 6
mov r9d, r13d
mov r8d, eax
mov edx, edi
call fcn.140056ac0
mov edi, eax
mov ecx, r15d
not ecx
or ecx, eax
xor ecx, esi
mov dword [rsp + 0x28], 0x8f0ccc92
mov dword [rsp + 0x20], 0xa
mov r13, qword [rsp + 0x30]
mov r9d, dword [r13 + 4]
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, esi
not ecx
or ecx, eax
xor ecx, edi
mov dword [rsp + 0x28], 0xffeff47d
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
mov r9d, dword [r13 + 0x20]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov r15d, eax
mov ecx, edi
not ecx
or ecx, eax
xor ecx, r14d
mov dword [rsp + 0x28], 0x85845dd1
mov dword [rsp + 0x20], SafeArrayGetElement
mov r9d, dword [r13 - 4]
mov r8d, eax
mov edx, esi
call fcn.140056ac0
mov esi, eax
mov ecx, r14d
not ecx
or ecx, eax
xor ecx, r15d
mov dword [rsp + 0x28], 0x6fa87e4f
mov dword [rsp + 0x20], 6
mov r9d, dword [r13 + 0x18]
mov r8d, eax
mov edx, edi
call fcn.140056ac0
mov edi, eax
mov ecx, r15d
not ecx
or ecx, eax
xor ecx, esi
mov dword [rsp + 0x28], 0xfe2ce6e0
mov dword [rsp + 0x20], 0xa
mov r9d, r12d
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, esi
not ecx
or ecx, eax
xor ecx, edi
mov dword [rsp + 0x28], 0xa3014314
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
mov r9d, dword [r13 + 0x10]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov r15d, eax
mov ecx, edi
not ecx
or ecx, eax
xor ecx, r14d
mov dword [rsp + 0x28], 0x4e0811a1
mov dword [rsp + 0x20], SafeArrayGetElement
mov r9d, dword [r13 + 0x2c]
mov r8d, eax
mov edx, esi
call fcn.140056ac0
mov esi, eax
mov ecx, r14d
not ecx
or ecx, eax
xor ecx, r15d
mov dword [rsp + 0x28], 0xf7537e82
mov dword [rsp + 0x20], 6
mov r9d, dword [r13 + 8]
mov r8d, eax
mov edx, edi
call fcn.140056ac0
mov r12d, eax
mov ecx, r15d
not ecx
or ecx, eax
xor ecx, esi
mov dword [rsp + 0x28], 0xbd3af235
mov dword [rsp + 0x20], 0xa
mov r9d, dword [r13 + 0x24]
mov r8d, eax
mov edx, r14d
call fcn.140056ac0
mov r14d, eax
mov ecx, esi
not ecx
or ecx, eax
xor ecx, r12d
mov dword [rsp + 0x28], 0x2ad7d2bb
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
mov r9d, dword [r13]
mov r8d, eax
mov edx, r15d
call fcn.140056ac0
mov edi, eax
mov ecx, r12d
not ecx
or ecx, eax
xor ecx, r14d
mov dword [rsp + 0x28], 0xeb86d391
mov dword [rsp + 0x20], SafeArrayGetElement
mov r9d, dword [r13 + 0x1c]
mov r8d, eax
mov edx, esi
call fcn.140056ac0
mov r10d, eax
movzx edx, r12w
add edx, dword [rbp - 0xd]
mov ecx, edx
shr ecx, 0x10
shr r12d, 0x10
add ecx, dword [rbp - 9]
add r12d, ecx
shl r12d, 0x10
movzx eax, dx
or r12d, eax
movzx ecx, r10w
add ecx, dword [rbp - 5]
mov eax, ecx
shr eax, 0x10
shr r10d, 0x10
add eax, dword [rbp - 0x59]
add r10d, eax
shl r10d, 0x10
movzx eax, cx
or r10d, eax
movzx ecx, di
add ecx, dword [rbp - 1]
mov eax, ecx
shr eax, 0x10
shr edi, 0x10
add eax, dword [rbp + 3]
add edi, eax
shl edi, 0x10
movzx eax, cx
or edi, eax
movzx ecx, r14w
add ecx, dword [rbp + 7]
mov eax, ecx
shr eax, 0x10
shr r14d, 0x10
add eax, dword [rbp - 0x7d]
add r14d, eax
shl r14d, 0x10
movzx eax, cx
or r14d, eax
mov rax, qword [rbp + 0xf]
add rax, 0x10
mov qword [rbp + 0xf], rax
add r13, 0x40
mov qword [rsp + 0x30], r13
cmp rax, rbx
jb 0x140054e90
mov dword [rbp + 0x6f], r10d
mov dword [rbp - 0x7d], r14d
mov dword [rbp + 0x7f], edi
mov rdi, qword [rbp - 0x79]
mov rsi, qword [rbp - 0x51]
mov r14, qword [rbp + 0x67]
mov r15d, dword [rbp + 0x7f]
mov r13d, dword [rbp - 0x7d]
xor eax, eax
mov qword [r14], rax
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rax
mov edx, 4
call fcn.140057790
mov qword [r14], rax
mov qword [r14 + 8], rax
add rax, 0x10
mov qword [r14 + 0x10], rax
mov rax, qword [r14]
lea rcx, [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [r14 + 8], rcx
mov rax, qword [r14]
mov dword [rax], r12d
mov rax, qword [r14]
mov ecx, dword [rbp + 0x6f]
mov dword [rax + 4], ecx
mov rax, qword [r14]
mov dword [rax + 8], r15d
mov rax, qword [r14]
mov dword [rax + 0xc], r13d
test rsi, rsi
je 0x140056a9c
sub rdi, rsi
and rdi, 0xfffffffffffffffc
mov rax, rsi
cmp rdi, 0x1000
jb 0x140056a91
add rdi, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056ab3
mov rdx, rdi
mov rcx, rsi
call fcn.14009b510
mov rax, r14
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400ac408
int3
call fcn.140012140
int3