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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r15
lea rbp, [rsp - 0x380]
sub rsp, 0x480
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov esi, dword [r8]
mov ebx, r9d
mov qword [rsp + 0x78], r8
mov r15, rdx
mov qword [rsp + 0x70], rdx
mov rdi, rcx
xor al, al
mov dword [rsp + 0x68], ebx
xor edx, edx
mov dword [rsp + 0x6c], esi
mov r8d, 0x230
mov byte [rsp + 0x60], al
lea rcx, [rbp - 0x80]
mov byte [rsp + 0x61], 0
call fcn.1400b1300
cmp ebx, 0x23
jae 0x140025980
mov eax, 0xfffffeb8
jmp 0x1400265d8
movzx eax, word [r15 + rsi]
mov ebx, 0x800
mov qword [rsp + 0x478], r12
lea r12, [r15 + rsi]
mov qword [rsp + 0x470], r13
xor r13d, r13d
test byte [rdi + 0x462], 1
mov word [rsp + 0x64], ax
mov word [rdi + 0x2f2], ax
mov qword [rsp + 0x468], r14
je 0x140025bb7
mov rax, qword [rdi + 0x578]
test rax, rax
je 0x1400259e9
cmp byte [rax], r13b
je 0x1400259e9
cmp byte [rdi + 0x46e], r13b
je 0x1400259e9
cmp byte [rdi + 0x46d], 0x10
jne 0x140025bb7
test word [rdi + 0x460], bx
jne 0x140025bb7
mov r9d, dword [rdi + 0x238]
lea rcx, [rbp - 0x80]
mov r8, qword [rdi + 0x230]
mov edx, 6
mov byte [rsp + 0x60], 0x20
call fcn.14002bbe0
mov ebx, eax
test eax, eax
jne 0x1400265be
mov r14, qword [rdi + 0x220]
mov ebx, r13d
mov r15d, dword [rdi + 0x218]
test r14, r14
jne 0x140025a46
test r15d, r15d
je 0x140025a46
mov ebx, 0xffffff53
jmp 0x1400265be
cmp byte [rbp + 0x1a9], bl
jne 0x140025a61
lea rcx, [rbp - 0x80]
call fcn.14002c2a0
mov ebx, eax
test eax, eax
jne 0x1400265be
movzx eax, byte [rbp + 0x1a8]
add eax, 0xfffffffd
cmp eax, 5
ja case.default.0x140025a87
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x265f8]
add rcx, rdx
jmp rcx
mov r8d, r15d
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.1400587d0
jmp 0x140025b00
mov r8d, r15d
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.140036a30
jmp 0x140025b00
test r14, r14
jne 0x140025abc
test r15d, r15d
je 0x140025abc
mov ebx, 0xffffff53
jmp case.default.0x140025a87
mov r8d, r15d
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.140033850
jmp 0x140025b00
test r14, r14
jne 0x140025abc
test r15d, r15d
mov ebx, 0xffffff53
cmove ebx, r13d
jmp case.default.0x140025a87
test r14, r14
jne 0x140025af1
test r15d, r15d
je 0x140025af1
mov ebx, 0xffffff53
jmp case.default.0x140025a87
mov r8d, r15d
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.14002a340
mov ebx, eax
test ebx, ebx
jne 0x1400265be
mov ebx, r13d
test r12, r12
je 0x140025a3c
cmp byte [rbp + 0x1a9], bl
jne 0x140025b31
lea rcx, [rbp - 0x80]
call fcn.14002c2a0
mov ebx, eax
test eax, eax
jne 0x1400265be
movzx eax, byte [rbp + 0x1a8]
add eax, 0xfffffffd
cmp eax, 5
ja case.default.0x140025b53
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x26610]
add rcx, rdx
jmp rcx
mov r8d, 2
lea rcx, [rbp - 0x80]
mov rdx, r12
call fcn.1400587d0
jmp 0x140025ba3
mov r8d, 2
lea rcx, [rbp - 0x80]
mov rdx, r12
call fcn.140036a30
jmp 0x140025ba3
mov r8d, 2
lea rcx, [rbp - 0x80]
mov rdx, r12
call fcn.140033850
jmp 0x140025ba3
mov r8d, 2
lea rcx, [rbp - 0x80]
mov rdx, r12
call fcn.14002a340
mov ebx, eax
test ebx, ebx
jne 0x1400265be
mov r15, qword [rsp + 0x70]
mov ebx, 0x800
add esi, 2
cmp byte [rsp + 0x64], 3
jne 0x140025bd4
movzx eax, byte [rsp + 0x65]
mov edx, 3
cmp al, 4
mov ecx, eax
cmovae ecx, edx
jmp 0x140025bd9
movzx ecx, byte [rsp + 0x65]
movzx r8d, word [rdi + 0x462]
movzx eax, byte [rdi + 0x2f1]
test r8b, 1
jne 0x140025bf7
cmp al, cl
ja 0x140025c0c
jmp 0x140025cd4
add al, 3
test al, 0xfd
je 0x140025cd4
lea eax, [rcx + 3]
test al, 0xfd
je 0x140025cd4
movzx eax, word [rdi + 0x460]
bt ax, 0xa
jb 0x140025c24
mov ebx, 0xfffffeba
jmp 0x1400265be
cmp cl, byte [rdi + 0x46f]
jb 0x140025c1a
test cl, cl
jne 0x140025c50
mov ecx, 0xdfff
mov byte [rdi + 0x2f1], r13b
and ax, cx
mov ecx, 0xbfff
and ax, cx
mov word [rdi + 0x460], ax
jmp 0x140025c85
cmp cl, 1
jne 0x140025c6d
mov ecx, 0xbfff
mov byte [rdi + 0x2f1], 1
and ax, cx
mov word [rdi + 0x460], ax
jmp 0x140025c85
cmp cl, 2
jne 0x140025c7a
mov byte [rdi + 0x2f1], cl
jmp 0x140025c85
cmp cl, 3
jne 0x140025c85
mov byte [rdi + 0x2f1], cl
movzx edx, ax
movzx ecx, r8w
movzx eax, r8w
shr edx, 4
shr cx, 0xc
and edx, 3
mov dword [rsp + 0x58], edx
and cx, 1
movzx edx, word [rdi + 0x2f0]
mov word [rsp + 0x48], cx
mov rcx, qword [rdi + 8]
shr ax, 7
shr r8w, 0xb
and ax, 1
and r8w, 1
mov word [rsp + 0x40], ax
mov word [rsp + 0x38], r8w
call fcn.1400133f0
mov rax, qword [rdi + 0x10]
mov r14d, esi
add r14, r15
movups xmm0, xmmword [r14]
movups xmmword [rax + 0x1c], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rax + 0x2c], xmm1
test byte [rdi + 0x462], 1
je 0x140025dd3
mov rax, qword [rdi + 0x578]
test rax, rax
je 0x140025d23
cmp byte [rax], r13b
je 0x140025d23
cmp byte [rdi + 0x46e], r13b
je 0x140025d23
cmp byte [rdi + 0x46d], 0x10
jne 0x140025dd3
test word [rdi + 0x460], bx
jne 0x140025dd3
mov ebx, r13d
test r14, r14
je 0x140025a3c
cmp byte [rbp + 0x1a9], bl
jne 0x140025d57
lea rcx, [rbp - 0x80]
call fcn.14002c2a0
mov ebx, eax
test eax, eax
jne 0x1400265be
movzx eax, byte [rbp + 0x1a8]
add eax, 0xfffffffd
cmp eax, 5
ja case.default.0x140025d79
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x26628]
add rcx, rdx
jmp rcx
mov r8d, 0x20
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.1400587d0
jmp 0x140025dc9
mov r8d, 0x20
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.140036a30
jmp 0x140025dc9
mov r8d, 0x20
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.140033850
jmp 0x140025dc9
mov r8d, 0x20
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.14002a340
mov ebx, eax
test ebx, ebx
jne 0x1400265be
add esi, 0x20
movzx ecx, byte [rsi + r15]
inc esi
cmp cl, 0x20
je 0x140025df4
test cl, cl
je 0x140025f0e
mov ebx, 0xfffffeb8
jmp 0x1400265be
mov r12d, dword [rsp + 0x68]
mov eax, esi
sub eax, dword [rsp + 0x6c]
add eax, 0x20
cmp eax, r12d
ja 0x140025dea
mov rax, qword [rdi + 0x10]
mov r14d, esi
add r14, r15
movups xmm0, xmmword [r14]
movups xmmword [rax + 0x5c], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rax + 0x6c], xmm1
test byte [rdi + 0x462], 1
je 0x140025ef5
mov rcx, rdi
call fcn.14001eb60
test eax, eax
jne 0x140025ef5
mov ecx, 0x800
test word [rdi + 0x460], cx
jne 0x140025ef5
mov ebx, r13d
sub r14, 1
je 0x140025a3c
cmp byte [rbp + 0x1a9], bl
jne 0x140025e79
lea rcx, [rbp - 0x80]
call fcn.14002c2a0
mov ebx, eax
test eax, eax
jne 0x1400265be
movzx eax, byte [rbp + 0x1a8]
add eax, 0xfffffffd
cmp eax, 5
ja case.default.0x140025e9b
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x26640]
add rcx, rdx
jmp rcx
mov r8d, 0x21
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.1400587d0
jmp 0x140025eeb
mov r8d, 0x21
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.140036a30
jmp 0x140025eeb
mov r8d, 0x21
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.140033850
jmp 0x140025eeb
mov r8d, 0x21
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.14002a340
mov ebx, eax
test ebx, ebx
jne 0x1400265be
mov rax, qword [rdi + 0x10]
add esi, 0x20
mov byte [rax + 0x7c], 0x20
mov eax, 0x800
or word [rdi + 0x460], ax
jmp 0x140025f13
mov r12d, dword [rsp + 0x68]
movzx r14d, word [rdi + 0x462]
mov r8d, dword [rsp + 0x6c]
and r14w, 1
je 0x140025f7c
mov eax, esi
sub eax, r8d
inc eax
cmp eax, r12d
ja 0x140025dea
movzx ecx, byte [rsi + r15]
inc esi
mov byte [rsp + 0x61], cl
test cl, cl
je 0x140025f7c
cmp cl, 0x20
ja 0x140025dea
mov eax, ecx
mov ebx, ecx
sub eax, r8d
add eax, esi
cmp eax, r12d
ja 0x140025dea
mov r8d, ecx
mov edx, esi
add rdx, r15
lea rcx, [rbp + 0x330]
call fcn.1400b14c0
mov r8d, dword [rsp + 0x6c]
add esi, ebx
mov eax, esi
sub eax, r8d
add eax, 2
cmp eax, r12d
ja 0x140025dea
movzx eax, byte [rsi + r15]
movzx ecx, byte [rsi + r15 + 1]
add esi, 2
shl ax, 8
or cx, ax
movzx edx, cx
mov word [rbp + 0x1b0], dx
test dl, 1
jne 0x140025dea
mov eax, edx
sub eax, r8d
inc eax
add eax, esi
cmp eax, r12d
ja 0x140025dea
mov eax, 0x12c
cmp dx, ax
ja 0x140025dea
mov eax, esi
lea rcx, [rbp + 0x1b4]
add r15, rax
mov r8d, edx
mov rdx, r15
call fcn.1400b14c0
test r14w, r14w
je 0x1400260ce
mov rcx, rdi
call fcn.14001eb60
mov r8d, 0x800
test eax, eax
jne 0x1400260c4
test word [rdi + 0x460], r8w
jne 0x1400260c4
movzx r12d, word [rbp + 0x1b0]
mov ebx, r13d
add r15, 0xfffffffffffffffe
je 0x140025a3c
cmp byte [rbp + 0x1a9], bl
jne 0x14002604a
lea rcx, [rbp - 0x80]
call fcn.14002c2a0
mov ebx, eax
test eax, eax
jne 0x1400265be
movzx eax, byte [rbp + 0x1a8]
add eax, 0xfffffffd
cmp eax, 5
ja case.default.0x14002606c
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x26658]
add rcx, rdx
jmp rcx
lea r8d, [r12 + 2]
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.1400587d0
jmp 0x1400260b8
lea r8d, [r12 + 2]
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.140036a30
jmp 0x1400260b8
lea r8d, [r12 + 2]
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.140033850
jmp 0x1400260b8
lea r8d, [r12 + 2]
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.14002a340
mov ebx, eax
test ebx, ebx
jne 0x1400265be
jmp 0x1400260d6
movzx r12d, word [rbp + 0x1b0]
jmp 0x1400260dc
movzx r12d, word [rbp + 0x1b0]
mov r8d, 0x800
mov rdx, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x68]
movzx eax, r12w
add esi, eax
mov word [rbp + 0x1b2], r13w
movzx r14d, byte [rsi + rdx]
inc esi
mov eax, r14d
mov r12d, r14d
sub eax, r10d
add eax, esi
cmp eax, r9d
ja 0x140025dea
test r14b, r14b
je 0x1400265b9
test byte [rdi + 0x462], 1
je 0x140026304
mov rcx, rdi
call fcn.14001eb60
test eax, eax
jne 0x1400262ab
test word [rdi + 0x460], r8w
jne 0x1400262ab
inc r12d
mov eax, esi
lea r15, [rdx - 1]
mov ebx, r13d
add r15, rax
je 0x140025a3c
cmp byte [rbp + 0x1a9], bl
jne 0x140026178
lea rcx, [rbp - 0x80]
call fcn.14002c2a0
mov ebx, eax
test eax, eax
jne 0x1400265be
movzx eax, byte [rbp + 0x1a8]
add eax, 0xfffffffd
cmp eax, 5
ja case.default.0x14002619a
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x26670]
add rcx, rdx
jmp rcx
mov r8d, r12d
lea rcx, [rbp - 0x80]
mov rdx, r15
call fcn.1400587d0
jmp 0x1400261de
mov r8d, r12d
lea rcx, [rbp - 0x80]
mov rdx, r15
call fcn.140036a30
jmp 0x1400261de
mov r8d, r12d
lea rcx, [rbp - 0x80]
mov rdx, r15
call fcn.140033850
jmp 0x1400261de
mov r8d, r12d
lea rcx, [rbp - 0x80]
mov rdx, r15
call fcn.14002a340
mov ebx, eax
test ebx, ebx
jne 0x1400265be
lea rdx, [rbp + 0x310]
lea rcx, [rbp - 0x80]
call fcn.14002c380
mov ebx, eax
test eax, eax
jne 0x1400265be
mov rax, qword [rdi]
mov r10, qword [rax + 0x88]
test r10, r10
je 0x14002623d
movzx r15d, byte [rsp + 0x60]
lea rdx, [rbp + 0x310]
mov r9, qword [rdi + 0x540]
mov r8d, r15d
mov rcx, rdi
call r10
cmp eax, r15d
je 0x140026243
mov ebx, 0xfffffe8f
jmp 0x1400265be
movzx r15d, byte [rsp + 0x60]
cmp byte [rsp + 0x61], r15b
jne 0x140026265
movzx r8d, r15b
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x330]
call fcn.1400b1dd0
test eax, eax
je 0x1400262a6
mov rcx, qword [rsp + 0x78]
lea rdx, [rbp + 0x310]
mov ebx, dword [rsp + 0x68]
mov eax, 0xfff9
and word [rdi + 0x2ec], ax
movzx r8d, r15b
mov word [rdi + 0x450], r13w
mov word [rdi + 0x43e], r13w
add dword [rcx], ebx
mov rcx, rdi
call fcn.140026f40
mov ebx, eax
jmp 0x1400265be
mov r9d, dword [rsp + 0x68]
mov r15, qword [rsp + 0x78]
mov r8d, r9d
mov r12, qword [rsp + 0x70]
mov rcx, rdi
mov edx, dword [r15]
add rdx, r12
call fcn.140016410
mov ebx, eax
test eax, eax
jne 0x1400265be
mov r9d, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x6c]
mov r8d, r13d
mov ecx, r13d
mov r11d, 1
nop word [rax + rax]
movzx edx, byte [rsi + r12]
add r14b, 0xff
inc esi
test dl, dl
jne 0x14002630e
mov r8d, r11d
jmp 0x140026315
mov r15, qword [rsp + 0x78]
mov r12, rdx
jmp 0x1400262da
cmp dl, 0xdd
cmove ecx, r11d
test r14b, r14b
jne 0x1400262f0
movzx eax, word [rdi + 0x462]
movzx edx, ax
and dx, 0x20
jne 0x14002632f
test r8d, r8d
jne 0x140026354
test dx, dx
je 0x1400265b9
test ecx, ecx
jne 0x140026354
test r8d, r8d
je 0x1400265b9
mov ecx, 0xffdf
and ax, cx
mov word [rdi + 0x462], ax
mov r14d, esi
mov dword [r15], esi
sub r14d, r10d
cmp r14d, r9d
jae 0x14002637d
movzx eax, byte [rdi + 0x2f0]
cmp al, 3
jne 0x1400263d5
cmp byte [rdi + 0x2f1], r11b
jae 0x1400263d9
lea eax, [r9 + r10]
mov dword [r15], eax
mov eax, 0x1000
mov byte [rdi + 0x46c], 0xc
or ax, word [rdi + 0x460]
bt ax, 0xb
mov word [rdi + 0x460], ax
jae 0x140026591
mov rdx, qword [rdi + 0x10]
mov rcx, rdi
add rdx, 0xad
mov ebx, r13d
call fcn.140009f80
mov rdx, rax
test rax, rax
jne 0x1400264b0
mov eax, 0xf7ff
and word [rdi + 0x460], ax
jmp 0x140026584
cmp al, 0xfe
jne 0x140026376
lea r15, [rdi + 0x568]
test r15, r15
je 0x140025a3c
mov r8, rdi
mov edx, reloc.WS2_32.dll_listen
mov rcx, r15
call fcn.140002a60
mov ebx, eax
test eax, eax
jne 0x1400265be
mov ebx, dword [rsp + 0x68]
lea eax, [r14 + 2]
cmp eax, ebx
ja 0x140025dea
movzx eax, byte [rsi + r12]
movzx r8d, byte [rsi + r12 + 1]
add esi, 2
shl ax, 8
or r8w, ax
movzx r14d, r8w
mov eax, r14d
sub eax, dword [rsp + 0x6c]
add eax, esi
cmp eax, ebx
ja 0x140025dea
lea rax, [rbp + 0x1b0]
mov edx, esi
add rdx, r12
mov qword [rsp + 0x20], rax
mov r9b, 1
mov rcx, rdi
call fcn.140006f60
mov ebx, eax
test eax, eax
jne 0x1400265be
mov rax, qword [r15]
test rax, rax
je 0x140026482
nop dword [rax]
cmp dword [rax], 0x2b
je 0x140025c1a
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140026470
mov rcx, rdi
call fcn.140027e90
mov ebx, eax
test eax, eax
jne 0x1400265be
mov rcx, qword [rsp + 0x78]
mov eax, 0xffcf
and word [rdi + 0x460], ax
lea eax, [r14 + rsi]
mov dword [rcx], eax
jmp 0x14002637d
movzx eax, word [rdi + 0x464]
movzx ecx, word [rdx + 0x5a]
shr ax, 9
and ax, 1
cmp cx, ax
je 0x1400264fa
test cx, cx
jne 0x1400264e7
test ax, ax
je 0x140026584
mov eax, 0xf7ff
and word [rdi + 0x460], ax
jmp 0x140026584
test ax, ax
jne 0x140026584
mov ebx, 0xfffffe62
jmp 0x1400265be
movzx r10d, word [rbp + 0x1b0]
test r10d, r10d
je 0x140026534
movzx r9d, byte [rdx + 0x5c]
mov rcx, r13
nop
cmp byte [rbp + rcx + 0x1b4], r9b
jne 0x140026527
movzx eax, byte [rdx + 0x5d]
cmp byte [rbp + rcx + 0x1b5], al
je 0x140026534
add r13d, 2
add rcx, 2
cmp rcx, r10
jl 0x140026510
cmp r13d, r10d
jne 0x140026540
mov ebx, 0xfffffe0c
jmp 0x1400265be
lea rdx, [rbp + 0x1b0]
mov rcx, rdi
call fcn.1400257e0
test eax, eax
js 0x140026539
mov rdx, qword [rdi + 0x10]
mov r8d, 0x20
mov rcx, qword [rdi + 0x90]
add rdx, 0x3c
call fcn.14000b930
mov ebx, eax
test eax, eax
jne 0x1400265be
mov rcx, rdi
call fcn.1400014a0
mov ebx, eax
mov byte [rdi + 0x46c], 0xd
test ebx, ebx
jne 0x1400265be
cmp byte [rdi + 0x46c], 0xd
je 0x1400265be
lea rdx, [rbp + 0x1b0]
mov rcx, rdi
call fcn.1400257e0
mov ebx, eax
test eax, eax
jne 0x1400265be
test byte [rdi + 0x462], 1
je 0x1400265be
mov rcx, rdi
call fcn.140016000
jmp 0x1400265be
mov ebx, 0xfffffe0a
mov r14, qword [rsp + 0x468]
mov eax, ebx
mov r13, qword [rsp + 0x470]
mov r12, qword [rsp + 0x478]
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x480
pop r15
pop rdi
pop rsi
pop rbx
pop rbp
ret