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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0xc8
mov qword [rax - 8], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov rax, qword [rcx + 0x10]
mov rdi, r8
mov r14, rdx
mov rbp, rcx
mov qword [rsp + 0x70], rax
xor r15b, r15b
call fcn.00459c30
mov rbx, qword [r14 + 0x20]
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rdi + 0x20]
mov r13, qword [rdx + 0x40]
xor esi, esi
mov dword [rsp + 0x44], eax
movsxd rax, dword [r14 + 0x14]
mov r9d, esi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x50], rcx
mov r12, rsi
mov qword [rsp + 0x58], rsi
imul rax, rax, 0x38
add rax, rbx
movabs r10, 0x8000000000000000
cmp rbx, rax
mov qword [rsp + 0x60], rax
jae 0x4947cd
lea r14d, [rsi + 1]
nop
mov eax, dword [rdi + 0x48]
cmp dword [rbx + 0xc], eax
jne 0x4947a7
test byte [rbx + 0x1a], 2
je 0x4947a7
mov rax, qword [rsp + 0xe8]
test qword [rbx + 0x28], rax
jne 0x4947a7
movsxd rax, dword [rbx + 0x10]
test eax, eax
js 0x4947a7
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 8]
shl rdx, 4
movzx edi, byte [rdx + rcx + 0x29]
mov rcx, qword [rbx]
call fcn.00450ef0
movsx ecx, al
sub ecx, 0x41
je 0x494699
dec ecx
je 0x494688
cmp dil, 0x43
mov eax, esi
setge al
jmp 0x494691
cmp dil, 0x42
mov eax, esi
sete al
test eax, eax
je 0x49478b
movsxd rcx, dword [rbx + 0x10]
cmp ecx, 0x40
jl 0x4946ae
movabs rdi, 0x8000000000000000
jmp 0x4946b6
mov edi, 1
shl rdi, cl
test r15b, r15b
jne 0x4946e6
mov rax, qword [rsp + 0x50]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
add rcx, rcx
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.00461f70
mov r15b, 1
test r12, rdi
jne 0x49479a
movzx eax, word [r13 + 0x2e]
mov r12, qword [rbp]
cmp eax, r14d
jge 0x49475c
lea esi, [r14 + 7]
mov rcx, r12
and esi, 0xfffffff8
movsxd rdx, esi
shl rdx, 3
call fcn.0043b030
test rax, rax
mov rbp, rax
je 0x49584a
movzx r8d, word [r13 + 0x2e]
mov rdx, qword [r13 + 0x30]
mov rcx, rax
shl r8, 3
call sub.msvcrt.dll_memcpy
mov rdx, qword [r13 + 0x30]
lea r8, [r13 + 0x40]
cmp rdx, r8
je 0x494749
mov rcx, r12
call fcn.00425ea0
mov qword [r13 + 0x30], rbp
mov rbp, qword [rsp + 0xd0]
mov word [r13 + 0x2e], si
xor esi, esi
movsxd r9, dword [rsp + 0x40]
mov r12, qword [rsp + 0x58]
mov rax, qword [r13 + 0x30]
mov qword [rax + r9*8], rbx
inc r9d
inc r14d
or r12, rdi
mov rdi, qword [rsp + 0xe0]
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x58], r12
jmp 0x4947a7
mov r9d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0xe0]
jmp 0x4947a7
mov r9d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0xe0]
add rbx, 0x38
cmp rbx, qword [rsp + 0x60]
jb 0x494620
mov r14, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
movabs r10, 0x8000000000000000
mov word [r13 + 0x2c], r9w
mov word [r13 + 0x18], r9w
mov dword [r13 + 0x28], 0x4241
mov r8, qword [rdi + 0x60]
movzx edx, word [rcx + 0x42]
not r12
or r12, r10
and r12, r8
cmp dx, 0x3f
mov qword [rsp + 0x58], r12
jl 0x494809
mov ecx, 0x3f
mov dword [rsp + 0xd8], ecx
jmp 0x494813
movsx ecx, dx
mov dword [rsp + 0xd8], ecx
test ecx, ecx
jle 0x494838
xor r15d, r15d
mov rax, r15
nop
bt r12, rax
jae 0x494829
inc r9d
inc rax
dec rcx
jne 0x494820
mov dword [rsp + 0x40], r9d
jmp 0x49483b
xor r15d, r15d
test r10, r8
je 0x49484d
movsx eax, dx
lea r9d, [r9 + rax - 0x3f]
mov dword [rsp + 0x40], r9d
lea esi, [r9 + 1]
mov dword [r13 + 0x28], 0x4241
mov rbx, qword [rbp]
movsx rbp, si
movsx r12d, si
lea eax, [r12 + rbp]
lea ecx, [rbp + rax*2 + 9]
lea eax, [rbp*8 + 7]
and eax, 0xfffffff8
and ecx, 0xfffffff8
test rbx, rbx
lea eax, [rcx + rax + 0x68]
movsxd rdi, eax
je 0x4948ab
cmp byte [rbx + 0x50], 0
jne 0x49584a
cmp byte [rbx + 0x14a], 0
je 0x4948ab
movzx eax, word [rbx + 0x148]
cmp rdi, rax
jbe 0x49490a
inc dword [rbx + 0x158]
test rdi, rdi
je 0x494961
cmp rdi, 0x7fffff00
jae 0x494961
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x49494f
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4948e0
call qword [0x0072d0f8]
lea rdx, [rsp + 0x48]
mov ecx, edi
call fcn.0043a720
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49496b
call qword [0x0072d108]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rcx
jmp 0x494975
mov rcx, qword [rbx + 0x160]
test rcx, rcx
mov qword [rsp + 0x48], rcx
jne 0x494923
inc dword [rbx + 0x15c]
jmp 0x4948ab
mov rax, qword [rcx]
inc dword [rbx + 0x14c]
inc dword [rbx + 0x154]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
cmp eax, dword [rbx + 0x150]
jle 0x494983
mov dword [rbx + 0x150], eax
jmp 0x494983
mov ecx, edi
call qword [0x0072d098]
mov rcx, rax
mov qword [rsp + 0x48], rax
jmp 0x494975
mov rcx, r15
mov qword [rsp + 0x48], r15
jmp 0x49497a
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rcx
test rcx, rcx
jne 0x494983
test rbx, rbx
je 0x494983
mov byte [rbx + 0x50], 1
test rcx, rcx
je 0x49584a
mov r8, rdi
mov rdi, qword [rsp + 0x48]
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_memset
mov rbx, qword [rsp + 0x50]
mov word [rdi + 0x60], si
dec si
lea rax, [rbp*8 + 7]
lea r11, [rdi + 0x68]
and rax, 0xfffffffffffffff8
mov qword [rdi + 0x40], r11
mov word [rdi + 0x5e], si
add r11, rax
lea eax, [r12 + 1]
mov r12d, r15d
movsxd rcx, eax
mov qword [rdi + 0x10], r11
mov qword [rsp + 0x68], r15
lea rax, [r11 + rcx*2]
mov qword [rdi + 8], rax
lea rax, [rax + rbp*2]
lea rbp, str.BINARY
mov qword [rdi + 0x38], rax
mov qword [r13 + 0x20], rdi
lea rax, str.auto_index
mov qword [rdi], rax
mov qword [rdi + 0x18], rbx
mov rsi, qword [r14 + 0x20]
cmp rsi, qword [rsp + 0x60]
jae 0x494d8c
mov rcx, qword [rsp + 0xe0]
mov r13, r15
mov r14, r15
mov r8d, 0x41
nop
nop
nop
mov eax, dword [rcx + 0x48]
cmp dword [rsi + 0xc], eax
jne 0x494d72
test byte [rsi + 0x1a], 2
je 0x494d72
mov rax, qword [rsp + 0xe8]
test qword [rsi + 0x28], rax
jne 0x494d72
movsxd rax, dword [rsi + 0x10]
test eax, eax
js 0x494d72
mov rdi, qword [rsi]
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rdi + 0x10]
add rdx, rdx
test rax, rax
movzx ebp, byte [rcx + rdx*8 + 0x29]
je 0x494aa9
mov ecx, dword [rax + 4]
bt ecx, 0xc
jae 0x494aa9
bt ecx, 0x12
jae 0x494aa0
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
jmp 0x494aa4
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x494a84
bt dword [rax + 4], 9
jae 0x494ab7
xor bl, bl
jmp 0x494b39
movzx ecx, byte [rax]
cmp ecx, 0x77
jne 0x494add
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.00450d60
mov r8d, 0x41
movzx ebx, al
jmp 0x494b39
cmp ecx, 0x26
jne 0x494af7
mov rcx, qword [rax + 8]
xor edx, edx
call fcn.00447700
mov r8d, 0x41
mov bl, al
jmp 0x494b39
cmp ecx, 0x9c
je 0x494b0f
cmp ecx, 0x9a
je 0x494b0f
cmp ecx, 0x9f
jne 0x494b36
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x494b36
movsx rcx, word [rax + 0x30]
test ecx, ecx
jns 0x494b25
mov bl, 0x44
jmp 0x494b39
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
add rcx, rcx
mov bl, byte [rax + rcx*8 + 0x29]
jmp 0x494b39
mov bl, byte [rax + 1]
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x494c16
mov ecx, dword [rax + 4]
bt ecx, 0xc
jae 0x494b6b
bt ecx, 0x12
jae 0x494b62
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
jmp 0x494b66
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x494b46
bt dword [rax + 4], 9
jae 0x494b83
xor al, al
test bl, bl
jne 0x494c12
mov bl, 0x41
jmp 0x494c42
movzx ecx, byte [rax]
cmp ecx, 0x77
jne 0x494ba0
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.00450d60
jmp 0x494bf5
cmp ecx, 0x26
jne 0x494bb2
mov rcx, qword [rax + 8]
xor edx, edx
call fcn.00447700
jmp 0x494bf5
cmp ecx, 0x9c
je 0x494bca
cmp ecx, 0x9a
je 0x494bca
cmp ecx, 0x9f
jne 0x494bf2
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x494bf2
movsx rcx, word [rax + 0x30]
test ecx, ecx
jns 0x494be0
mov al, 0x44
jmp 0x494bfd
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
add rcx, rcx
movzx eax, byte [rax + rcx*8 + 0x29]
jmp 0x494bf5
mov al, byte [rax + 1]
test al, al
je 0x494b74
test bl, bl
je 0x494c12
cmp al, 0x43
jge 0x494c0e
cmp bl, 0x43
jge 0x494c0e
mov bl, 0x41
jmp 0x494c42
mov bl, 0x43
jmp 0x494c42
add bl, al
jmp 0x494c42
bt dword [rdi + 4], 0xb
jae 0x494c37
mov rax, qword [rdi + 0x20]
movzx edx, bl
mov rcx, qword [rax]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.00450e00
mov bl, al
jmp 0x494c42
movzx eax, bl
test bl, bl
cmove eax, r8d
mov bl, al
movsx ecx, bl
sub ecx, 0x41
je 0x494c6c
dec ecx
je 0x494c5a
cmp bpl, 0x43
mov eax, r15d
setge al
jmp 0x494c64
cmp bpl, 0x42
mov eax, r15d
sete al
test eax, eax
je 0x494d48
mov ecx, dword [rsi + 0x10]
cmp ecx, 0x40
jl 0x494c80
movabs rax, 0x8000000000000000
jmp 0x494c88
mov eax, 1
shl rax, cl
mov rcx, qword [rsp + 0x68]
test rcx, rax
jne 0x494d5e
mov r8, qword [rsi]
mov rdi, qword [rsp + 0x48]
or rcx, rax
movzx eax, word [rsi + 0x10]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rdi + 8]
mov word [r14 + rcx], ax
mov rdx, qword [r8 + 0x10]
mov rbx, qword [r8 + 0x18]
bt dword [rdx + 4], 8
jae 0x494cd1
mov rcx, qword [rsp + 0xd0]
call fcn.00480040
jmp 0x494d0f
test rbx, rbx
je 0x494cef
bt dword [rbx + 4], 8
jae 0x494cef
mov rcx, qword [rsp + 0xd0]
mov rdx, rbx
call fcn.00480040
jmp 0x494d0f
mov rbp, qword [rsp + 0xd0]
mov rcx, rbp
call fcn.00480040
test rax, rax
jne 0x494d14
mov rdx, rbx
mov rcx, rbp
call fcn.00480040
test rax, rax
je 0x494d20
mov rcx, qword [rax]
lea rbp, str.BINARY
jmp 0x494d2a
lea rbp, str.BINARY
mov rcx, rbp
mov rax, qword [rdi + 0x40]
inc r12d
add r14, 2
mov qword [r13 + rax], rcx
mov rcx, qword [rsp + 0xe0]
add r13, 8
jmp 0x494d72
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xe0]
lea rbp, str.BINARY
jmp 0x494d72
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xe0]
lea rbp, str.BINARY
add rsi, 0x38
mov r8d, 0x41
cmp rsi, qword [rsp + 0x60]
jb 0x494a30
mov rbx, qword [rsp + 0x50]
mov r10d, dword [rsp + 0xd8]
mov ecx, r15d
movsxd r9, r12d
test r10d, r10d
jle 0x494de0
mov r11, qword [rsp + 0x58]
lea r8, [r9*8]
mov rdx, r15
add r9, r9
bt r11, rdx
jae 0x494dd6
mov rax, qword [rdi + 8]
inc r12d
add r9, 2
mov word [r9 + rax - 2], cx
mov rax, qword [rdi + 0x40]
add r8, 8
mov qword [r8 + rax - 8], rbp
inc ecx
inc rdx
cmp ecx, r10d
jl 0x494db2
mov rax, qword [rsp + 0xe0]
movabs rcx, 0x8000000000000000
test qword [rax + 0x60], rcx
je 0x494e3c
cmp word [rbx + 0x42], 0x3f
movsxd rdx, r12d
jle 0x494e3c
lea rcx, [rdx*8]
mov r8d, 0x3f
add rdx, rdx
mov rax, qword [rdi + 8]
inc r12d
add rdx, 2
mov word [rdx + rax - 2], r8w
mov rax, qword [rdi + 0x40]
inc r8d
mov qword [rcx + rax], rbp
movsx eax, word [rbx + 0x42]
add rcx, 8
cmp r8d, eax
jl 0x494e13
mov rax, qword [rdi + 8]
mov r14, qword [rsp + 0x70]
movsxd rcx, r12d
mov r12, qword [rsp + 0xd0]
mov word [rax + rcx*2], 0xffff
mov rax, qword [rdi + 0x40]
mov qword [rax + rcx*8], rbp
mov eax, dword [r12 + 0x50]
mov rcx, qword [rsp + 0xf0]
mov dword [rcx + 8], eax
inc dword [r12 + 0x50]
mov rax, qword [r14 + 0x30]
movsxd rbx, dword [r14 + 0x3c]
mov edi, dword [rcx + 8]
cmp dword [rax + 0x60], ebx
jg 0x494e94
mov edx, 1
mov rcx, r14
call fcn.00441a80
test eax, eax
jne 0x494ec6
inc dword [r14 + 0x3c]
mov rcx, qword [r14 + 8]
mov eax, dword [rsp + 0x40]
lea rdx, [rbx + rbx*2]
inc eax
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8], reloc.WS2_32.dll_getservbyport
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], edi
mov dword [rcx + rdx*8 + 0xc], r15d
mov qword [rcx + rdx*8 + 0x10], r15
mov byte [rcx + rdx*8 + 1], 0
mov r13, qword [rsp + 0x48]
mov rbx, qword [r12 + 0x10]
mov rcx, r12
mov rdx, r13
call fcn.00481820
mov rsi, qword [rbx + 8]
mov rdi, qword [rbx]
test rsi, rsi
mov rbp, rax
je 0x4955a0
cmp byte [rdi + 0x50], 0
jne 0x4955a0
mov ecx, dword [rbx + 0x3c]
dec ecx
movsxd rcx, ecx
lea r12, [rcx + rcx*2]
mov rbx, qword [rsi + r12*8 + 0x10]
test rbx, rbx
je case.0x494f38.14
movsx eax, byte [rsi + r12*8 + 1]
add eax, 0xf
cmp eax, 0xe
ja case.0x494f38.14
lea rcx, [0x00400000]
cdqe
mov r8d, dword [rcx + rax*4 + 0x95898]
add r8, rcx
jmp r8
cmp qword [rdi + 0x320], 0
je 0x494f55
mov rdx, rbx
mov rcx, rdi
call fcn.00425e50
jmp case.0x494f38.14
cmp rbx, qword [rdi + 0x168]
jb 0x494f83
cmp rbx, qword [rdi + 0x170]
jae 0x494f83
mov rax, qword [rdi + 0x160]
mov qword [rbx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rbx
jmp case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x49500f
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x494fa2
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x494f38.14
cmp qword [rdi + 0x320], 0
jne case.0x494f38.14
add dword [rbx], 0xffffffff
jne case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x4950c0
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x495053
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x494f38.14
cmp qword [rdi + 0x320], 0
jne case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x495168
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4950fb
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x494f38.14
test byte [rbx + 2], 0x10
je case.0x494f38.14
cmp qword [rdi + 0x320], 0
je 0x49519a
mov rdx, rbx
mov rcx, rdi
call fcn.00425e50
jmp case.0x494f38.14
cmp rbx, qword [rdi + 0x168]
jb 0x4951c8
cmp rbx, qword [rdi + 0x170]
jae 0x4951c8
mov rax, qword [rdi + 0x160]
mov qword [rbx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rbx
jmp case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x495254
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4951e7
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x494f38.14
cmp qword [rdi + 0x320], 0
jne 0x49536e
test word [rbx + 8], 0x2460
jne 0x49527e
cmp dword [rbx + 0x20], 0
je 0x495286
mov rcx, rbx
call fcn.0042e360
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x4952d4
cmp qword [rcx + 0x320], 0
je 0x4952a6
mov rdx, rbx
call fcn.00425e50
jmp case.0x494f38.14
cmp rbx, qword [rcx + 0x168]
jb 0x4952d4
cmp rbx, qword [rcx + 0x170]
jae 0x4952d4
mov rax, qword [rcx + 0x160]
mov qword [rbx], rax
dec dword [rcx + 0x14c]
mov qword [rcx + 0x160], rbx
jmp case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x495360
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4952f3
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x494f38.14
cmp dword [rbx + 0x20], 0
je 0x495385
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x495385
mov rcx, rdi
call fcn.00425e50
cmp qword [rdi + 0x320], 0
je 0x49539f
mov rdx, rbx
mov rcx, rdi
call fcn.00425e50
jmp case.0x494f38.14
cmp rbx, qword [rdi + 0x168]
jb 0x4953cd
cmp rbx, qword [rdi + 0x170]
jae 0x4953cd
mov rax, qword [rdi + 0x160]
mov qword [rbx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rbx
jmp case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x495459
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4953ec
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
jmp case.0x494f38.14
cmp qword [rdi + 0x320], 0
jne case.0x494f38.14
dec dword [rbx + 0x18]
mov rdi, qword [rbx]
jne case.0x494f38.14
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x495490
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test rdi, rdi
je 0x4954dd
cmp qword [rdi + 0x320], 0
je 0x4954af
mov rdx, rbx
mov rcx, rdi
call fcn.00425e50
jmp case.0x494f38.14
cmp rbx, qword [rdi + 0x168]
jb 0x4954dd
cmp rbx, qword [rdi + 0x170]
jae 0x4954dd
mov rax, qword [rdi + 0x160]
mov qword [rbx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rbx
jmp case.0x494f38.14
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x49555e
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4954f8
call qword [0x0072d0f8]
mov rcx, rbx
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbx
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je case.0x494f38.14
call qword [0x0072d108]
jmp case.0x494f38.14
mov rcx, rbx
call qword [0x0072d0a0]
test rbp, rbp
mov qword [rsi + r12*8 + 0x10], r15
jne 0x495588
mov qword [rsi + r12*8 + 0x10], r15
mov byte [rsi + r12*8 + 1], bpl
mov r12, qword [rsp + 0xd0]
jmp 0x49564e
mov qword [rsi + r12*8 + 0x10], rbp
mov byte [rsi + r12*8 + 1], 0xfa
mov r12, qword [rsp + 0xd0]
jmp 0x49564e
test rax, rax
je 0x49564e
cmp qword [rdi + 0x320], 0
jne 0x49564e
add dword [rax], 0xffffffff
jne 0x49564e
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x495645
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4955df
call qword [0x0072d0f8]
mov rcx, rbp
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rbp
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x49564e
call qword [0x0072d108]
jmp 0x49564e
mov rcx, rax
call qword [0x0072d0a0]
mov rax, qword [r14 + 0x30]
mov rsi, qword [rsp + 0xf0]
movsxd rdi, dword [r14 + 0x3c]
cmp dword [rax + 0x60], edi
mov ebx, dword [rsi + 4]
jg 0x49567e
mov edx, 1
mov rcx, r14
call fcn.00441a80
test eax, eax
je 0x49567e
mov edi, 1
jmp 0x4956ab
mov rax, qword [r14 + 8]
inc dword [r14 + 0x3c]
lea rcx, [rdi + rdi*2]
mov byte [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x4956c1
inc dword [r12 + 0x54]
mov ebx, dword [r12 + 0x54]
jmp 0x4956d0
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov ebx, dword [r12 + rax*4 + 0x24]
mov r8d, dword [rsi + 4]
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov r9d, ebx
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
call fcn.00481a80
mov ebp, dword [rsi + 8]
mov rax, qword [r14 + 0x30]
movsxd rsi, dword [r14 + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x495717
mov edx, 1
mov rcx, r14
call fcn.00441a80
test eax, eax
jne 0x495743
mov rax, qword [r14 + 8]
inc dword [r14 + 0x3c]
lea rcx, [rsi + rsi*2]
mov byte [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8, qword [r14 + 8]
test r8, r8
je 0x49575a
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r8 + rcx*8 - 0x15], 0x10
mov rax, qword [r14 + 0x30]
mov rdx, qword [rsp + 0xf0]
movsxd rsi, dword [r14 + 0x3c]
cmp dword [rax + 0x60], esi
mov ebp, dword [rdx + 4]
jg 0x495783
mov edx, 1
mov rcx, r14
call fcn.00441a80
test eax, eax
jne 0x4957b2
mov rcx, qword [r14 + 8]
inc dword [r14 + 0x3c]
lea rdx, [rsi + rsi*2]
lea eax, [rdi + 1]
mov byte [rcx + rdx*8], 9
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 0xc], r15d
mov qword [rcx + rdx*8 + 0x10], r15
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8 + 1], 0
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x4957c8
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 3
mov edx, dword [r14 + 0x3c]
cmp edx, edi
jbe 0x4957de
mov eax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
dec ecx
test ebx, ebx
mov dword [rax + 0x64], ecx
je 0x495825
movzx ecx, byte [r12 + 0x1f]
cmp cl, 8
jae 0x495825
lea rax, [r12 + 0x88]
cmp dword [rax + 0xc], ebx
je 0x495892
inc r15d
add rax, 0x14
cmp r15d, 0xa
jl 0x495802
movzx eax, cl
mov dword [r12 + rax*4 + 0x24], ebx
inc byte [r12 + 0x1f]
mov edx, dword [r14 + 0x3c]
mov eax, dword [rsp + 0x44]
cmp edx, eax
jbe 0x49583d
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov r15, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rax + 6], 1
jmp 0x495825