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

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x24]
mov rsi, rcx
mov rdx, rcx
mov dword [rcx + 0x20], eax
mov rcx, qword [rcx + 0x138]
call fcn.18002a200
mov rcx, qword [rsi + 0x130]
mov edi, eax
call fcn.180020850
test rax, rax
je 0x18002428f
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
test edi, edi
jne 0x18002427d
mov edx, dword [rax + 0x28]
mov rbx, qword [rax + 0x18]
mov rcx, rsi
call fcn.180024120
mov edi, eax
mov rax, rbx
test rbx, rbx
jne 0x180024260
mov eax, edi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov eax, edi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
push rbx
push rdi
push r13
push r15
sub rsp, 0x68
xor edi, edi
xor r15d, r15d
mov r13, rdx
mov rbx, rcx
test rdx, rdx
je 0x1800245df
mov ecx, dword [rdx + 0x18]
call fcn.18001f8f0
mov r15, rax
test rax, rax
jne 0x1800245d9
lea eax, [rdi + 7]
add rsp, 0x68
pop r15
pop r13
pop rdi
pop rbx
ret
mov eax, dword [r13 + 0x18]
jmp 0x1800245e2
mov eax, dword [rcx + 0x24]
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x11]
mov byte [rbx + 0x17], al
test r13, r13
jne 0x18002460c
cmp qword [rbx + 0x138], rdi
je 0x18002460c
mov rcx, rbx
add rsp, 0x68
pop r15
pop r13
pop rdi
pop rbx
jmp 0x180024220
mov qword [rsp + 0x90], rbp
lea rbp, [rbx + 0x60]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r14
mov r14, qword [rbp]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], r14
test r13, r13
je 0x180024697
cmp qword [rbx + 0x138], rdi
jne 0x180024697
mov rax, qword [r13 + 8]
mov rsi, r14
test rax, rax
cmovne rsi, rax
mov rax, qword [r13]
mov qword [rbp], rax
nop dword [rax]
cmp qword [rbp], rsi
jge 0x18002468d
mov r9d, 1
mov r8, r15
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.180023230
mov edi, eax
test eax, eax
je 0x180024660
jmp 0x180024753
test edi, edi
jne 0x180024753
jmp 0x1800246a0
mov qword [rbp], rdi
nop dword [rax + rax]
cmp qword [rbp], r14
jge 0x180024753
lea rax, [rsp + 0xa0]
lea r9, [rsp + 0x98]
mov r8, r14
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x98], 0
mov qword [rsp + 0x20], rax
call fcn.180022550
mov r12d, dword [rsp + 0x98]
mov edi, eax
test r12d, r12d
jne 0x180024713
mov eax, dword [rbx + 0xb8]
mov rdx, qword [rbp]
add rax, qword [rbx + 0x68]
cmp rax, rdx
jne 0x180024713
mov eax, dword [rbx + 0xbc]
add eax, 8
movsxd rcx, eax
mov rax, r14
sub rax, rdx
cqo
idiv rcx
mov r12, rax
xor esi, esi
test edi, edi
jne 0x180024753
nop dword [rax]
cmp esi, r12d
jae 0x1800246a0
cmp qword [rbp], r14
jge 0x180024753
mov r9d, 1
mov r8, r15
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.180023230
inc esi
mov edi, eax
test eax, eax
je 0x180024720
test r13, r13
je 0x180024aca
mov eax, dword [rbx + 0xbc]
add eax, 4
movsxd rcx, eax
mov eax, dword [r13 + 0x1c]
imul rcx, rax
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rbx + 0x138]
test rcx, rcx
je 0x1800247c3
mov eax, dword [rcx + 0x88]
cmp dword [r13 + 0x2c], eax
je 0x1800247a2
mov dword [r13 + 0x20], 0
mov eax, dword [rcx + 0x88]
mov dword [r13 + 0x2c], eax
mov eax, dword [r13 + 0x20]
cmp eax, dword [rcx + 0x58]
jae 0x1800247c1
mov dword [rcx + 0x58], eax
mov eax, dword [r13 + 0x24]
mov dword [rcx + 0x60], eax
mov eax, dword [r13 + 0x28]
mov dword [rcx + 0x64], eax
call fcn.180028040
xor edi, edi
mov eax, dword [r13 + 0x1c]
mov dword [rsp + 0x98], eax
test edi, edi
jne 0x180024aca
mov r14, qword [rsp + 0xa0]
lea ebp, [rdi + 7]
cmp eax, dword [rbx + 0x3c]
jae 0x180024ac0
mov rsi, qword [rbx + 0x58]
mov r13, qword [rbx + 0x128]
lea rdx, [rsp + 0xa0]
mov rax, qword [rsi]
mov r9, r14
mov r8d, 4
mov rcx, rsi
mov qword [rsp + 0x30], r13
call qword [rax + reloc.WS2_32.dll_recv]
mov edi, eax
test eax, eax
jne 0x180024aa8
mov r12d, dword [rsp + 0xa0]
mov rax, qword [rsi]
mov r8d, dword [rbx + 0xbc]
lea r9, [r14 + 4]
mov rdx, r13
mov rcx, rsi
bswap r12d
call qword [rax + reloc.WS2_32.dll_recv]
mov edi, eax
test eax, eax
jne 0x180024aa8
mov r8d, dword [rbx + 0xbc]
lea eax, [r8 + 4]
movsxd rcx, eax
add r14, rcx
test r12d, r12d
je 0x180024aa3
mov eax, dword [0x1802e7f78]
cdq
idiv r8d
inc eax
cmp r12d, eax
je 0x180024aa3
cmp r12d, dword [rbx + 0x20]
ja 0x180024a9f
test r15, r15
je 0x1800248b0
mov edx, r12d
mov rcx, r15
call fcn.18001f980
test eax, eax
jne 0x180024a9f
mov edx, r12d
mov rcx, r15
call fcn.18001fa60
mov edi, eax
test eax, eax
jne 0x180024aa8
cmp r12d, 1
jne 0x1800248d3
movzx eax, byte [r13 + 0x14]
cmp word [rbx + 0xb2], ax
je 0x1800248d3
mov rcx, rbx
mov word [rbx + 0xb2], ax
call fcn.180023200
cmp qword [rbx + 0x138], 0
je 0x1800249b4
xor esi, esi
mov qword [rsp + 0xa8], rsi
mov ecx, 1
mov r10, qword [rbx + 0x48]
cmp qword [r10], 0
je 0x1800249e4
movzx eax, byte [rbx + 0x15]
cmp al, 4
jae 0x18002490e
test al, al
jne 0x1800249e4
test ecx, ecx
je 0x1800249e4
movsxd r8, dword [rbx + 0xbc]
mov rax, qword [r10]
lea r9d, [r12 - 1]
imul r9, r8
mov rdx, r13
mov rcx, r10
call qword [rax + 0x18]
mov edi, eax
cmp r12d, dword [rbx + 0x28]
jbe 0x18002493e
mov dword [rbx + 0x28], r12d
cmp qword [rbx + 0x70], 0
je 0x180024a2b
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x180024970
mov rcx, qword [rbx + 0x120]
mov r9d, 3
mov r8d, r12d
mov rdx, r13
call rax
test rax, rax
cmove edi, ebp
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x180024984
mov r8, r13
mov edx, r12d
call fcn.180038930
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x180024a2b
mov rcx, qword [rbx + 0x120]
mov r9d, ebp
mov r8d, r12d
mov rdx, r13
call rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x180024a2b
mov edi, ebp
jmp 0x180024a2b
mov edx, r12d
mov rcx, rbx
call fcn.180026670
mov rsi, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x1800248eb
test byte [rax + 0x2c], 8
je 0x1800248eb
xor ecx, ecx
jmp 0x1800248f0
test rsi, rsi
jne 0x180024a30
or byte [rbx + 0x19], 2
lea r9d, [rsi + 1]
lea r8, [rsp + 0xa8]
mov edx, r12d
mov rcx, rbx
call fcn.180026210
and byte [rbx + 0x19], 0xfd
mov edi, eax
test eax, eax
jne 0x180024aa8
mov rsi, qword [rsp + 0xa8]
mov eax, 0xffef
and word [rsi + 0x2c], ax
mov rcx, rsi
call fcn.1800204e0
test rsi, rsi
je 0x180024aa8
mov r13, qword [rsi + 8]
movsxd r8, dword [rbx + 0xbc]
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.1800acfd0
mov rcx, rsi
call qword [rbx + 0x100]
cmp r12d, 1
jne 0x180024a6d
mov rax, qword [r13 + 0x18]
mov qword [rbx + 0x88], rax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x90], rax
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x180024a95
mov r8d, dword [rsi + 0x28]
mov rcx, qword [rbx + 0x120]
mov r9d, 3
mov rdx, r13
call rax
test rax, rax
cmove edi, ebp
mov rcx, rsi
call fcn.1800203f0
jmp 0x180024aa8
xor edi, edi
jmp 0x180024aa8
mov edi, 0x65
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
test edi, edi
je 0x1800247e1
mov rbp, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rcx, r15
call fcn.18001fe10
mov r12, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
test edi, edi
jne 0x180024ae4
mov qword [rbp], r14
mov r14, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x90]
mov eax, edi
add rsp, 0x68
pop r15
pop r13
pop rdi
pop rbx
ret