Function at 0x14004e5d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xa0
mov rsi, qword [rdx + 0x10]
xor r14d, r14d
mov dword [rsp + 0x68], r14d
mov r13d, r14d
mov qword [rsp + 0x78], rsi
mov r15, rdx
mov rdi, rcx
call fcn.14004e500
test eax, eax
jne 0x14004f876
mov qword [rsp + 0x98], rbx
mov rdx, r15
mov qword [rsp + 0x90], rbp
mov rcx, rdi
mov qword [rsp + 0x88], r12
call fcn.14004db20
mov qword [rsp + 0x70], rax
mov rax, qword [r15 + 0x10]
movzx ecx, byte [rax]
cmp cl, 0x9d
jne 0x14004e652
movzx ecx, byte [rax + 0x36]
cmp cl, 0x9e
jne 0x14004e660
mov rcx, qword [rax + 0x20]
mov r12d, dword [rcx]
jmp 0x14004e677
cmp cl, 0x77
jne 0x14004e671
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
mov r12d, dword [rcx]
jmp 0x14004e677
mov r12d, 1
mov rcx, qword [rdi]
movsxd rbp, r12d
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x50], rbp
lea rbx, [rbp*4 + 1]
add rbx, rbp
test rcx, rcx
je 0x14004e6a1
mov rdx, rbx
call fcn.140012710
jmp 0x14004e6a9
mov rcx, rbx
call fcn.140011ff0
mov qword [rsp + 0x60], rax
mov rcx, rax
test rax, rax
je 0x14004e6c5
mov r8, rbx
xor edx, edx
call fcn.1400a3240
mov rcx, qword [rsp + 0x60]
mov rax, qword [rdi]
cmp byte [rax + 0x55], r13b
jne 0x14004f796
mov r8d, dword [rsp + 0xe0]
lea r9, [rsp + 0x68]
cmp r8d, dword [rsp + 0xe8]
mov rdx, r15
mov rbx, qword [rdi + 0x10]
mov r8d, 3
mov qword [rsp + 0x20], rcx
cmove r9, r14
mov rcx, rdi
call fcn.14004d0d0
inc dword [rdi + 0x4c]
lea r8, [rsp + 0x6c]
mov rdx, rsi
mov dword [rsp + 0x44], eax
mov rcx, rdi
mov r15d, eax
call fcn.1400500e0
mov r8, qword [rsp + 0x60]
mov r9d, eax
mov dword [rsp + 0x6c], eax
mov edx, r14d
mov rcx, r14
test r12d, r12d
jle 0x14004e746
cmp dword [r8 + rcx*4], edx
jne 0x14004e746
inc edx
inc rcx
cmp rcx, rbp
jl 0x14004e736
cmp edx, r12d
jne 0x14004e758
mov r12d, r9d
mov dword [rsp + 0x40], r9d
jmp 0x14004e847
cmp r12d, 1
jne 0x14004e787
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x14004e772
inc dword [rdi + 0x38]
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x40], eax
jmp 0x14004e7b5
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0x18c]
mov dword [rsp + 0x40], eax
jmp 0x14004e7b5
mov ecx, dword [rdi + 0x28]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x40], edx
cmp r12d, ecx
jg 0x14004e7a5
lea eax, [rdx + r12]
sub ecx, r12d
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x28], ecx
jmp 0x14004e7b5
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
add eax, r12d
mov dword [rdi + 0x38], eax
mov dword [rsp + 0x40], ecx
mov rsi, r14
test r12d, r12d
jle 0x14004e842
mov r12, qword [rsp + 0x50]
mov ebp, r9d
mov r15d, dword [rsp + 0x40]
nop
mov rax, qword [rbx + 0x18]
mov edx, dword [r8 + rsi*4]
movsxd rcx, dword [rbx + 0xb8]
add edx, r15d
cmp dword [rax + 0x3c], ecx
jg 0x14004e806
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x40
mov r8d, ebp
mov rcx, rbx
call fcn.140033940
mov r8, qword [rsp + 0x60]
jmp 0x14004e830
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x40
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
inc ebp
inc rsi
cmp rsi, r12
jl 0x14004e7d0
mov r15d, dword [rsp + 0x44]
mov rbp, r12
mov r12d, dword [rsp + 0x40]
cmp r15d, 5
jne 0x14004edb0
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, rdi
mov qword [rsp + 0x50], rax
call fcn.140049ee0
mov rsi, qword [rbx + 0x18]
mov r15, rax
movsxd r13, dword [rsi + 0x54]
lea ecx, [r13 + 1]
mov dword [rsi + 0x54], ecx
lea ecx, [r13 - 1]
test r13d, ecx
jne 0x14004e8a8
mov rdx, qword [rsi + 0x58]
lea ecx, [r13*2 + 1]
movsxd r8, ecx
mov rcx, qword [rsi]
shl r8, 2
call fcn.140012890
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x14004e8bc
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
mov esi, dword [rsp + 0xe0]
not r13d
mov ebp, r14d
mov dword [rsp + 0xd8], r13d
cmp dword [rsp + 0xe8], esi
je 0x14004e94d
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x14004e8ea
inc dword [rdi + 0x38]
mov ebp, dword [rdi + 0x38]
jmp 0x14004e8f9
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0x18c]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004e922
mov r9d, r12d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, 0x54
mov rcx, rbx
call fcn.140033940
jmp 0x14004e94d
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x54
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rsp + 0x50]
mov r12d, r14d
cmp dword [rax], r14d
jle 0x14004ec82
lea r13, [rax + 8]
mov rdx, qword [r13]
lea r8, [rsp + 0x58]
mov rcx, rdi
call fcn.1400515b0
mov esi, eax
test ebp, ebp
je 0x14004ea35
mov rax, qword [r13]
movzx ecx, byte [rax]
add cl, 0x65
cmp cl, 1
ja 0x14004e992
mov rax, qword [rax + 0x10]
jmp 0x14004e981
movzx ecx, byte [rax]
cmp cl, 0x9d
jne 0x14004e99e
movzx ecx, byte [rax + 0x36]
cmp cl, 0x61
je 0x14004ea35
cmp cl, 0x83
jbe 0x14004e9e3
cmp cl, 0x86
jbe 0x14004ea35
cmp cl, 0x98
jne 0x14004e9e3
test dword [rax + 4], 0x100000
jne 0x14004e9e3
movzx ecx, word [rax + 0x30]
test cx, cx
js 0x14004ea35
mov rax, qword [rax + 0x40]
movsx rdx, cx
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r14b
jne 0x14004ea35
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004ea0c
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov r8d, ebp
mov edx, 0x54
mov rcx, rbx
call fcn.140033940
jmp 0x14004ea35
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x54
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
dec eax
cmp r12d, eax
jl 0x14004eb30
mov r9d, dword [rsp + 0xe0]
cmp dword [rsp + 0xe8], r9d
jne 0x14004eb30
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rsp + 0x40]
cmp dword [rax + 0x3c], edx
jg 0x14004ea87
mov edx, 0x4d
mov dword [rsp + 0x20], esi
mov rcx, rbx
call fcn.140033940
mov edx, eax
jmp 0x14004eab2
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r14
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], r14b
je 0x14004eaca
mov r8, r15
mov edx, 0xfffffffd
call fcn.1400347a0
jmp 0x14004eb0c
test edx, edx
jns 0x14004ead6
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], r14b
lea rdx, [rax + rcx*8]
je 0x14004eaff
mov r9d, 0xfffffffd
mov r8, r15
mov rcx, rbx
call fcn.1400349e0
jmp 0x14004eb0c
test r15, r15
je 0x14004eb0c
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xfd
mov ecx, dword [rbx + 0xb8]
test ecx, ecx
jle 0x14004ec15
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax]
or al, 0x10
movsx r8d, al
lea eax, [rcx - 1]
jmp 0x14004ec04
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rsp + 0x40]
cmp dword [rax + 0x3c], edx
jg 0x14004eb62
mov r9d, dword [rsp + 0xd8]
mov edx, 0x4e
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140033940
mov edx, eax
jmp 0x14004eb95
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0xd8]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8], 0x4e
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r14
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], r14b
je 0x14004ebad
mov r8, r15
mov edx, 0xfffffffd
call fcn.1400347a0
jmp 0x14004ebef
test edx, edx
jns 0x14004ebb9
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], r14b
lea rdx, [rax + rcx*8]
je 0x14004ebe2
mov r9d, 0xfffffffd
mov r8, r15
mov rcx, rbx
call fcn.1400349e0
jmp 0x14004ebef
test r15, r15
je 0x14004ebef
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xfd
mov eax, dword [rbx + 0xb8]
test eax, eax
jle 0x14004ec15
mov rcx, qword [rsp + 0x70]
dec eax
movsx r8d, byte [rcx]
movsxd rcx, eax
mov rax, qword [rbx + 0x68]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], r8w
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x14004ec5e
movzx r9d, byte [rdi + 0x1f]
cmp r9b, 8
jae 0x14004ec5e
movzx r8d, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test r8d, r8d
je 0x14004ec50
nop dword [rax]
cmp dword [rax + 0xc], edx
je 0x14004ecb9
inc ecx
add rax, 0x14
cmp ecx, r8d
jl 0x14004ec40
movzx eax, r9b
mov dword [rdi + rax*4 + 0x18c], edx
inc byte [rdi + 0x1f]
mov rax, qword [rsp + 0x50]
inc r12d
add r13, 0x28
cmp r12d, dword [rax]
jl 0x14004e962
mov r13d, dword [rsp + 0xd8]
mov esi, dword [rsp + 0xe0]
test ebp, ebp
je 0x14004ed40
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004ecbf
mov r9d, dword [rsp + 0xe8]
mov r8d, ebp
mov edx, 0x4b
mov dword [rsp + 0x20], r14d
mov rcx, rbx
call fcn.140033940
jmp 0x14004ecf0
mov byte [rax + 6], 1
jmp 0x14004ec5e
mov edx, dword [rsp + 0xe8]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004ed19
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140033940
jmp 0x14004ed40
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14004ed5c
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
test ebp, ebp
je 0x14004f6d6
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x14004f6d6
movzx edx, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test edx, edx
je 0x14004ed94
cmp dword [rax + 0xc], ebp
je 0x14004eda7
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14004ed85
movzx eax, r8b
mov dword [rdi + rax*4 + 0x18c], ebp
inc byte [rdi + 0x1f]
jmp 0x14004f6d6
mov byte [rax + 6], 1
jmp 0x14004f6d6
mov eax, dword [rsp + 0xe0]
cmp dword [rsp + 0xe8], eax
jne 0x14004edc5
mov r12d, eax
jmp 0x14004ee16
mov rsi, qword [rbx + 0x18]
movsxd r13, dword [rsi + 0x54]
lea eax, [r13 + 1]
mov dword [rsi + 0x54], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x14004edfc
mov rdx, qword [rsi + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.140012890
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x14004ee10
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
not r13d
mov r12d, r13d
test rbp, rbp
jle 0x14004ef62
mov ebp, dword [rsp + 0x40]
mov rsi, r14
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xd8]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
movzx r8d, byte [rcx]
movzx eax, r8b
cmp r8b, 0x9d
jne 0x14004ee56
movzx eax, byte [rcx + 0x36]
cmp al, 0x9e
jne 0x14004ee62
mov rdx, qword [rcx + 0x20]
mov eax, dword [rdx]
jmp 0x14004ee6f
cmp al, 0x77
jne 0x14004ee90
mov rdx, qword [rcx + 0x20]
mov rax, qword [rdx]
mov eax, dword [rax]
cmp eax, 1
jle 0x14004ee90
cmp r8b, 0x77
je 0x14004ee87
cmp byte [rcx + 0x36], 0x77
je 0x14004ee87
mov rcx, qword [rsi + rdx + 8]
jmp 0x14004ee90
mov rax, qword [rdx]
mov rcx, qword [rsi + rax + 8]
nop
movzx eax, byte [rcx]
add al, 0x65
cmp al, 1
ja 0x14004ee9f
mov rcx, qword [rcx + 0x10]
jmp 0x14004ee90
movzx eax, byte [rcx]
cmp al, 0x9d
jne 0x14004eeaa
movzx eax, byte [rcx + 0x36]
cmp al, 0x61
je 0x14004ef40
cmp al, 0x83
jbe 0x14004eeeb
cmp al, 0x86
jbe 0x14004ef40
cmp al, 0x98
jne 0x14004eeeb
test dword [rcx + 4], 0x100000
jne 0x14004eeeb
movzx eax, word [rcx + 0x30]
test ax, ax
js 0x14004ef40
movsx rdx, ax
mov rax, qword [rcx + 0x40]
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r14b
jne 0x14004ef40
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004ef15
mov r9d, r12d
mov dword [rsp + 0x20], r14d
mov r8d, ebp
mov edx, 0x4b
mov rcx, rbx
call fcn.140033940
jmp 0x14004ef40
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
inc ebp
add rsi, 0x28
sub r15, 1
jne 0x14004ee40
mov rdi, qword [rsp + 0xd0]
mov r15d, dword [rsp + 0x44]
mov rbp, qword [rsp + 0x50]
cmp r15d, 1
jne 0x14004f047
mov rax, qword [rbx + 0x18]
mov rsi, qword [rsp + 0xd8]
movsxd rcx, dword [rbx + 0xb8]
mov edx, dword [rsi + 0x2c]
cmp dword [rax + 0x3c], ecx
jg 0x14004efab
mov r15d, dword [rsp + 0x40]
mov r8d, edx
mov r9d, dword [rsp + 0xe0]
mov edx, 0x1f
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.140033940
jmp 0x14004efe1
mov r8d, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rdx, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov dword [rsp + 0x44], edx
cmp dword [rax + 0x3c], edx
jg 0x14004f01a
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0xd]
call fcn.140033940
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x44], eax
jmp 0x14004f19e
mov r12d, dword [rsp + 0x48]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], reloc.WS2_32.dll_listen
mov qword [rax + rcx*8 + 8], r14
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x14004f19e
mov r12d, dword [rsp + 0x48]
mov edx, 0x64
mov rax, qword [rsp + 0x70]
mov r9d, r12d
mov r15d, dword [rsp + 0x40]
mov rcx, rbx
mov dword [rsp + 0x30], r12d
mov r8d, r15d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
call fcn.140033e30
mov r9d, dword [rsp + 0xe0]
cmp r9d, dword [rsp + 0xe8]
jne 0x14004f113
mov rax, qword [rsp + 0xd8]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rax + 0x2c]
mov rax, qword [rbx + 0x18]
cmp dword [rax + 0x3c], edx
jg 0x14004f0c0
mov edx, 0x1d
mov dword [rsp + 0x20], r15d
mov rcx, rbx
call fcn.140033940
mov edx, eax
jmp 0x14004f0ec
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx]
cmp byte [rax + 0x55], r14b
jne 0x14004f6d6
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], r12d
jmp 0x14004f6d6
movsxd r8, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov rsi, qword [rsp + 0xd8]
mov dword [rsp + 0x44], r8d
mov edx, dword [rsi + 0x2c]
cmp dword [rax + 0x3c], r8d
jg 0x14004f154
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x1e]
call fcn.140033940
mov r8d, eax
mov dword [rsp + 0x44], eax
jmp 0x14004f180
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx]
cmp byte [rax + 0x55], r14b
jne 0x14004f19e
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], r12d
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x14004f1d9
cmp r12d, 1
jne 0x14004f1d9
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
mov r9d, dword [rsp + 0xe0]
cmp dword [rax + 0x3c], ecx
jg 0x14004f21d
mov r8d, edx
mov dword [rsp + 0x20], r14d
lea edx, [r12 + 0x4b]
mov rcx, rbx
call fcn.140033940
mov r9d, dword [rsp + 0xe0]
cmp r9d, dword [rsp + 0xe8]
jne 0x14004f272
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004f24a
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140033940
mov r9d, dword [rsp + 0xe0]
jmp 0x14004f272
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4c
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x14004f1e1
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
test r13d, r13d
je 0x14004f293
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14004f293
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
movsxd r8, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov edx, dword [rsi + 0x2c]
mov dword [rsp + 0x58], r8d
cmp dword [rax + 0x3c], r8d
jg 0x14004f2cf
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x25
mov rcx, rbx
call fcn.140033940
mov r9d, dword [rsp + 0xe0]
mov dword [rsp + 0x58], eax
jmp 0x14004f2fb
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
cmp r12d, 1
jle 0x14004f351
mov rsi, qword [rbx + 0x18]
movsxd r13, dword [rsi + 0x54]
lea eax, [r13 + 1]
mov dword [rsi + 0x54], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x14004f338
mov rdx, qword [rsi + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.140012890
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x14004f34c
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
not r13d
jmp 0x14004f354
mov r13d, r9d
mov r15d, r14d
test rbp, rbp
jle 0x14004f557
mov r12, r14
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x14004f373
inc dword [rdi + 0x38]
mov ebp, dword [rdi + 0x38]
jmp 0x14004f382
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0x18c]
mov r8, qword [rsp + 0x78]
movzx edx, byte [r8]
movzx eax, dl
cmp dl, 0x9d
jne 0x14004f398
movzx eax, byte [r8 + 0x36]
cmp al, 0x9e
jne 0x14004f3a4
mov rcx, qword [r8 + 0x20]
mov eax, dword [rcx]
jmp 0x14004f3b1
cmp al, 0x77
jne 0x14004f3d3
mov rcx, qword [r8 + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 1
jle 0x14004f3d3
cmp dl, 0x77
je 0x14004f3c9
cmp byte [r8 + 0x36], 0x77
je 0x14004f3c9
mov rdx, qword [r12 + rcx + 8]
jmp 0x14004f3d6
mov rax, qword [rcx]
mov rdx, qword [r12 + rax + 8]
jmp 0x14004f3d6
mov rdx, r8
mov rcx, rdi
call fcn.140049ee0
mov rcx, qword [rbx + 0x18]
mov rsi, rax
mov rax, qword [rsp + 0xd8]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rax + 0x2c]
cmp dword [rcx + 0x3c], edx
jg 0x14004f413
mov r9d, r15d
mov dword [rsp + 0x20], ebp
mov edx, 0x63
mov rcx, rbx
call fcn.140033940
jmp 0x14004f43e
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x63
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
movsxd r8, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], r8d
jg 0x14004f470
mov r8d, dword [rsp + 0x40]
mov r9d, r13d
add r8d, r15d
mov dword [rsp + 0x20], ebp
mov edx, 0x4d
mov rcx, rbx
call fcn.140033940
mov r8d, eax
jmp 0x14004f4a4
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [r8 + r8*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0x40]
add eax, r15d
mov qword [rdx + 0x10], r14
mov dword [rdx + 4], eax
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], r14b
je 0x14004f4bc
mov r8, rsi
mov edx, 0xfffffffd
call fcn.1400347a0
jmp 0x14004f501
test r8d, r8d
jns 0x14004f4cb
mov r8d, dword [rbx + 0xb8]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], r14b
lea rdx, [rax + rcx*8]
je 0x14004f4f4
mov r9d, 0xfffffffd
mov r8, rsi
mov rcx, rbx
call fcn.1400349e0
jmp 0x14004f501
test rsi, rsi
je 0x14004f501
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xfd
test ebp, ebp
je 0x14004f53f
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x14004f53f
movzx edx, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test edx, edx
je 0x14004f531
cmp dword [rax + 0xc], ebp
je 0x14004f585
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14004f522
movzx eax, r8b
mov dword [rdi + rax*4 + 0x18c], ebp
inc byte [rdi + 0x1f]
inc r15d
add r12, 0x28
sub qword [rsp + 0x50], 1
jne 0x14004f363
mov r12d, dword [rsp + 0x48]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004f58b
mov r9d, dword [rsp + 0xe8]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r14d
lea edx, [r8 + 0xd]
call fcn.140033940
jmp 0x14004f5b9
mov byte [rax + 6], 1
jmp 0x14004f53f
mov edx, dword [rsp + 0xe8]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
cmp r12d, 1
jle 0x14004f6a1
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14004f5df
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x58]
movsxd rcx, dword [rbx + 0xb8]
inc edx
mov r8d, dword [rax + 0x2c]
mov rax, qword [rbx + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14004f618
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 7
mov rcx, rbx
call fcn.140033940
jmp 0x14004f643
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 7
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14004f671
mov r9d, dword [rsp + 0xe0]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r14d
lea edx, [r8 + 0xd]
call fcn.140033940
jmp 0x14004f6a1
mov r8d, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov ecx, dword [rsp + 0x44]
mov edx, dword [rbx + 0xb8]
test ecx, ecx
jns 0x14004f6b2
lea ecx, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], r14b
je 0x14004f6c4
lea rax, [0x1401763d0]
jmp 0x14004f6d3
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r9d, dword [rsp + 0x40]
cmp r9d, dword [rsp + 0x6c]
je 0x14004f723
test r9d, r9d
je 0x14004f723
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x14004f723
movzx edx, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test edx, edx
je 0x14004f714
cmp dword [rax + 0xc], r9d
je 0x14004f780
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14004f704
movzx eax, r8b
mov dword [rdi + rax*4 + 0x18c], r9d
inc byte [rdi + 0x1f]
dec dword [rdi + 0x4c]
cmp byte [rdi + 0x25], r14b
jbe 0x14004f796
lea rdx, [rdi + 0xca]
mov eax, dword [rdi + 0x4c]
cmp dword [rdx + 2], eax
jle 0x14004f786
cmp byte [rdx], 0
je 0x14004f758
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x14004f758
movzx ecx, al
mov eax, dword [rdx + 6]
mov dword [rdi + rcx*4 + 0x18c], eax
inc byte [rdi + 0x1f]
dec byte [rdi + 0x25]
movzx eax, byte [rdi + 0x25]
cmp r14d, eax
jge 0x14004f78d
lea rcx, [rax + rax*4]
movups xmm0, xmmword [rdi + rcx*4 + 0xc4]
movups xmmword [rdx - 6], xmm0
mov eax, dword [rdi + rcx*4 + 0xd4]
mov dword [rdx + 0xa], eax
jmp 0x14004f78d
mov byte [rax + 6], 1
jmp 0x14004f723
inc r14d
add rdx, 0x14
movzx eax, byte [rdi + 0x25]
cmp r14d, eax
jl 0x14004f733
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
test rdx, rdx
je 0x14004f804
test rcx, rcx
je 0x14004f7fc
cmp qword [rcx + 0x298], 0
je 0x14004f7d1
call fcn.140012380
jmp 0x14004f804
cmp rdx, qword [rcx + 0x180]
jb 0x14004f7fc
cmp rdx, qword [rcx + 0x188]
jae 0x14004f7fc
mov rax, qword [rcx + 0x178]
mov qword [rdx], rax
dec dword [rcx + 0x160]
mov qword [rcx + 0x178], rdx
jmp 0x14004f804
mov rcx, rdx
call fcn.140012310
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdi]
test rdx, rdx
je 0x14004f876
test rcx, rcx
je 0x14004f86e
cmp qword [rcx + 0x298], 0
je 0x14004f835
call fcn.140012380
add rsp, 0xa0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
cmp rdx, qword [rcx + 0x180]
jb 0x14004f86e
cmp rdx, qword [rcx + 0x188]
jae 0x14004f86e
mov rax, qword [rcx + 0x178]
mov qword [rdx], rax
dec dword [rcx + 0x160]
mov qword [rcx + 0x178], rdx
add rsp, 0xa0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
mov rcx, rdx
call fcn.140012310
add rsp, 0xa0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret