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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe8
mov rsi, qword [rcx + 0x10]
xor ebp, ebp
mov rax, qword [rcx]
mov r13, rdx
mov qword [rsp + 0x50], rax
mov r12, rcx
mov dword [rsp + 0x48], ebp
mov rbx, qword [rsi + 0x18]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x80], rsi
mov edx, dword [rbx + 0x48]
mov dword [rsp + 0x148], edx
lea eax, [rdx + 1]
mov dword [rbx + 0x48], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18007cbca
mov rcx, qword [rbx]
lea eax, [rdx*2 + 1]
mov rdx, qword [rbx + 0x50]
movsxd r8, eax
shl r8, 2
call fcn.1800105d0
mov edx, dword [rsp + 0x148]
mov qword [rbx + 0x50], rax
mov rcx, qword [rbx + 0x50]
or r8d, 0xffffffff
test rcx, rcx
je 0x18007cbde
movsxd rax, edx
mov dword [rcx + rax*4], r8d
mov rbx, qword [rsi + 0x18]
not edx
mov dword [rsp + 0x148], edx
mov edx, dword [rbx + 0x48]
mov dword [rsp + 0x44], edx
lea eax, [rdx + 1]
mov dword [rbx + 0x48], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18007cc25
mov rcx, qword [rbx]
lea eax, [rdx*2 + 1]
mov rdx, qword [rbx + 0x50]
movsxd r8, eax
shl r8, 2
call fcn.1800105d0
mov edx, dword [rsp + 0x44]
or r8d, 0xffffffff
mov qword [rbx + 0x50], rax
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x18007cc35
movsxd rax, edx
mov dword [rcx + rax*4], r8d
movzx edi, byte [r13 + 8]
not edx
mov rax, qword [r13 + 0x50]
mov r14, qword [r13 + 0x48]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov eax, 1
mov dword [rsp + 0x44], edx
movsxd r15, dword [r14]
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x40], edi
cmp edi, 0x7c
je 0x18007cd56
mov ebx, eax
cmp byte [rcx + 0x61], bpl
jne 0x18007cd56
lea rdi, [r15 + r15*4]
shl rdi, 3
mov rax, qword [r13]
cmp ebx, dword [rax]
jg 0x18007cd52
mov edx, ebp
test r15d, r15d
jle 0x18007ccae
lea rcx, [r14 + 0x28]
movzx eax, word [rcx]
cmp eax, ebx
je 0x18007cca9
inc edx
add rcx, 0x28
cmp edx, r15d
jl 0x18007cc97
mov rcx, qword [rsp + 0x50]
cmp edx, r15d
jne 0x18007cd46
mov edx, 0x49
call fcn.180010400
mov r8, rax
test rax, rax
je 0x18007cddb
xor eax, eax
mov rdx, r14
mov qword [r8], rax
mov rcx, r12
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], rax
mov qword [r8 + 0x28], rax
mov qword [r8 + 0x30], rax
mov qword [r8 + 0x38], rax
mov qword [r8 + 0x40], rax
or eax, 0xffffffff
mov word [r8 + 0x32], ax
lea rax, [r8 + 0x48]
mov qword [r8 + 8], rax
mov byte [r8], reloc.WLDAP32.dll_Ordinal_143
mov byte [rax], bpl
or dword [r8 + 4], 0x400
mov dword [r8 + 0x28], 1
mov dword [r8 + 8], ebx
call fcn.18004bfb0
mov rcx, qword [rsp + 0x50]
mov r14, rax
mov qword [r13 + 0x48], rax
test rax, rax
je 0x18007cd46
inc r15d
mov word [rdi + rax + 0x28], bx
mov dword [rsp + 0x58], r15d
add rdi, 0x28
inc ebx
cmp byte [rcx + 0x61], bpl
je 0x18007cc80
mov edi, dword [rsp + 0x40]
lea eax, [r15 + 1]
movsxd rdx, eax
shl rdx, 2
cmp dword [rcx + 0x168], ebp
jne 0x18007ce39
movzx eax, word [rcx + 0x16c]
cmp rdx, rax
jbe 0x18007cde5
inc dword [rcx + 0x178]
call fcn.1800103b0
mov r8, rax
mov qword [rsp + 0x68], rax
test r8, r8
je 0x18007ce48
mov dword [r8], r15d
cmp r15d, 1
jl 0x18007cdc6
lea rdx, [r8 + 4]
mov r8d, r15d
lea rcx, [r14 + 0x28]
nop dword [rax]
movzx eax, word [rcx]
lea rdx, [rdx + 4]
dec eax
lea rcx, [rcx + 0x28]
mov dword [rdx - 4], eax
sub r8, 1
jne 0x18007cdb0
mov rdx, r13
mov rcx, r12
call fcn.18007b180
mov qword [rsp + 0x88], rax
jmp 0x18007ce50
mov eax, 7
jmp 0x18007de7a
mov r8, qword [rcx + 0x188]
mov qword [rsp + 0x68], r8
test r8, r8
je 0x18007ce08
mov rax, qword [r8]
mov qword [rcx + 0x188], rax
inc dword [rcx + 0x174]
jmp 0x18007cd8c
mov r8, qword [rcx + 0x180]
mov qword [rsp + 0x68], r8
test r8, r8
je 0x18007ce2e
mov rax, qword [r8]
mov qword [rcx + 0x180], rax
inc dword [rcx + 0x174]
jmp 0x18007cd8c
inc dword [rcx + 0x17c]
jmp 0x18007cd7f
cmp byte [rcx + 0x61], bpl
je 0x18007cd7f
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x88], rbp
mov qword [r13 + 0x48], r14
xor r8d, r8d
mov rcx, qword [r12]
mov rdx, r14
call fcn.18004b740
mov r14, qword [rsp + 0x60]
mov qword [r14 + 0x48], rax
cmp edi, 0x7c
jne 0x18007ce7a
mov dword [rsp + 0x70], ebp
jmp 0x18007cf97
mov rax, qword [r13]
mov rcx, qword [rsp + 0x130]
mov r12d, dword [rax]
mov eax, dword [rcx + 0x38]
lea ebx, [rax + 1]
inc eax
add eax, r12d
mov dword [rsp + 0x70], ebx
mov dword [rcx + 0x38], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007cec3
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0x46]
call fcn.180032ba0
jmp 0x18007cee9
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rbx, qword [rsp + 0x50]
mov r8d, 1
mov rcx, rbx
mov edx, r12d
call fcn.180079890
mov qword [rsp + 0x90], rax
test rax, rax
je 0x18007d018
mov ebx, ebp
test r12d, r12d
jle 0x18007cf8f
mov r14, rbp
lea r15, [rax + 0x20]
mov rdi, rbp
mov rsi, rax
mov rdx, qword [r13 + 0x50]
test rdx, rdx
je 0x18007cf44
mov rcx, qword [rsp + 0x130]
mov r8d, ebx
call fcn.18007b110
test rax, rax
jne 0x18007cf61
jmp 0x18007cf47
mov rax, rbp
mov rdx, qword [r13]
cmp ebx, dword [rdx]
jge 0x18007cf61
mov rdx, qword [rdx + rdi + 8]
mov rcx, qword [rsp + 0x130]
call fcn.1800499a0
mov qword [r15], rax
inc ebx
mov rax, qword [rsi + 0x18]
add r15, 8
add rdi, 0x28
mov byte [r14 + rax], bpl
inc r14
cmp ebx, r12d
jl 0x18007cf24
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x50]
mov qword [r13 + 0x50], rbp
lea r9, str.ORDER
mov qword [r14 + 0x58], rbp
mov rdx, r13
mov r8, qword [r13 + 0x48]
mov rcx, r12
call fcn.180048d60
cmp qword [r14 + 0x50], rbp
jne 0x18007cfd6
mov r8, qword [r14 + 0x48]
lea r9, str.ORDER
mov rdx, r14
mov rcx, r12
call fcn.180048d60
mov r8d, dword [rsp + 0x148]
mov rdx, r13
mov rcx, r12
call fcn.18007af70
cmp dword [r13 + 0x10], ebp
je 0x18007d0d0
cmp edi, 0x7c
jne 0x18007d0d0
mov edi, dword [r12 + 0x38]
inc edi
lea r14d, [rdi + 1]
mov dword [r12 + 0x38], r14d
mov edx, dword [r13 + 0x14]
test edx, edx
je 0x18007d025
inc edx
jmp 0x18007d029
mov r12, qword [rsp + 0x130]
jmp 0x18007cf9c
mov edx, dword [r13 + 0x10]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d052
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, Ordinal_79
mov r9d, edi
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007d07b
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], Ordinal_79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d0a4
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, edi
mov edx, Ordinal_79
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007d0d5
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], Ordinal_79
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x18007d0d5
mov r14d, ebp
mov edi, ebp
mov rdx, qword [r13 + 0x60]
test rdx, rdx
je 0x18007d0e6
mov rcx, rbx
call fcn.18004b0a0
mov rdx, qword [rsp + 0x130]
mov qword [r13 + 0x60], rbp
inc dword [r12 + 0x38]
mov r12d, dword [r12 + 0x38]
mov byte [rsp + 0xb8], reloc.WS2_32.dll_listen
mov dword [rsp + 0xbc], r12d
mov qword [rsp + 0xc8], rbp
lea eax, [r12 + 1]
mov qword [rsp + 0xc0], rbp
lea r15d, [rax + 1]
mov dword [rsp + 0x80], eax
lea ecx, [r15 + 1]
mov byte [rsp + 0x98], reloc.WS2_32.dll_listen
mov dword [rsp + 0x74], ecx
mov dword [rdx + 0x38], ecx
movzx ecx, byte [r13 + 8]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xa0], rbp
sub ecx, 0x7c
je 0x18007d185
sub ecx, 1
je 0x18007d17c
cmp ecx, 1
je 0x18007d173
lea r9, str.UNION
jmp 0x18007d18c
lea r9, str.INTERSECT
jmp 0x18007d18c
lea r9, str.EXCEPT
jmp 0x18007d18c
lea r9, str.UNION_ALL
mov r13, qword [rsp + 0x130]
lea r8, str.MERGE___s_
mov rcx, r13
mov edx, 1
call fcn.1800332f0
movsxd rbx, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
lea edx, [rbx + 1]
cmp dword [rax + 0x3c], ebx
jg 0x18007d1d5
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0xd]
call fcn.180032ba0
mov ebx, eax
jmp 0x18007d1fc
mov rax, qword [rsi + 0x68]
lea rcx, [rbx + rbx*2]
mov dword [rsi + 0xb8], edx
mov dword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x60]
lea r8, str.LEFT
mov edx, 1
mov rcx, r13
mov dword [rax + 0x10], edi
call fcn.1800332f0
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0xb8]
mov rcx, r13
call fcn.1800810a0
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d255
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.180032ba0
jmp 0x18007d27c
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov byte [rax + 0x1f], bpl
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], ebp
mov edx, dword [rsi + 0xb8]
test ebx, ebx
jns 0x18007d298
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], bpl
je 0x18007d2aa
lea rax, [0x1803e55e8]
jmp 0x18007d2b9
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd r13, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x78], r13d
lea r8d, [r13 + 1]
cmp dword [rax + 0x3c], r13d
jg 0x18007d2f8
xor r9d, r9d
mov dword [rsp + 0x20], r8d
lea r13d, [r12 + 1]
mov rcx, rsi
mov r8d, r13d
lea edx, [r9 + 0xd]
call fcn.180032ba0
mov dword [rsp + 0x78], eax
jmp 0x18007d32d
mov rax, qword [rsi + 0x68]
lea rcx, [r13*2]
add rcx, r13
mov dword [rsi + 0xb8], r8d
lea r13d, [r12 + 1]
mov dword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x138]
lea r8, str.RIGHT
mov rcx, qword [rsp + 0x130]
mov edx, 1
mov edi, dword [rax + 0x10]
mov ebx, dword [rax + 0x14]
mov dword [rax + 0x10], r14d
mov r14, rax
mov dword [rax + 0x14], ebp
call fcn.1800332f0
mov rcx, qword [rsp + 0x130]
lea r8, [rsp + 0x98]
mov rdx, r14
call fcn.1800810a0
mov dword [r14 + 0x10], edi
mov dword [r14 + 0x14], ebx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d3a6
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, r13d
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.180032ba0
jmp 0x18007d3cd
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
lea r8, [rsp + 0xb8]
mov r13, qword [rsp + 0x90]
mov rdx, r14
mov ebx, dword [rsp + 0x70]
mov r9, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x130]
mov byte [rax + 0x1f], bpl
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], ebp
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
call fcn.18007c4e0
mov edi, eax
mov eax, dword [rsp + 0x40]
cmp eax, 0x7c
je 0x18007d431
cmp eax, 0x7b
jne 0x18007d473
mov eax, dword [rsp + 0x148]
lea r8, [rsp + 0x98]
mov r9, qword [rsp + 0x140]
mov rdx, r14
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], ebx
lea ebx, [r15 + 1]
mov dword [rsp + 0x20], ebx
call fcn.18007c4e0
mov dword [rsp + 0x48], eax
jmp 0x18007d477
lea ebx, [r15 + 1]
test r13, r13
je 0x18007d4cd
add dword [r13], 0xffffffff
jne 0x18007d4cd
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x18007d4c5
cmp qword [rcx + 0x2a8], rbp
je 0x18007d49f
mov rdx, r13
call fcn.180010080
jmp 0x18007d4cd
cmp r13, qword [rcx + 0x190]
jb 0x18007d4c5
cmp r13, qword [rcx + 0x198]
jae 0x18007d4c5
mov rax, qword [rcx + 0x188]
mov qword [r13], rax
mov qword [rcx + 0x188], r13
jmp 0x18007d4cd
mov rcx, r13
call fcn.180010010
mov eax, dword [rsp + 0x40]
cmp eax, 0x7d
je 0x18007d6a0
cmp eax, 0x7e
je 0x18007d6a0
mov rax, qword [rsi + 0x18]
movsxd r14, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r14d
jg 0x18007d512
mov r9d, dword [rsp + 0x48]
mov r8d, ebx
mov edx, ntohl
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.180032ba0
mov r14d, eax
jmp 0x18007d540
mov edx, dword [rsp + 0x48]
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd r13, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r13d
jg 0x18007d574
mov r9d, dword [rsp + 0x148]
lea r8d, [r12 + 1]
mov edx, reloc.WS2_32.dll_ntohl
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.180032ba0
mov r13d, eax
jmp 0x18007d5b1
lea eax, [r13 + 1]
mov dword [rsi + 0xb8], eax
lea edx, [r12 + 1]
mov rax, qword [rsi + 0x68]
lea rcx, [r13*2]
add rcx, r13
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x148]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d5d9
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.180032ba0
jmp 0x18007d600
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x138]
movzx edx, word [r10 + 0xa]
movzx ecx, word [r9 + 0xa]
cmp cx, dx
jl 0x18007d659
movsx r8d, dx
movsx edx, cx
lea eax, [r8 + 0x31]
cmp edx, eax
jg 0x18007d699
lea eax, [r8 + 0x1f]
cmp edx, eax
jle 0x18007d63d
inc cx
mov word [r9 + 0xa], cx
jmp 0x18007d6b8
sub edx, r8d
lea r8, str._n_n_t_t_b_b_a_a_a
movsxd rax, edx
movzx eax, byte [rax + r8]
add cx, ax
mov word [r9 + 0xa], cx
jmp 0x18007d6b8
movsx r8d, cx
movsx ecx, dx
lea eax, [r8 + 0x31]
cmp ecx, eax
jle 0x18007d672
movzx ecx, dx
mov word [r9 + 0xa], dx
jmp 0x18007d6b8
lea eax, [r8 + 0x1f]
cmp ecx, eax
jle 0x18007d684
lea ecx, [rdx + 1]
mov word [r9 + 0xa], cx
jmp 0x18007d6b8
sub ecx, r8d
lea r8, str._n_n_t_t_b_b_a_a_a
movsxd rax, ecx
movzx ecx, byte [rax + r8]
add cx, dx
mov word [r9 + 0xa], cx
jmp 0x18007d6b8
mov r14d, dword [rsp + 0x148]
mov r13d, r14d
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0x60]
mov eax, dword [rsp + 0x40]
cmp eax, 0x7e
jne 0x18007d6de
movzx eax, word [r10 + 0xa]
mov ebx, r14d
cmp word [r9 + 0xa], ax
jle 0x18007d7e0
mov word [r9 + 0xa], ax
jmp 0x18007d7e0
mov rax, qword [rsi + 0x18]
movsxd rbx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ebx
jg 0x18007d709
mov r9d, edi
mov dword [rsp + 0x20], ebp
mov r8d, r15d
mov edx, ntohl
mov rcx, rsi
call fcn.180032ba0
mov ebx, eax
jmp 0x18007d733
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d761
mov r9d, dword [rsp + 0x148]
mov r8d, r12d
mov edx, reloc.WS2_32.dll_ntohl
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007d792
mov edx, dword [rsp + 0x148]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d7ba
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.180032ba0
jmp 0x18007d7e0
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd r15, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r15d
jg 0x18007d80f
mov r9d, edi
mov dword [rsp + 0x20], ebp
lea r8d, [r12 + 2]
mov edx, ntohl
mov rcx, rsi
call fcn.180032ba0
mov r15d, eax
jmp 0x18007d83e
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0xb8], eax
lea edx, [r12 + 2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d867
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007d892
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d8bc
mov r9d, dword [rsp + 0x44]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xb]
call fcn.180032ba0
jmp 0x18007d8e6
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov eax, dword [rsp + 0x40]
cmp eax, 0x7c
jne 0x18007d8f7
mov edi, r15d
jmp 0x18007d9b5
cmp eax, 0x7e
jne 0x18007d907
mov edi, r15d
inc r15d
jmp 0x18007d9b5
mov rax, qword [rsi + 0x18]
movsxd rdi, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edi
jg 0x18007d932
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rsi
call fcn.180032ba0
mov edi, eax
jmp 0x18007d95d
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007d987
mov r9d, dword [rsp + 0x44]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xb]
call fcn.180032ba0
jmp 0x18007d9b1
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov eax, dword [rsp + 0x40]
movsxd r14, dword [rsi + 0xb8]
cmp eax, 0x7c
je 0x18007d9c6
cmp eax, 0x7b
jne 0x18007da1c
mov rax, qword [rsi + 0x18]
mov r8d, dword [rsp + 0x74]
cmp dword [rax + 0x3c], r14d
jg 0x18007d9ed
mov r9d, dword [rsp + 0x48]
mov edx, ntohl
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.180032ba0
jmp 0x18007da1c
mov edx, dword [rsp + 0x48]
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007da47
mov r9d, ebx
mov dword [rsp + 0x20], ebp
lea r8d, [r12 + 1]
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007da75
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
lea edx, [r12 + 1]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007da9f
mov r9d, dword [rsp + 0x44]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xb]
call fcn.180032ba0
jmp 0x18007dac9
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], ntohl
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsi + 0xb8]
test ecx, ecx
jns 0x18007dada
lea ecx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], bpl
je 0x18007daec
lea rax, [0x1803e55e8]
jmp 0x18007dafb
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007db27
mov r9d, r13d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007db52
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007db80
mov r8d, dword [rsp + 0x80]
mov r9d, ebx
mov edx, reloc.WS2_32.dll_ntohl
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007dbb0
mov edx, dword [rsp + 0x80]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x18007dbcf
mov eax, dword [rsp + 0x44]
not eax
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x18007dbf9
xor r9d, r9d
mov dword [rsp + 0x20], ebp
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x56]
call fcn.180032ba0
mov edx, eax
jmp 0x18007dc1c
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x56
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rsi]
cmp byte [rcx + 0x61], bpl
je 0x18007dc36
mov r8, qword [rsp + 0x68]
mov edx, 0xfffffff1
call fcn.180033be0
jmp 0x18007dc7f
test edx, edx
jns 0x18007dc42
mov edx, dword [rsi + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x18007dc6d
mov r8, qword [rsp + 0x68]
mov r9d, 0xfffffff1
mov rcx, rsi
call fcn.180033df0
jmp 0x18007dc7f
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x18007dc7f
mov qword [rdx + 0x10], rax
mov byte [rdx + 1], 0xf1
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0xc0]
mov r10d, dword [rsp + 0x58]
cmp dword [rax + 0x3c], edx
jg 0x18007dcba
mov edx, 0x57
mov dword [rsp + 0x20], r10d
mov rcx, rsi
call fcn.180032ba0
mov edx, eax
jmp 0x18007dce6
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x57
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rsi]
cmp byte [rcx + 0x61], bpl
je 0x18007dd03
mov r8, qword [rsp + 0x88]
mov edx, 0xfffffff7
call fcn.180033be0
jmp 0x18007dd52
test edx, edx
jns 0x18007dd0f
mov edx, dword [rsi + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x18007dd3d
mov r8, qword [rsp + 0x88]
mov r9d, 0xfffffff7
mov rcx, rsi
call fcn.180033df0
jmp 0x18007dd52
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x18007dd52
mov qword [rdx + 0x10], rax
mov byte [rdx + 1], 0xf7
mov eax, dword [rsi + 0xb8]
mov r12d, 1
test eax, eax
jle 0x18007dd75
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], r12w
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x18007dd9f
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov r8d, r15d
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.180032ba0
jmp 0x18007ddca
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WS2_32.dll_recv
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov r9, qword [rax + 0x50]
test r9, r9
je 0x18007dded
mov eax, dword [rsp + 0x148]
not eax
movsxd rdx, eax
mov eax, dword [rsi + 0xb8]
mov dword [r9 + rdx*4], eax
mov rbx, qword [rsp + 0x138]
mov rdx, qword [rbx + 0x50]
test rdx, rdx
je 0x18007de0b
mov rcx, qword [rsp + 0x50]
mov r8d, r12d
call fcn.1800773f0
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x130]
mov qword [rbx + 0x50], rax
mov qword [rax + 0x58], rbx
mov ecx, dword [rdx + 0x118]
test ecx, ecx
jne 0x18007de2e
mov eax, ebp
jmp 0x18007de6b
mov r8, qword [rdx + 0x10]
test ecx, ecx
jns 0x18007de3f
mov ecx, dword [r8 + 0xb8]
dec ecx
mov rax, qword [r8]
cmp byte [rax + 0x61], bpl
je 0x18007de51
lea rax, [0x1803e55e8]
jmp 0x18007de68
movsxd rcx, ecx
lea rdx, [rcx + rcx*2]
mov rcx, qword [r8 + 0x68]
lea rax, [rcx + rdx*8]
mov rdx, qword [rsp + 0x130]
mov eax, dword [rax + 8]
cmp dword [rdx + 0x30], ebp
mov dword [rdx + 0x118], eax
setne bpl
mov eax, ebp
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret