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

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x1b8
mov qword [rax + 0x20], rbx
mov qword [rax - 0x10], rsi
mov rsi, qword [rcx]
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov r13, qword [rsi + 0x10]
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov rax, qword [rsi]
mov rdi, r8
lea r12, [rcx + 0x158]
mov qword [rsp + 0x78], rax
movsxd r9, edx
mov r11, rcx
mov edx, dword [r11 + 0x54]
lea rax, [r9 + r9*4]
mov qword [rsp + 0x90], r12
add rax, rax
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x48], r13
lea r10, [rcx + rax*8 + reloc.MFC42u.dll_COleDateTime::operator]
mov rax, qword [rcx + 8]
movzx r8d, byte [r10 + 0x24]
mov r15, qword [r10 + 0x40]
mov qword [rsp + 0x50], r10
imul r8, r8, 0x78
mov ebx, dword [r8 + rax + 0x50]
lea r12, [r8 + rax + 8]
xor r8d, r8d
test edx, edx
mov qword [rsp + 0x88], r15
mov dword [rsp + 0x40], ebx
mov ecx, r8d
lea r14d, [r8 + 1]
jle 0x4959ae
lea rax, [r11 + 0x58]
nop
nop
cmp dword [rax], ebx
je 0x4959f0
inc ecx
add rax, 4
cmp ecx, edx
jl 0x4959a0
mov rax, r8
mov qword [rsp + 0x1b0], rbp
not rax
mov rcx, r9
and rax, rdi
mov qword [r10 + 0x48], rax
mov rbp, qword [r11 + 0x28]
shr rbp, cl
and ebp, r14d
test byte [r15 + 0x28], 0x40
mov qword [rsp + 0xa0], rbp
je 0x4959f8
test byte [r11 + 0x32], 0x20
jne 0x4959f8
mov dword [rsp + 0x98], r14d
jmp 0x495a00
mov rax, r14
shl rax, cl
jmp 0x4959b1
mov dword [rsp + 0x98], r8d
mov rbx, qword [r13 + 0x30]
movsxd rdi, dword [rbx + 0x78]
lea eax, [rdi + 1]
mov dword [rbx + 0x78], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x495a3b
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx]
lea eax, [rdi + rdi + 1]
movsxd r8, eax
shl r8, 2
call fcn.0043b230
mov r10, qword [rsp + 0x50]
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
mov edx, 0xffffffff
test rcx, rcx
je 0x495a4f
mov dword [rcx + rdi*4], edx
mov r14d, edx
sub r14d, edi
mov dword [r10 + 0x10], r14d
mov dword [r10 + 0xc], r14d
mov rdi, qword [r13 + 0x30]
movsxd rbx, dword [rdi + 0x78]
lea eax, [rbx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x495a9d
mov rdx, qword [rdi + 0x80]
mov rcx, qword [rdi]
lea eax, [rbx + rbx + 1]
movsxd r8, eax
shl r8, 2
call fcn.0043b230
mov r10, qword [rsp + 0x50]
mov edx, 0xffffffff
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x495aac
mov dword [rcx + rbx*4], edx
mov eax, edx
sub eax, ebx
cmp byte [r10 + 0x24], 0
mov dword [rsp + 0xa8], eax
mov dword [r10 + 0x18], eax
jbe 0x495b28
test byte [r12 + 0x3c], 8
je 0x495b2d
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov dword [r10], ebx
mov rax, qword [r13 + 0x30]
movsxd rdi, dword [r13 + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x495af1
mov edx, 1
mov rcx, r13
call fcn.00441a80
test eax, eax
jne 0x495b23
inc dword [r13 + 0x3c]
mov rax, qword [r13 + 8]
lea rcx, [rdi + rdi*2]
xor r8d, r8d
mov byte [rax + rcx*8], Ordinal_27
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov byte [rax + rcx*8 + 1], r8b
jmp 0x495b30
xor r8d, r8d
jmp 0x495b30
xor r8d, r8d
jmp 0x495b30
xor r8d, r8d
mov ecx, dword [r12 + 0x40]
mov qword [rsp + 0xf8], 0xa
test cl, 4
je 0x495c21
mov rax, qword [r13 + 0x30]
movsxd rbx, dword [r13 + 0x3c]
mov edi, dword [r12 + 0x34]
cmp dword [rax + 0x60], ebx
mov ebp, dword [r12 + 0x30]
mov r15, r13
jg 0x495b9d
mov r13d, 1
mov rcx, r15
mov edx, r13d
call fcn.00441a80
test eax, eax
je 0x495ba3
xor r12d, r12d
mov rax, qword [r15 + 0x30]
movsxd rbx, dword [r15 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x495bd4
mov edx, r13d
mov rcx, r15
call fcn.00441a80
test eax, eax
je 0x495bd4
mov ebx, r13d
jmp 0x495c01
mov r13d, 1
inc dword [r15 + 0x3c]
mov rax, qword [r15 + 8]
lea rcx, [rbx + rbx*2]
xor r12d, r12d
mov byte [rax + rcx*8], reloc.WS2_32.dll_sendto
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov dword [rax + rcx*8 + 8], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
jmp 0x495b7c
mov rax, qword [r15 + 8]
inc dword [r15 + 0x3c]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], reloc.WS2_32.dll_shutdown
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], 0
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x1c0]
mov dword [r13 + 0x2c], ebx
mov byte [r13 + 0x25], reloc.WS2_32.dll_recv
jmp 0x4973ff
mov edx, dword [r15 + 0x28]
bt edx, 0xa
jae 0x495fb7
movzx r12d, word [r15 + 0x2c]
mov ecx, dword [rsi + 0x44]
mov r14d, dword [rsi + 0x48]
inc dword [rsi + 0x70]
lea edx, [r12 + 2]
mov dword [rsp + 0x1c8], r14d
cmp edx, ecx
mov dword [rsp + 0x80], edx
jg 0x495c64
lea eax, [r14 + rdx]
sub ecx, edx
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], ecx
jmp 0x495c78
mov eax, dword [rsi + 0x54]
lea r14d, [rax + 1]
add eax, edx
mov dword [rsp + 0x1c8], r14d
mov dword [rsi + 0x54], eax
test r12d, r12d
mov rcx, qword [rsp + 0x50]
mov ebx, r8d
mov r13d, dword [rcx + 0xc]
jle 0x495d01
lea edi, [r14 + 2]
mov r14, qword [rsp + 0xa0]
mov rbp, r8
nop
nop
mov rax, qword [r15 + 0x30]
mov rdx, qword [rax + rbp]
test rdx, rdx
je 0x495cec
test byte [rdx + 0x1a], 1
je 0x495cd5
mov r8, rcx
mov r9d, ebx
mov rcx, rsi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r14d
call fcn.0044ba60
mov rcx, qword [rsp + 0x50]
mov r13d, dword [rcx + 0x10]
jmp 0x495cec
mov rdx, qword [rdx]
mov r8d, edi
mov rcx, rsi
mov rdx, qword [rdx + 0x18]
call fcn.004d69b0
mov rcx, qword [rsp + 0x50]
inc ebx
inc edi
add rbp, 8
cmp ebx, r12d
jl 0x495ca0
mov r14d, dword [rsp + 0x1c8]
mov r8, qword [rsp + 0x48]
mov edi, dword [r15 + 0x18]
mov rax, qword [r8 + 0x30]
movsxd rbx, dword [r8 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x495d31
mov ebp, 1
mov rcx, r8
mov edx, ebp
call fcn.00441a80
test eax, eax
jne 0x495d66
mov r8, qword [rsp + 0x48]
jmp 0x495d36
mov ebp, 1
inc dword [r8 + 0x3c]
mov rax, qword [r8 + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], edi
xor edi, edi
mov byte [rax + rcx*8], Ordinal_27
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], dil
jmp 0x495d6d
mov r8, qword [rsp + 0x48]
xor edi, edi
mov rax, qword [r8 + 0x30]
movsxd rbx, dword [r8 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x495d8d
mov edx, ebp
mov rcx, r8
call fcn.00441a80
test eax, eax
jne 0x495dbf
mov r8, qword [rsp + 0x48]
mov rcx, qword [r8 + 8]
inc dword [r8 + 0x3c]
lea rdx, [rbx + rbx*2]
lea eax, [r14 + 1]
mov byte [rcx + rdx*8], Ordinal_27
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r12d
mov dword [rcx + rdx*8 + 0xc], edi
mov qword [rcx + rdx*8 + 0x10], rdi
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8 + 1], 0
jmp 0x495dc4
mov r8, qword [rsp + 0x48]
cmp byte [r15 + 0x1c], 0
movsxd rbx, dword [r8 + 0x3c]
mov rbp, qword [r15 + 0x20]
mov eax, 0xfffffff5
mov edi, 0xfffffffe
cmovne edi, eax
mov rax, qword [r8 + 0x30]
cmp dword [rax + 0x60], ebx
jg 0x495e04
mov edx, 1
mov rcx, r8
call fcn.00441a80
test eax, eax
je 0x495dff
mov ebx, 1
jmp 0x495e38
mov r8, qword [rsp + 0x48]
mov rax, qword [r8 + 8]
inc dword [r8 + 0x3c]
mov edx, dword [rsp + 0x40]
lea rcx, [rbx + rbx*2]
xor r8d, r8d
mov byte [rax + rcx*8], recvfrom
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r8
mov byte [rax + rcx*8 + 1], r8b
mov rcx, qword [rsp + 0x48]
mov r9d, edi
mov r8, rbp
mov edx, ebx
call fcn.004423e0
xor ebp, ebp
test r12d, r12d
mov r10d, ebp
mov byte [r15 + 0x1c], 0
jle 0x495ee3
mov rsi, qword [rsp + 0x50]
cmp r10d, 0x10
jge 0x495edb
movzx eax, word [r15 + 0x1e]
movzx ecx, r10w
shr ax, cl
test al, 1
je 0x495ed3
mov rax, qword [r15 + 0x30]
movsxd rcx, r10d
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x495ed3
movzx ecx, byte [rdx + 0x1c]
test cl, 4
jne 0x495ed3
cmp dword [rsi], ebp
je 0x495e9e
mov rax, qword [rdx]
test byte [rax + 4], 1
je 0x495ed3
mov rax, qword [rdx + 0x30]
test qword [rsi + 0x48], rax
jne 0x495ed3
or cl, 4
mov byte [rdx + 0x1c], cl
movsxd rcx, dword [rdx + 8]
test ecx, ecx
js 0x495ed3
mov rax, qword [rdx + 0x20]
mov rdx, rcx
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x20]
add byte [rdx + 0x1d], 0xff
jne 0x495ed3
mov rcx, rsi
call fcn.00437650
inc r10d
cmp r10d, r12d
jl 0x495e62
mov rsi, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x80]
mov byte [r13 + 0x25], __WSAFDIsSet
mov dword [r13 + 0x28], eax
mov eax, dword [r15 + 0x3c]
mov r11d, 0xa
lea rcx, [rsi + 0x94]
lea r9d, [r10 + r14 - 1]
mov r8, r11
mov dword [r13 + 0x2c], eax
nop
mov edx, dword [rcx]
cmp edx, r14d
jl 0x495f4a
cmp edx, r9d
jg 0x495f4a
cmp byte [rcx - 6], bpl
je 0x495f48
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x495f44
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], bpl
mov dword [rcx], ebp
add rcx, 0x14
dec r8
jne 0x495f20
cmp r10d, dword [rsi + 0x44]
jle 0x495f61
mov dword [rsi + 0x44], r10d
mov dword [rsi + 0x48], r14d
dec dword [rsi + 0x70]
lea rcx, [rsi + 0x94]
mov r8, r11
nop
mov edx, dword [rcx]
test edx, edx
je 0x495f9c
mov eax, dword [rsi + 0x70]
cmp dword [rcx - 4], eax
jle 0x495f9c
cmp byte [rcx - 6], bpl
je 0x495f9a
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x495f96
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], bpl
mov dword [rcx], ebp
add rcx, 0x14
dec r8
jne 0x495f70
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x1c0]
jmp 0x4973ff
mov eax, edx
and eax, 0x100
je 0x4960ac
test dl, 5
je 0x4960ac
mov rax, qword [r15 + 0x30]
mov r13, qword [rsp + 0x50]
xor r9d, r9d
mov rdx, qword [rax]
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r8, r13
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebp
call fcn.0044ba60
cmp eax, ebx
mov edi, eax
je 0x496005
mov edx, ebx
mov rcx, rsi
call fcn.004321b0
mov ebx, dword [r13 + 0x10]
mov r15, qword [rsp + 0x48]
mov r8d, edi
mov r9d, ebx
mov rcx, r15
mov edx, Ordinal_41
call fcn.00441dd0
mov r9d, ebx
mov ebx, dword [rsp + 0x40]
mov edx, 0x46
mov rcx, r15
mov r8d, ebx
mov dword [rsp + 0x20], edi
call fcn.00441bf0
lea rcx, [rsi + 0x94]
mov r9d, 0xa
xor r8d, r8d
nop
mov edx, dword [rcx]
cmp edx, edi
jl 0x496079
cmp edx, edi
jg 0x496079
cmp byte [rcx - 6], r8b
je 0x496076
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x496072
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], r8b
mov dword [rcx], r8d
add rcx, 0x14
dec r9
jne 0x496050
mov r9d, edi
mov r8d, 0xffffffff
mov edx, ebx
mov rcx, rsi
call fcn.00431cf0
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x1c0]
mov byte [r13 + 0x25], 0x9a
jmp 0x4973ff
test eax, eax
je 0x4962db
test dl, 2
je 0x4962db
test dl, 0x20
mov ebp, 0x9a
mov r15d, r8d
mov eax, r8d
mov r12, r8
mov r13, r8
je 0x4960e9
mov r8, qword [rsp + 0x88]
mov rax, qword [r8 + 0x30]
mov r13, qword [rax]
mov eax, 1
jmp 0x4960f1
mov r8, qword [rsp + 0x88]
test dl, 0x10
je 0x496101
movsxd rcx, eax
mov rax, qword [r8 + 0x30]
mov r12, qword [rax + rcx*8]
mov rdi, qword [rsp + 0xa0]
test edi, edi
je 0x496116
mov rax, r13
mov r13, r12
mov r12, rax
test r13, r13
je 0x4961b5
mov rbx, qword [r13]
lea r8, [rsp + 0x80]
mov rcx, rsi
mov rdx, qword [rbx + 0x18]
mov byte [rsp + 0x1c8], 0x41
mov byte [rsp + 0x1c9], 0x3f
mov byte [rsp + 0x1ca], 0x3e
mov byte [rsp + 0x1cb], 0x40
call fcn.00459de0
movzx ecx, byte [rbx]
mov r8d, dword [rsp + 0x40]
mov r9d, r14d
movzx edx, byte [rsp + rcx + 0x178]
mov rcx, qword [rsp + 0x48]
mov edi, eax
mov dword [rsp + 0x20], eax
call fcn.00441bf0
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.00431f30
mov edx, dword [rsp + 0x80]
call fcn.004321b0
mov r10, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r10
call fcn.00437650
mov rdi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x48]
jmp 0x4961de
mov r13, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov edx, WSAGetLastError
mov eax, 0x69
test edi, edi
mov r9d, r14d
mov rcx, r13
cmovne edx, eax
call fcn.00441dd0
mov r10, qword [rsp + 0x50]
test r12, r12
je 0x49623d
mov rbx, qword [r12]
inc dword [rsi + 0x54]
mov r15d, dword [rsi + 0x54]
mov rdx, qword [rbx + 0x18]
mov r8d, r15d
mov rcx, rsi
call fcn.004d69b0
movzx r11d, byte [rbx]
cmp r11b, 0x52
je 0x49621e
cmp r11b, 0x50
je 0x49621e
mov ebp, 0x50
mov eax, 0x52
test edi, edi
cmovne ebp, eax
jmp 0x49622d
mov ebp, 0x53
mov eax, 0x51
test edi, edi
cmovne ebp, eax
mov r10, qword [rsp + 0x50]
mov rdx, r12
mov rcx, r10
call fcn.00437650
mov ecx, dword [r13 + 0x3c]
test edi, edi
mov edi, dword [rsp + 0x40]
sete al
mov dword [r10 + 0x28], edi
mov dword [r10 + 0x2c], ecx
add al, 8
cmp ebp, 0x9a
mov byte [r10 + 0x25], al
je 0x4973de
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r8d, edi
mov edx, 0x67
mov rcx, r13
mov r9d, ebx
call fcn.00441dd0
mov r9d, ebx
mov r8d, 0xffffffff
mov edx, edi
mov rcx, rsi
call fcn.00431cf0
mov r8d, r15d
mov r15, qword [rsp + 0x48]
mov r9d, r14d
mov edx, ebp
mov rcx, r15
mov dword [rsp + 0x20], ebx
call fcn.00441bf0
mov r11, qword [r15 + 8]
test r11, r11
je 0x4973ca
movsxd rax, dword [r15 + 0x3c]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x1c0]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 0x53
jmp 0x4973ff
bt edx, 9
jae 0x496982
mov r10, qword [rsp + 0x50]
mov rax, qword [rsp + 0x88]
movzx ebp, word [r15 + 0x18]
mov ecx, dword [r10 + 8]
mov r13, qword [rax + 0x20]
xor r15b, r15b
mov dword [rsp + 0x6c], ecx
mov rcx, qword [rsp + 0x1c0]
mov rbx, r8
test byte [rcx + 0x32], 1
mov rdi, r8
mov r9d, r8d
mov byte [rsp + 0x1c8], 0
mov byte [rsp + 0x58], r15b
mov qword [rsp + 0xc8], r13
je 0x49635d
cmp byte [rcx + 0x34], r15b
jle 0x496355
cmp word [r13 + 0x5e], bp
jbe 0x49634d
mov r11d, 1
mov r15b, 1
mov r9d, r11d
jmp 0x496363
mov r11d, 1
jmp 0x496363
mov r11d, 1
jmp 0x496363
mov r11d, 1
test dl, 0x20
movzx r12d, bp
mov r8, r12
je 0x496385
mov rax, qword [rax + 0x30]
inc r8d
mov r9d, r11d
mov rbx, qword [rax + r12*8]
mov rax, qword [rsp + 0x88]
test dl, 0x10
je 0x4963c8
test rbx, rbx
mov rax, qword [rax + 0x30]
movsxd rcx, r8d
mov rdi, qword [rax + rcx*8]
mov r9d, r11d
jne 0x4963c8
mov rax, qword [r13 + 8]
movzx ecx, bp
movsx rdx, word [rax + rcx*2]
test edx, edx
js 0x4963c8
mov rax, qword [r13 + 0x18]
lea rdx, [rdx + rdx*2]
movzx r15d, r15b
mov rcx, qword [rax + 8]
add rdx, rdx
cmp byte [rcx + rdx*8 + 0x28], bl
cmove r15d, r11d
mov r8d, dword [rsp + 0xa0]
lea rax, [rsp + 0xc0]
mov rdx, r10
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.00456660
mov r14, qword [rsp + 0xc0]
test r14, r14
mov r9d, eax
mov dword [rsp + 0x5c], eax
je 0x49640b
movzx ecx, bp
movzx edx, byte [rcx + r14]
mov byte [rsp + 0x1c8], dl
mov rax, qword [rsp + 0x50]
movzx r8d, word [r13 + 0x5e]
cmp bp, r8w
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x60], eax
jae 0x496443
mov rax, qword [r13 + 0x38]
xor r10d, r10d
movzx ecx, bp
mov edx, r10d
cmp byte [rcx + rax], dl
mov rax, qword [rsp + 0xa0]
sete dl
cmp eax, edx
je 0x496458
jmp 0x49644e
mov rax, qword [rsp + 0xa0]
xor r10d, r10d
test eax, eax
je 0x496469
cmp r8w, bp
jne 0x496469
mov rax, rdi
mov byte [rsp + 0x58], r15b
mov rdi, rbx
mov rbx, rax
xor r15b, r15b
test rbx, rbx
je 0x496480
test byte [rbx + 0x1a], 0x28
jne 0x496480
mov dword [rsp + 0x68], r10d
mov eax, 1
jmp 0x496489
mov eax, 1
mov dword [rsp + 0x68], eax
test rdi, rdi
je 0x49649b
test byte [rdi + 0x1a], 0x28
jne 0x49649b
mov dword [rsp + 0x70], r10d
jmp 0x49649f
mov dword [rsp + 0x70], eax
test rbx, rbx
jne 0x4964b0
test bp, bp
jne 0x4964b0
mov dword [rsp + 0x64], r10d
jmp 0x4964b4
mov dword [rsp + 0x64], eax
test rbx, rbx
mov r13d, r12d
je 0x496553
mov rax, qword [rbx]
lea r8d, [r9 + r12]
mov rcx, rsi
mov rax, qword [rax + 0x18]
mov rdx, rax
mov qword [rsp + 0xb0], rax
call fcn.004d69b0
mov r8, qword [rsp + 0xb0]
mov rcx, r8
call fcn.00431a80
test eax, eax
je 0x496516
mov r8d, dword [rsp + 0x5c]
mov r9d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
add r8d, r12d
mov edx, Ordinal_79
call fcn.00441dd0
mov r8, qword [rsp + 0xb0]
test r14, r14
je 0x49654e
movzx ebp, bp
mov rcx, r8
movzx edx, byte [r14 + rbp]
call fcn.00450e00
cmp al, 0x41
jne 0x496533
mov byte [r14 + rbp], al
movzx edx, byte [r14 + rbp]
mov rcx, qword [rsp + 0xb0]
call fcn.00431ae0
test eax, eax
je 0x49654e
mov byte [r14 + rbp], 0x41
inc r13d
jmp 0x49657f
test r15b, r15b
je 0x49657f
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
add r9d, r12d
lea edx, [r8 + 0x1c]
call fcn.00441dd0
inc r13d
xor r8d, r8d
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x64], 1
mov edx, dword [rsp + 0x5c]
movzx eax, r15b
mov r8d, r13d
mov r9, r14
mov rcx, rsi
sub r8d, eax
call fcn.0044b900
movsxd rax, dword [rsp + 0x68]
movsxd rbp, dword [rsp + 0xa0]
movsxd rcx, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x6c]
lea rcx, [rax + rcx*2]
mov dword [rsp + 0x28], r13d
mov r13d, dword [rsp + 0x5c]
lea rax, [rbp + rcx*2]
mov rcx, qword [rsp + 0x48]
lea r15, [0x00400000]
movzx edx, byte [rax + r15 + 0x29ca98]
mov qword [rsp + 0xc0], rbp
mov dword [rsp + 0x20], r13d
call fcn.0044f840
test rdi, rdi
je 0x496691
mov rax, qword [rdi]
add r13d, r12d
mov r8d, 1
mov rbp, qword [rax + 0x18]
mov edx, r13d
mov rcx, rsi
call fcn.00431e00
mov r8d, r13d
mov rdx, rbp
call fcn.004d69b0
mov rcx, rbp
call fcn.00431a80
test eax, eax
je 0x496640
mov r9d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov r8d, r13d
mov edx, Ordinal_79
call fcn.00441dd0
movzx edx, byte [rsp + 0x1c8]
mov rcx, rbp
call fcn.00450e00
cmp al, 0x41
je 0x49667f
movzx edx, byte [rsp + 0x1c8]
mov rcx, rbp
call fcn.00431ae0
test eax, eax
jne 0x49667f
lea r9, [rsp + 0x1c8]
lea r8d, [rax + 1]
mov edx, r13d
mov rcx, rsi
call fcn.0044b900
mov rbp, qword [rsp + 0xc0]
mov r13d, dword [rsp + 0x70]
inc r12d
jmp 0x4966bb
cmp byte [rsp + 0x58], 0
je 0x4966b6
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
lea r9d, [r13 + r12]
lea edx, [r8 + 0x1c]
call fcn.00441dd0
xor r13d, r13d
inc r12d
jmp 0x4966bb
mov r13d, dword [rsp + 0x70]
mov rdx, r14
mov r14, qword [rsp + 0x78]
mov rcx, r14
call fcn.00425ea0
test r12d, r12d
mov rax, qword [rsp + 0x48]
mov r11d, dword [rax + 0x3c]
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x2c], r11d
je 0x49671b
mov r9d, dword [rsp + 0x60]
movsxd rax, r13d
mov dword [rsp + 0x28], r12d
mov r12d, dword [rsp + 0x6c]
lea rcx, [rax + rbp*2]
mov eax, dword [rsp + 0x5c]
movzx edx, byte [rcx + r15 + 0x29caa0]
mov r15, qword [rsp + 0x48]
mov r8d, r12d
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.0044f840
jmp 0x496725
mov r12d, dword [rsp + 0x6c]
mov r15, qword [rsp + 0x48]
test rbx, rbx
je 0x49677f
movzx ecx, byte [rbx + 0x1c]
test cl, 4
jne 0x496786
mov r13, qword [rsp + 0x50]
cmp dword [r13], 0
je 0x496748
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x49678b
mov rax, qword [rbx + 0x30]
test qword [r13 + 0x48], rax
jne 0x49678b
movsxd rax, dword [rbx + 8]
or cl, 4
test eax, eax
mov byte [rbx + 0x1c], cl
js 0x49678b
mov rdx, rax
mov rax, qword [rbx + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x20]
add byte [rdx + 0x1d], 0xff
jne 0x49678b
mov rcx, r13
call fcn.00437650
jmp 0x49678b
mov r13, qword [rsp + 0x50]
jmp 0x49678b
mov r13, qword [rsp + 0x50]
test rdi, rdi
je 0x4967de
movzx ecx, byte [rdi + 0x1c]
test cl, 4
jne 0x4967de
cmp dword [r13], 0
je 0x4967a9
mov rax, qword [rdi]
test byte [rax + 4], 1
je 0x4967de
mov rax, qword [rdi + 0x30]
test qword [r13 + 0x48], rax
jne 0x4967de
movsxd rax, dword [rdi + 8]
or cl, 4
test eax, eax
mov byte [rdi + 0x1c], cl
js 0x4967de
mov rdx, rax
mov rax, qword [rdi + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x20]
add byte [rdx + 0x1d], 0xff
jne 0x4967de
mov rcx, r13
call fcn.00437650
cmp dword [rsp + 0x98], 0
jne 0x49692e
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x18]
test byte [rcx + 0x48], 0x20
jne 0x496846
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r8d, r12d
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, r15
mov r9d, ebx
call fcn.00441dd0
mov edi, dword [rsp + 0x40]
mov r9d, ebx
mov r8d, 0xffffffff
mov rcx, rsi
mov edx, edi
call fcn.00431cf0
mov r9d, ebx
mov r8d, edi
mov edx, 0x42
mov rcx, r15
call fcn.00441dd0
jmp 0x49692e
cmp dword [rsp + 0x40], r12d
je 0x49692e
call fcn.00432c60
mov r8d, dword [rsi + 0x44]
mov ebp, dword [rsi + 0x48]
movzx edx, word [rax + 0x5e]
mov rdi, rax
cmp edx, r8d
jg 0x496879
lea ecx, [rbp + rdx]
sub r8d, edx
mov dword [rsi + 0x48], ecx
mov dword [rsi + 0x44], r8d
jmp 0x496884
mov eax, dword [rsi + 0x54]
lea ebp, [rax + 1]
add eax, edx
mov dword [rsi + 0x54], eax
xor ebx, ebx
cmp word [rdi + 0x5e], bx
jbe 0x496908
mov rsi, qword [rsp + 0xc8]
xor r14d, r14d
nop
nop
nop
movzx r8d, word [rsi + 0x60]
mov edx, r14d
test r8d, r8d
jle 0x4968d1
mov rax, qword [rdi + 8]
movsxd rcx, ebx
movzx r9d, word [rax + rcx*2]
mov rcx, qword [rsi + 8]
nop
movsxd rax, edx
cmp r9w, word [rcx + rax*2]
je 0x4968d5
inc edx
cmp edx, r8d
jl 0x4968c0
mov dx, 0xffff
lea eax, [rbp + rbx]
movsx r9d, dx
mov r8d, r12d
mov edx, gethostbyaddr
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.00441bf0
movzx eax, word [rdi + 0x5e]
inc ebx
cmp ebx, eax
jl 0x4968a0
mov rsi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x78]
movzx eax, word [rdi + 0x5e]
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov edx, 0x44
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.0044f840
mov r8, qword [rsp + 0x88]
bt dword [r8 + 0x28], 0xc
jae 0x496945
mov byte [r13 + 0x25], 0x9a
jmp 0x496956
cmp dword [rsp + 0xa0], 0
sete al
add al, 8
mov byte [r13 + 0x25], al
mov dword [r13 + 0x28], r12d
movzx eax, byte [r8 + 0x2a]
and al, 1
mov byte [r13 + 0x26], al
test byte [r8 + 0x28], 0xf
jne 0x4973f7
mov rbp, qword [rsp + 0x1c0]
mov byte [r13 + 0x27], 1
jmp 0x4973ff
bt edx, 0xd
jae 0x49734a
mov eax, dword [rsi + 0x50]
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
xor ebp, ebp
mov dword [rsp + 0xd0], eax
inc eax
mov rcx, r13
mov dword [rsp + 0x98], ebx
mov dword [rsi + 0x50], eax
mov qword [rsp + 0xe0], rbp
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x68], ebp
call fcn.00441e70
mov rcx, qword [r15 + 0x30]
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov r15, qword [rsp + 0x1c0]
mov dword [rsp + 0x80], eax
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0xc0], rcx
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0xc8], rcx
mov byte [rdi + 0x25], reloc.WS2_32.dll_select
mov dword [rdi + 0x28], ebx
movzx ecx, byte [r15 + 0x39]
mov dword [rsp + 0x70], ebp
mov qword [rsp + 0x88], rbp
cmp cl, 1
mov qword [rsp + 0xd8], rax
jbe 0x496acf
mov r14, qword [rsp + 0x78]
movzx ebp, cl
sub ebp, dword [rsp + 0x1c8]
mov rcx, r14
dec ebp
movsxd rdx, ebp
imul rdx, rdx, 0x78
sub rdx, 0xffffffffffffff80
call fcn.0043b030
test rax, rax
mov rbx, rax
mov qword [rsp + 0xb0], rax
jne 0x496a60
mov rax, qword [rsp + 0x1d0]
jmp 0x497930
lea eax, [rbp + 1]
mov rdx, r12
mov r8d, 0x78
movzx ecx, al
mov dword [rbx + 4], ecx
mov dword [rbx], ecx
lea rcx, [rbx + 8]
call sub.msvcrt.dll_memcpy
mov r12, qword [r15 + 8]
add r12, 8
cmp ebp, 1
jl 0x496ae2
sub rbx, 0xffffffffffffff80
add rdi, 0x74
nop
nop
nop
nop
movzx edx, byte [rdi]
mov rcx, rbx
mov r8d, 0x78
imul rdx, rdx, 0x78
add rdx, r12
call sub.msvcrt.dll_memcpy
add rdi, 0x50
add rbx, 0x78
dec rbp
jne 0x496aa0
mov rax, qword [rsp + 0xd8]
jmp 0x496aec
mov rcx, qword [r15 + 8]
mov r14, qword [rsp + 0x78]
mov qword [rsp + 0xb0], rcx
jmp 0x496aec
mov rax, qword [rsp + 0xd8]
xor ebp, ebp
test byte [r15 + 0x32], 8
jne 0x496b59
test byte [rax + 0x48], 0x20
jne 0x496b17
inc dword [rsi + 0x54]
mov eax, dword [rsi + 0x54]
xor r8d, r8d
lea edx, [r8 + 0x1c]
mov rcx, r13
mov r9d, eax
mov dword [rsp + 0x60], eax
call fcn.00441dd0
jmp 0x496b4f
mov rcx, rax
call fcn.00432c60
mov edi, dword [rsi + 0x50]
mov edx, reloc.WS2_32.dll_gethostname
lea ecx, [rdi + 1]
mov r8d, edi
mov rbx, rax
mov dword [rsi + 0x50], ecx
movzx r9d, word [rax + 0x5e]
mov rcx, r13
mov dword [rsp + 0x60], edi
call fcn.00441dd0
mov rdx, rbx
mov rcx, rsi
call fcn.0048d8f0
inc dword [rsi + 0x54]
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x68], eax
mov r9d, dword [rsp + 0x98]
xor r8d, r8d
mov rcx, r13
lea edx, [r8 + 0x19]
mov r15, r13
call fcn.00441dd0
mov r13, qword [rsp + 0x90]
mov ecx, dword [r13 + 0x14]
mov dword [rsp + 0xa0], eax
cmp ecx, 1
jle 0x496cb2
test ecx, ecx
mov edi, ebp
jle 0x496cad
mov r12, qword [rsp + 0xc0]
mov rbx, rbp
mov r15, rbp
nop
nop
nop
mov rcx, qword [r13 + 0x20]
movsxd rax, edi
mov rdx, qword [rcx + rbx]
imul rax, rax, 0x38
add rax, rcx
cmp rax, r12
je 0x496bfc
test byte [rdx + 4], 1
jne 0x496bfc
test byte [rcx + rbx + 0x1c], 0x12
jne 0x496bfc
test word [rcx + rbx + 0x1a], 0xfff
je 0x496bfc
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.00459910
mov rdx, r15
mov rcx, r14
mov r8, rax
call fcn.00451550
mov r15, rax
inc edi
add rbx, 0x38
cmp edi, dword [r13 + 0x14]
jl 0x496bb0
mov qword [rsp + 0x88], r15
test r15, r15
mov r15, qword [rsp + 0x48]
je 0x496cb7
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.0043b030
test rax, rax
mov rbx, rax
je 0x496c69
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
mov eax, 1
mov byte [rbx], 0x48
mov word [rbx + 0x32], 0xffff
mov dword [rbx + 0x28], eax
mov r9, qword [rsp + 0x88]
mov rcx, qword [rsi]
xor r8d, r8d
mov rdx, rbx
call fcn.00451360
test rbx, rbx
je 0x496ca0
mov rax, qword [rsi]
mov r8d, dword [rax + 0x74]
cmp dword [rbx + 0x28], r8d
jle 0x496ca0
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.00462100
mov rax, rbx
mov qword [rsp + 0x88], rbx
jmp 0x496cbf
mov rax, rbp
jmp 0x496cbf
mov rax, rbp
jmp 0x496cbf
mov rax, qword [rsp + 0x88]
mov r8, qword [rsp + 0xc8]
mov bx, reloc.WS2_32.dll_WSASetLastError
mov r13d, ebp
cmp dword [r8 + 0x14], 0
mov word [rsp + 0x58], bx
mov dword [rsp + 0x5c], ebp
jle 0x497181
mov ecx, dword [rsp + 0x40]
xor r14d, r14d
mov rbp, r14
mov qword [rsp + 0xb8], r14
mov r8, qword [r8 + 0x20]
cmp dword [r8 + rbp + 0xc], ecx
je 0x496d0d
bt word [r8 + rbp + 0x1a], 9
jae 0x49714c
test rax, rax
mov r8, qword [r8 + rbp]
mov r12d, r14d
mov dword [rsp + 0xe8], r14d
je 0x496d2f
test byte [r8 + 4], 1
jne 0x496d2f
mov qword [rax + 0x10], r8
mov r8, rax
mov eax, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0xb0]
xor r9d, r9d
mov dword [rsp + 0x30], eax
mov rcx, rsi
mov word [rsp + 0x28], bx
mov qword [rsp + 0x20], r14
call fcn.004a87d0
test rax, rax
mov rdi, rax
mov qword [rsp + 0xf0], rax
je 0x497148
mov rax, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x1c8]
mov rdx, qword [rsp + 0xb0]
movzx ecx, byte [rax + 0x24]
lea r8, [rdi + reloc.MFC42u.dll_COleDateTime::operator]
mov word [rsp + 0x28], r12w
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.00474e40
mov rax, qword [rsp + 0x1c0]
test byte [rax + 0x32], 8
jne 0x497030
mov rcx, qword [rsp + 0xc8]
mov edx, 0xffffffff
mov eax, dword [rcx + 0x14]
dec eax
cmp dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0xd8]
cmove r13d, edx
test byte [rax + 0x48], 0x20
mov dword [rsp + 0xec], r13d
jne 0x496e2a
mov ecx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x40]
mov r8d, edx
mov byte [rsp + 0x28], r12b
mov dword [rsp + 0x20], ecx
mov rdx, rax
mov rcx, rsi
call fcn.00480610
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x82
mov rcx, r15
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call fcn.0044f840
mov r13d, dword [rsp + 0x5c]
mov r12d, eax
jmp 0x497030
mov rcx, rax
call fcn.00432c60
mov edx, dword [rsi + 0x44]
mov ebx, dword [rsi + 0x48]
movzx r8d, word [rax + 0x5e]
mov r12, rax
mov dword [rsp + 0x6c], ebx
cmp r8d, edx
jg 0x496e58
lea ecx, [rbx + r8]
sub edx, r8d
mov dword [rsi + 0x48], ecx
mov dword [rsi + 0x44], edx
jmp 0x496e68
mov eax, dword [rsi + 0x54]
lea ebx, [rax + 1]
add eax, r8d
mov dword [rsp + 0x6c], ebx
mov dword [rsi + 0x54], eax
test r8d, r8d
mov rdi, r14
mov rbp, r8
jle 0x496ebb
mov r15, qword [rsp + 0xd8]
mov r13d, dword [rsp + 0x40]
mov rax, qword [r12 + 8]
mov r9d, r13d
mov rdx, r15
movsx r8d, word [rax + rdi*2]
mov rcx, rsi
mov byte [rsp + 0x28], r14b
mov dword [rsp + 0x20], ebx
call fcn.00480610
inc rdi
inc ebx
cmp rdi, rbp
jl 0x496e80
mov r13d, dword [rsp + 0xec]
mov r15, qword [rsp + 0x48]
mov r8d, ebp
test r13d, r13d
je 0x496ee6
mov edi, dword [rsp + 0x6c]
mov dword [rsp + 0x28], r8d
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x45]
call fcn.0044f840
mov r12d, eax
jmp 0x496eed
mov edi, dword [rsp + 0x6c]
mov r12d, r14d
test r13d, r13d
js 0x496fb4
mov rax, qword [r15 + 0x30]
movsxd rbx, dword [r15 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x496f14
mov edx, 1
mov rcx, r15
call fcn.00441a80
test eax, eax
jne 0x496f45
mov rax, qword [r15 + 8]
inc dword [r15 + 0x3c]
mov edx, dword [rsp + 0x68]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], gethostbyaddr
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], r14b
jmp 0x496f45
mov rax, qword [r15 + 0x30]
movsxd rbx, dword [r15 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x496f63
mov edx, 1
mov rcx, r15
call fcn.00441a80
test eax, eax
jne 0x496f97
mov rax, qword [r15 + 8]
inc dword [r15 + 0x3c]
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov byte [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], r14b
test r13d, r13d
je 0x496fb4
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x496fb4
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
jmp 0x496fb4
lea r9d, [rbp + rdi - 1]
lea rcx, [rsi + 0x94]
mov r8d, 0xa
mov edx, dword [rcx]
cmp edx, edi
jl 0x496ff0
cmp edx, r9d
jg 0x496ff0
cmp byte [rcx - 6], r14b
je 0x496fed
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x496fe9
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], r14b
mov dword [rcx], r14d
add rcx, 0x14
dec r8
jne 0x496fc6
cmp ebp, dword [rsi + 0x44]
jle 0x49701b
mov r13d, dword [rsp + 0x5c]
mov dword [rsi + 0x44], ebp
mov rbp, qword [rsp + 0xb8]
mov dword [rsi + 0x48], edi
mov rdi, qword [rsp + 0xf0]
jmp 0x497030
mov rdi, qword [rsp + 0xf0]
mov r13d, dword [rsp + 0x5c]
mov rbp, qword [rsp + 0xb8]
mov rax, qword [r15 + 0x30]
movsxd rbx, dword [r15 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x49704e
mov edx, 1
mov rcx, r15
call fcn.00441a80
test eax, eax
jne 0x497088
mov rax, qword [r15 + 8]
inc dword [r15 + 0x3c]
mov edx, dword [rsp + 0x98]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x80]
mov byte [rax + rcx*8], reloc.WS2_32.dll_recvfrom
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], r14b
test r12d, r12d
je 0x4970b2
mov edx, dword [r15 + 0x3c]
cmp edx, r12d
jbe 0x4970a5
mov eax, r12d
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov eax, dword [rsp + 0x70]
cmp byte [rdi + 0x37], r14b
mov rdx, qword [rdi + 0x380]
mov ecx, 1
cmovne eax, ecx
bt dword [rdx + 0x28], 9
mov dword [rsp + 0x70], eax
jae 0x49712d
test r13d, r13d
je 0x4970e7
mov rax, qword [rsp + 0xe0]
cmp qword [rdx + 0x20], rax
jne 0x49712d
mov rax, qword [rsp + 0xd8]
test byte [rax + 0x48], 0x20
je 0x497104
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x49712d
movzx ebx, word [rsp + 0x58]
mov r12, qword [rdx + 0x20]
mov rcx, rdi
or bx, 0x1000
mov qword [rsp + 0xe0], r12
mov word [rsp + 0x58], bx
call fcn.0044cae0
mov ecx, dword [rsp + 0x40]
jmp 0x49714c
mov bx, word [rsp + 0x58]
mov rcx, rdi
mov qword [rsp + 0xe0], r14
call fcn.0044cae0
mov ecx, dword [rsp + 0x40]
jmp 0x49714c
mov ecx, dword [rsp + 0x40]
mov r8, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x88]
inc r13d
add rbp, 0x38
cmp r13d, dword [r8 + 0x14]
mov dword [rsp + 0x5c], r13d
mov qword [rsp + 0xb8], rbp
jl 0x496cf4
mov r14, qword [rsp + 0x78]
xor ebp, ebp
mov rax, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x50]
test rax, rax
mov qword [r13 + 0x30], rax
je 0x4971a2
mov eax, dword [rsp + 0xd0]
mov dword [r13 + 8], eax
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x497216
bt dword [rdi + 4], 0xe
mov qword [rdi + 0x10], rbp
jb 0x497204
xor edx, edx
mov rcx, r14
call fcn.00445010
mov rdx, qword [rdi + 0x18]
mov rcx, r14
call fcn.00445010
bt dword [rdi + 4], 0x10
jae 0x4971e3
mov rdx, qword [rdi + 8]
mov rcx, r14
call fcn.00425ea0
bt dword [rdi + 4], 0xb
jae 0x4971f8
mov rdx, qword [rdi + 0x20]
mov rcx, r14
call fcn.004353b0
jmp 0x497204
mov rdx, qword [rdi + 0x20]
mov rcx, r14
call fcn.00445760
bt dword [rdi + 4], 0xf
jb 0x497216
mov rdx, rdi
mov rcx, r14
call fcn.00425ea0
mov edx, dword [r15 + 0x3c]
mov eax, dword [rsp + 0xa0]
cmp edx, eax
jbe 0x497231
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 4], edx
mov rax, qword [r15 + 0x30]
movsxd rbx, dword [r15 + 0x3c]
mov edi, dword [r13 + 0xc]
cmp dword [rax + 0x60], ebx
jg 0x497253
mov edx, 1
mov rcx, r15
call fcn.00441a80
test eax, eax
jne 0x49727e
mov rax, qword [r15 + 8]
inc dword [r15 + 0x3c]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rax + rcx*8 + 1], 0
mov r8, qword [r15 + 0x30]
mov eax, 0xffffffff
sub eax, dword [rsp + 0x80]
js 0x4972a6
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4972a6
movsxd rcx, eax
mov eax, dword [r15 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r15 + 0x3c]
mov rbp, qword [rsp + 0x1c0]
dec eax
mov dword [r8 + 0x64], eax
cmp byte [rbp + 0x39], 1
jbe 0x4972ce
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call fcn.00425ea0
cmp dword [rsp + 0x70], 0
jne 0x4973ff
mov r8, qword [rsp + 0xc0]
movzx ecx, byte [r8 + 0x1c]
test cl, 4
jne 0x4973ff
cmp dword [r13], 0
je 0x497303
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x4973ff
mov rax, qword [r8 + 0x30]
test qword [r13 + 0x48], rax
jne 0x4973ff
movsxd rax, dword [r8 + 8]
or cl, 4
test eax, eax
mov byte [r8 + 0x1c], cl
js 0x4973ff
mov rdx, rax
mov rax, qword [r8 + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x20]
add byte [rdx + 0x1d], 0xff
jne 0x4973ff
mov rcx, r13
call fcn.00437650
jmp 0x4973ff
test cl, 8
je 0x497370
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x1c0]
mov byte [r13 + 0x25], 0x9a
jmp 0x4973ff
mov r13, qword [rsp + 0x50]
lea r15, [0x00400000]
movsxd rcx, ebp
movzx eax, byte [rcx + r15 + 0x29caa4]
mov r9d, r14d
mov byte [r13 + 0x25], al
mov eax, dword [rsp + 0x40]
mov dword [r13 + 0x28], eax
movzx edx, byte [rcx + r15 + 0x29caa8]
mov r15, qword [rsp + 0x48]
mov rcx, r15
mov r8d, eax
call fcn.00441dd0
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x1c0]
inc eax
mov byte [r13 + 0x27], 1
mov dword [r13 + 0x2c], eax
jmp 0x4973ff
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x1c0]
jmp 0x4973ff
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x1c0]
jmp 0x4973ff
mov rbp, qword [rsp + 0x1c0]
lea rcx, [rbp + 0x158]
mov edi, dword [rcx + 0x14]
mov rbx, qword [rcx + 0x20]
test edi, edi
jle 0x497472
mov r14d, dword [rsp + 0xa8]
nop
nop
test byte [rbx + 0x1c], 6
jne 0x49745b
mov rax, qword [rbx + 0x30]
test qword [r13 + 0x48], rax
je 0x497436
mov byte [rbp + 0x37], 1
jmp 0x49745b
cmp dword [r13], 0
mov rdx, qword [rbx]
je 0x497446
test byte [rdx + 4], 1
je 0x49745b
mov r9d, reloc.WS2_32.dll_recv
mov r8d, r14d
mov rcx, rsi
call fcn.004d3740
or byte [rbx + 0x1c], 4
dec edi
add rbx, 0x38
test edi, edi
jg 0x497420
mov r14, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov r12d, dword [rcx + 0x14]
mov rbp, qword [rcx + 0x20]
test r12d, r12d
jle 0x497824
xor r15d, r15d
test byte [rbp + 0x1c], 6
jne 0x49780a
cmp word [rbp + 0x1a], 0x402
jne 0x49780a
mov eax, dword [rsp + 0x40]
cmp dword [rbp + 0xc], eax
jne 0x49780a
cmp dword [r13], r15d
jne 0x49780a
mov r13, qword [rbp]
mov dword [rsp + 0x124], eax
mov eax, dword [rbp + 0x10]
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rcx
lea rcx, [rsp + 0x100]
mov rdi, r15
mov dword [rsp + 0x128], eax
mov qword [rsp + 0x110], r15
mov dword [rsp + 0x11c], 3
mov dword [rsp + 0x120], r15d
mov byte [rsp + 0x119], 2
mov byte [rsp + 0x118], dil
mov byte [rsp + 0x11a], 2
call fcn.00485ac0
test rax, rax
mov rbx, rax
je 0x497568
nop
nop
nop
nop
mov rax, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x1d0]
test rcx, rax
jne 0x497553
test rax, rax
jne 0x49754c
test byte [rbx + 0x1a], 2
jne 0x49756b
test rdi, rdi
cmove rdi, rbx
lea rcx, [rsp + 0x100]
call fcn.00485ac0
test rax, rax
mov rbx, rax
jne 0x497530
mov rbx, rdi
test rbx, rbx
je 0x497802
test byte [rbx + 0x1c], 4
jne 0x4977f8
test r14, r14
je 0x4975a8
cmp byte [r14 + 0x50], r15b
jne 0x4977e4
cmp byte [r14 + 0x14a], r15b
je 0x4975a8
cmp word [r14 + 0x148], 0x48
jae 0x4975f5
inc dword [r14 + 0x158]
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x49763b
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4975c7
call qword [0x0072d0f8]
lea rdx, [rsp + 0x1c0]
mov ecx, 0x48
call fcn.0043a720
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x497653
call qword [0x0072d108]
mov rdi, qword [rsp + 0x1c0]
jmp 0x49765b
mov rdi, qword [r14 + 0x160]
test rdi, rdi
jne 0x49760a
inc dword [r14 + 0x15c]
jmp 0x4975a8
mov rax, qword [rdi]
inc dword [r14 + 0x14c]
inc dword [r14 + 0x154]
mov qword [r14 + 0x160], rax
mov eax, dword [r14 + 0x14c]
cmp eax, dword [r14 + 0x150]
jle 0x49766a
mov dword [r14 + 0x150], eax
jmp 0x49766a
mov ecx, 0x48
call qword [0x0072d098]
mov rdi, rax
mov qword [rsp + 0x1c0], rax
jmp 0x49765b
mov rdi, qword [rsp + 0x1c0]
test rdi, rdi
jne 0x49766a
test r14, r14
je 0x49766a
mov byte [r14 + 0x50], 1
test rdi, rdi
je 0x4977ee
mov rcx, qword [rbx]
mov r8d, dword [rsp + 0xa8]
mov r9d, reloc.WS2_32.dll_recv
mov rax, qword [rcx]
mov rdx, rdi
mov qword [rdi], rax
mov rax, qword [rcx + 8]
mov qword [rdi + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdi + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdi + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rdi + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [rdi + 0x30], rax
mov rax, qword [rcx + 0x38]
mov qword [rdi + 0x38], rax
mov rax, qword [rcx + 0x40]
mov rcx, rsi
mov qword [rdi + 0x40], rax
mov rax, qword [r13 + 0x10]
mov qword [rdi + 0x10], rax
call fcn.004d3740
test r14, r14
je 0x49773a
cmp qword [r14 + 0x320], r15
je 0x497703
mov rdx, rdi
mov rcx, r14
call fcn.00425e50
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
cmp rdi, qword [r14 + 0x168]
jb 0x49773a
cmp rdi, qword [r14 + 0x170]
jae 0x49773a
mov rax, qword [r14 + 0x160]
mov rcx, qword [rsp + 0x90]
mov qword [rdi], rax
dec dword [r14 + 0x14c]
mov qword [r14 + 0x160], rdi
jmp 0x49780a
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x4977c7
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x497759
call qword [0x0072d0f8]
mov rcx, rdi
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, rdi
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x4977da
call qword [0x0072d108]
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
mov rcx, rdi
call qword [0x0072d0a0]
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
mov rcx, qword [rsp + 0x90]
jmp 0x49780a
mov rcx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x50]
dec r12d
add rbp, 0x38
test r12d, r12d
jg 0x497486
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
cmp dword [rbp], 0
je 0x49792c
mov eax, dword [r15 + 0x3c]
mov edi, dword [rbp]
mov dword [rbp + 0x1c], eax
mov rax, qword [r15 + 0x30]
movsxd rbx, dword [r15 + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x49785b
mov edx, 1
mov rcx, r15
call fcn.00441a80
test eax, eax
jne 0x49788e
inc dword [r15 + 0x3c]
mov rax, qword [r15 + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edi
xor edi, edi
mov byte [rax + rcx*8], Ordinal_27
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], dil
jmp 0x497890
xor edi, edi
lea rcx, [rsi + 0x94]
mov eax, 0xa
nop
mov edx, dword [rcx]
test edx, edx
je 0x4978cc
cmp byte [rcx - 6], 0
je 0x4978c2
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x4978be
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov rax, qword [rsp + 0xf8]
mov dword [rcx], edi
add rcx, 0x14
dec rax
mov qword [rsp + 0xf8], rax
jne 0x4978a0
mov r12, qword [rsp + 0x90]
cmp dword [r12 + 0x14], 0
mov rbx, qword [r12 + 0x20]
jle 0x49792c
test byte [rbx + 0x1c], 6
jne 0x49791f
mov rax, qword [rbx + 0x30]
test qword [rbp + 0x48], rax
jne 0x49791f
mov r8d, dword [rsp + 0xa8]
mov rdx, qword [rbx]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.004d3740
or byte [rbx + 0x1c], 4
inc edi
add rbx, 0x38
cmp edi, dword [r12 + 0x14]
jl 0x4978f2
mov rax, qword [rbp + 0x48]
mov r15, qword [rsp + 0x180]
mov r14, qword [rsp + 0x188]
mov r13, qword [rsp + 0x190]
mov r12, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1a8]
mov rbp, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x1b8
ret