Function at 0x140054280
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x140143080]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rbx, rcx
mov qword [rbp - 0x70], rcx
xor r12d, r12d
mov dword [rcx], 0x3fa66666
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], r12
add rcx, 0x20
call fcn.140054260
mov qword [rbx + 0x38], r12
mov qword [rbx + 0x40], r12
mov qword [rbx + 0x48], r12
mov dword [rbx + 0x50], r12d
mov qword [rbx + 0x54], 4
mov word [rbx + 0x5c], r12w
mov byte [rbx + 0x5e], 1
mov dword [rbx + 0x60], 0x41a00000
mov dword [rbx + 0x64], 0xa
mov byte [rbx + 0x68], r12b
mov qword [rbx + 0x6c], r12
mov dword [rbx + 0x74], r12d
mov dword [rbx + 0x78], 0x1000101
lea rcx, [rbx + 0x128]
call fcn.140054010
nop
mov qword [rbx + 0x298], r12
mov qword [rbx + 0x2a0], r12
mov qword [rbx + 0x2a8], r12
mov byte [rbx + 0x2b0], 1
lea rcx, [rbx + 0x2b8]
call fcn.140055140
nop
lea rcx, [rbx + 0x2f8]
call fcn.140055090
nop
mov qword [rbx + 0x308], r12
mov qword [rbx + 0x310], r12
mov qword [rbx + 0x318], r12
lea rcx, [rbx + 0x320]
call fcn.140007f00
nop
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140056630
mov rcx, qword [rax]
mov qword [rbx + 0x340], rcx
mov dword [rbx + 0x348], 0xbf800000
mov dword [rbx + 0x7c], 0xff7f7f7f
mov dword [rbx + 0x80], 0xffd69c56
mov dword [rbx + 0x84], 0xff00ff00
mov dword [rbx + 0x88], 0xff7070e0
mov qword [rbx + 0x8c], 0xffffffffff70a0e0
mov dword [rbx + 0x94], 0xff408080
mov dword [rbx + 0x98], 0xffaaaaaa
mov dword [rbx + 0x9c], 0xff9bc64d
mov dword [rbx + 0xa0], 0xffc040a0
mov dword [rbx + 0xa4], 0xff206020
mov dword [rbx + 0xa8], 0xff406020
mov dword [rbx + 0xac], 0xff101010
mov dword [rbx + 0xb0], 0xffe0e0e0
mov dword [rbx + 0xb4], 0x10ffffff
mov dword [rbx + 0xb8], 0x800020ff
mov dword [rbx + 0xbc], 0x40f08000
mov dword [rbx + 0xc0], 0xffc5c5c5
mov dword [rbx + 0xc4], 0x40000000
mov dword [rbx + 0xc8], 0x40808080
mov dword [rbx + 0xcc], 0x40a0a0a0
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1402eeef0], eax
jle 0x1400544c6
lea rcx, [0x1402eeef0]
call fcn.140106cb0
cmp dword [0x1402eeef0], 0xffffffff
jne 0x1400544c6
lea rcx, [0x1402eed80]
call fcn.140054010
lea rcx, [0x14010ecf0]
call fcn.140106bb4
nop
lea rcx, [0x1402eeef0]
call fcn.140106c44
cmp byte [0x1402eeb68], 0
jne 0x140054a93
lea rdi, [0x140126fe0]
lea rsi, [0x140127098]
mov rdx, qword [rdi]
lea rcx, [rsp + 0x20]
call fcn.1400047c0
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
lea rcx, [0x1402eeda0]
call fcn.140055620
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
add rdi, 8
cmp rdi, rsi
jne 0x1400544e1
lea rdi, str.assert
lea rsi, [0x140126dd0]
nop word [rax + rax]
mov qword [rbp - 0x10], r12
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], reloc.WS2_32.dll_ntohs
mov byte [rbp - 8], 0
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.Built_in_function
lea rcx, [rbp - 8]
call fcn.140010b90
mov rdx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140054580
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x20], 0
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x38]
call fcn.140007de0
nop
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [0x1402eede0]
call fcn.1400575b0
nop
lea rcx, [rbp - 0x38]
call fcn.140007fb0
lea rcx, [rbp - 0x60]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
nop
lea rcx, [rbp - 8]
call fcn.140007fb0
add rdi, 8
cmp rdi, rsi
jne 0x140054530
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.L___._____
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rbp], xmm0
movdqa xmm6, xmmword [0x140129c30]
movdqu xmmword [rsp + 0x30], xmm6
mov byte [rsp + 0x20], 0
mov dword [rbp + 0x10], 3
mov rdx, qword [0x1402eeed8]
cmp rdx, qword [0x1402eeee0]
je 0x1400546a1
movups xmmword [rdx], xmm1
movups xmmword [rdx + 0x10], xmm0
movdqu xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
mov dword [rdx + 0x20], 3
add qword [0x1402eeed8], 0x28
jmp 0x1400546b2
lea r8, [rbp - 0x10]
lea rcx, [0x1402eeed0]
call fcn.140057e90
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, 0xa
lea rdx, [0x1401266a0]
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rbp], xmm0
movdqu xmmword [rsp + 0x30], xmm6
mov byte [rsp + 0x20], 0
mov dword [rbp + 0x10], 3
mov rdx, qword [0x1402eeed8]
cmp rdx, qword [0x1402eeee0]
je 0x140054745
movups xmmword [rdx], xmm1
movups xmmword [rdx + 0x10], xmm0
movdqu xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
mov dword [rdx + 0x20], 3
add qword [0x1402eeed8], 0x28
jmp 0x140054756
lea r8, [rbp - 0x10]
lea rcx, [0x1402eeed0]
call fcn.140057e90
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, reloc.WLDAP32.dll_Ordinal_32
lea rdx, str.0_xX__0_9a_fA_F__uU___lL___lL__
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rbp], xmm0
movdqu xmmword [rsp + 0x30], xmm6
mov byte [rsp + 0x20], 0
mov dword [rbp + 0x10], 2
mov rdx, qword [0x1402eeed8]
cmp rdx, qword [0x1402eeee0]
je 0x1400547e9
movups xmmword [rdx], xmm1
movups xmmword [rdx + 0x10], xmm0
movdqu xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
mov dword [rdx + 0x20], 2
add qword [0x1402eeed8], 0x28
jmp 0x1400547fa
lea r8, [rbp - 0x10]
lea rcx, [0x1402eeed0]
call fcn.140057e90
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, Ordinal_60
lea rdx, str.______0_9___.__0_9____.__0_9____eE______0_9____fF__
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rbp], xmm0
movdqu xmmword [rsp + 0x30], xmm6
mov byte [rsp + 0x20], 0
mov dword [rbp + 0x10], 2
mov rdx, qword [0x1402eeed8]
cmp rdx, qword [0x1402eeee0]
je 0x14005488d
movups xmmword [rdx], xmm1
movups xmmword [rdx + 0x10], xmm0
movdqu xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
mov dword [rdx + 0x20], 2
add qword [0x1402eeed8], 0x28
jmp 0x14005489e
lea r8, [rbp - 0x10]
lea rcx, [0x1402eeed0]
call fcn.140057e90
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, reloc.WLDAP32.dll_Ordinal_26
lea rdx, str._____0_9__Uu___lL___lL__
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rbp], xmm0
movdqu xmmword [rsp + 0x30], xmm6
mov byte [rsp + 0x20], 0
mov dword [rbp + 0x10], 2
mov rdx, qword [0x1402eeed8]
cmp rdx, qword [0x1402eeee0]
je 0x140054931
movups xmmword [rdx], xmm1
movups xmmword [rdx + 0x10], xmm0
movdqu xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
mov dword [rdx + 0x20], 2
add qword [0x1402eeed8], 0x28
jmp 0x140054942
lea r8, [rbp - 0x10]
lea rcx, [0x1402eeed0]
call fcn.140057e90
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, reloc.WLDAP32.dll_Ordinal_22
lea rdx, str._a_zA_Z___a_zA_Z0_9__
lea rcx, [rsp + 0x20]
call fcn.140004800
nop
movups xmm1, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp], xmm0
movdqu xmmword [rsp + 0x30], xmm6
mov byte [rsp + 0x20], 0
mov dword [rbp + 0x10], 7
lea rdx, [rbp - 0x10]
lea rcx, [0x1402eeed0]
call fcn.140055410
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
mov dword [rsp + 0x40], 5
lea rdx, str.______________._
lea rcx, [rsp + 0x20]
call fcn.1400047c0
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x10]
call fcn.140056660
nop
mov rdx, rax
lea rcx, [0x1402eeed0]
call fcn.140055410
nop
lea rcx, [rbp - 0x10]
call fcn.140007fb0
nop
lea rcx, [rsp + 0x20]
call fcn.140007fb0
mov r8d, 4
lea rdx, [0x1401266d4]
lea rcx, [0x1402eee60]
call fcn.140010b90
mov r8d, 2
lea rdx, [0x1401266dc]
lea rcx, [0x1402eee80]
call fcn.140010b90
mov r8d, 2
lea rdx, [0x140126734]
lea rcx, [0x1402eeea0]
call fcn.140010b90
mov byte [0x1402eeee8], 1
mov byte [0x1402eeec1], 0
mov r8d, 3
lea rdx, [0x140126738]
lea rcx, [0x1402eed80]
call fcn.140010b90
mov byte [0x1402eeb68], 1
lea rcx, [rbx + 0x128]
lea rdx, [0x1402eed80]
call fcn.140054db0
lea rsi, [rbx + 0x298]
mov rdi, qword [rsi]
mov r14, qword [rsi + 8]
cmp rdi, r14
je 0x140054afd
nop dword [rax]
mov rcx, rdi
call fcn.1400558f0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x140054aed
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140054aed
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
add rdi, 0x30
cmp rdi, r14
jne 0x140054ac0
mov rax, qword [rsi]
mov qword [rsi + 8], rax
mov r14, qword [rbx + 0x278]
mov r15, qword [rbx + 0x280]
cmp r14, r15
je 0x140054c16
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.1400566a0
mov rdi, rax
mov qword [rsp + 0x60], r12
lea rcx, [rsp + 0x68]
call fcn.1400571a0
lea rax, [rsp + 0x60]
cmp rax, rdi
je 0x140054b51
lea rcx, [rsp + 0x60]
call fcn.1400558f0
mov rcx, qword [rdi]
mov qword [rsp + 0x60], rcx
mov qword [rdi], r12
mov eax, dword [r14 + 0x20]
mov dword [rbp - 0x78], eax
mov rdi, qword [rsi + 8]
cmp rdi, qword [rsi + 0x10]
je 0x140054b9a
mov qword [rdi], r12
lea rcx, [rdi + 8]
call fcn.1400571a0
lea rax, [rsp + 0x60]
cmp rdi, rax
je 0x140054b8d
mov rcx, rdi
call fcn.1400558f0
mov rax, qword [rsp + 0x60]
mov qword [rdi], rax
mov qword [rsp + 0x60], r12
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x28], eax
add qword [rsi + 8], 0x30
jmp 0x140054bab
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, rsi
call fcn.140057bb0
nop
lea rcx, [rsp + 0x60]
call fcn.1400558f0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140054bdb
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140054bdb
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
nop
lea rcx, [rbp - 0x10]
call fcn.1400558f0
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x140054c09
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140054c09
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
add r14, 0x28
cmp r14, r15
jne 0x140054b14
mov rcx, qword [rbx + 0x10]
sub rcx, qword [rbx + 8]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, dword [rbx + 0x6c]
test ecx, ecx
cmovns ecx, r12d
mov eax, dword [rbx + 0x70]
cmp eax, edx
cmovle eax, edx
test ecx, ecx
cmovs ecx, r12d
mov dword [rbx + 0x6c], ecx
cmp ecx, eax
cmovg eax, ecx
mov dword [rbx + 0x70], eax
mov byte [rbx + 0x2b0], 1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx + 0x18]
je 0x140054c9b
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rdx], r12
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], r12
add qword [rbx + 0x10], 0x18
jmp 0x140054caa
lea r8, [rsp + 0x48]
lea rcx, [rbx + 8]
call fcn.140057870
nop
lea rcx, [rsp + 0x48]
call fcn.140055010
nop
mov rax, rbx
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.140106930
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret