Function at 0x14006f600
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov r10, qword [rcx + 0x10]
xor edi, edi
mov r11, qword [rcx]
mov r9d, r8d
mov qword [rsp + 0x50], r10
mov rsi, rdx
mov dword [rbp + 0x60], r8d
mov rbx, rcx
mov dword [rbp + 0x78], edi
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x68], r11
test r10, r10
je 0x1400702cd
lea eax, [rdi + 0x65]
test rdx, rdx
je 0x14006f655
movzx eax, byte [rdx]
mov dword [rsp + 0x40], eax
add eax, 0xffffffed
cmp eax, 0x8c
ja case.0x14006f682.21
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x7070c]
mov ecx, dword [rdx + rax*4 + 0x706a8]
add rcx, rdx
jmp rcx
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], dil
jne 0x14006f6ab
mov edx, dword [rax + 0x14]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [rcx + 1], dil
je case.0x14006f682.154
mov r8d, dword [rcx + 8]
mov edx, Ordinal_50
mov dword [rsp + 0x20], r9d
mov rcx, r10
mov r9d, dword [rax + 0x10]
call fcn.140056030
jmp 0x140070694
mov ecx, dword [rsi + 0x2c]
test ecx, ecx
jns 0x14006f6f5
mov eax, dword [rbx + 0x68]
test eax, eax
jle 0x14006f6f2
movsx edx, word [rsi + 0x30]
add edx, eax
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, dword [rbx + 0x6c]
movzx eax, byte [rsi + 0x36]
movsx r8d, word [rsi + 0x30]
mov rdx, qword [rsi + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r9d
mov r9d, ecx
mov rcx, rbx
call fcn.14006f430
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.14006ef10
jmp 0x140070694
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov rcx, r10
call fcn.14006ee40
jmp 0x140070694
mov r8, qword [rsi + 8]
mov edx, r9d
mov rcx, r10
call fcn.1400560d0
jmp 0x140070694
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov rcx, r10
lea edx, [r8 + 0x1a]
call fcn.140056030
jmp 0x140070694
mov rdx, qword [rsi + 8]
or rsi, 0xffffffffffffffff
add rdx, 2
je 0x14006f79f
mov rdi, rsi
nop dword [rax + rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x14006f790
and edi, 0x3fffffff
mov rcx, qword [r10]
lea ebx, [rdi - 1]
mov r8d, ebx
call fcn.140039d90
mov r9d, dword [rbp + 0x70]
mov rdi, rax
mov rcx, qword [rsp + 0x50]
mov eax, ebx
cdq
mov dword [rsp + 0x20], 0
sub eax, edx
mov edx, Ordinal_30
sar eax, 1
mov r8d, eax
call fcn.140056030
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov r8, rdi
mov edx, eax
call fcn.140056aa0
jmp 0x140070694
movsx r8d, word [rsi + 0x30]
mov edx, Ordinal_33
mov rcx, r10
mov dword [rsp + 0x20], edi
call fcn.140056030
mov rax, qword [rsi + 8]
cmp byte [rax + 1], dil
je 0x140070694
movsx eax, word [rsi + 0x30]
dec eax
movsxd rcx, eax
mov rax, qword [rbx + 0x208]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x50]
mov r8, qword [rax + 8]
mov rcx, qword [rax]
test r8, r8
je 0x14006f891
cmp byte [rcx + 0x51], dil
jne 0x14006f891
mov eax, dword [rax + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140056780
mov edx, dword [rbp + 0x60]
mov qword [rbx + 0x10], rdi
test rsi, rsi
jne 0x14006f87b
mov qword [rbx + 0x10], rdi
mov eax, edx
mov byte [rbx + 1], dil
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbx + 0x10], rsi
mov eax, edx
mov byte [rbx + 1], 0xfe
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8, rsi
mov edx, 0xfffffffe
call fcn.140056780
jmp 0x140070694
mov edx, dword [rsi + 0x2c]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsi + 0x10]
mov rcx, rbx
call fcn.14006f600
mov ecx, eax
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x70]
cmp ecx, eax
je 0x14006f8eb
mov r8d, ecx
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x50]
mov r9d, eax
mov edx, reloc.WLDAP32.dll_Ordinal_32
call fcn.140056030
mov ecx, dword [rbp + 0x70]
mov dword [rbp + 0x60], ecx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.140078470
mov r8d, dword [rbp + 0x70]
mov edx, Ordinal_41
mov rcx, qword [rsp + 0x50]
movsx r9d, al
mov dword [rsp + 0x20], edi
call fcn.140056030
mov edx, dword [rbp + 0x60]
mov r8d, 1
mov rcx, rbx
call fcn.14006f1f0
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140070830
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140070830
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
mov ecx, dword [rbp + 0x70]
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x30], ecx
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.14006b950
jmp 0x14007019b
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140070830
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140070830
xor r9d, r9d
mov dword [rsp + 0x38], 0xa0
cmp dword [rsp + 0x40], 0x49
sete r9b
add r9d, 0x4e
jmp 0x14006f960
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140070830
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140070830
mov ecx, dword [rbp + 0x70]
mov r9d, edi
mov edx, dword [rsp + 0x40]
mov r8d, eax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x50]
call fcn.140056030
jmp 0x14007019b
mov rdx, qword [rsi + 0x10]
movzx eax, byte [rdx]
cmp al, 0x84
jne 0x14006fa28
mov r8d, 1
mov rcx, rbx
call fcn.14006ef10
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x60], eax
jmp 0x14007019b
cmp al, 0x85
jne 0x14006fa49
mov rdx, qword [rdx + 8]
mov r8d, 1
mov rcx, r10
call fcn.14006ee40
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x60], eax
jmp 0x14007019b
lea r8, [rbp + 0x78]
mov byte [rbp - 0x70], 0x84
lea rdx, [rbp - 0x70]
mov qword [rbp - 0x6c], 0x4400
mov rcx, rbx
call fcn.140070830
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rbx
mov edi, eax
call fcn.140070830
mov ecx, dword [rbp + 0x70]
mov r9d, edi
mov dword [rsp + 0x20], ecx
mov r8d, eax
mov rcx, qword [rsp + 0x50]
mov edx, 0x5a
call fcn.140056030
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x60], eax
jmp 0x14007019b
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140070830
mov ecx, dword [rbp + 0x70]
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov r9d, ecx
mov dword [rbp + 0x60], ecx
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], edi
call fcn.140056030
jmp 0x14007019b
mov edx, reloc.WS2_32.dll_socket
mov dword [rsp + 0x20], edi
mov rcx, r10
lea r8d, [rdx - 0x16]
call fcn.140056030
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.140070830
mov edx, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, eax
mov dword [rsp + 0x20], edi
call fcn.140056030
mov r9d, dword [rbp + 0x70]
xor esi, esi
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edi, eax
mov dword [rsp + 0x20], esi
lea edx, [rsi + 0x17]
call fcn.140056030
mov rcx, qword [rsp + 0x50]
mov edx, edi
call fcn.1400566e0
jmp 0x14007019d
mov rdx, qword [rsi + 0x38]
test rdx, rdx
jne 0x14006fb5d
mov r8, qword [rsi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rbx
call fcn.140038df0
jmp 0x140070694
movsx rax, word [rsi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov edx, dword [rax + rcx*8 + 0x10]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dword [rsi + 4], 0x4000
movzx r8d, byte [r11 + 0x4e]
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x70], rdi
je 0x14006fbaf
mov qword [rsp + 0x78], rdi
mov eax, edi
mov rdx, qword [rsi + 8]
mov dword [rbp + 0x78], eax
mov qword [rsp + 0x48], rdx
test rdx, rdx
jne 0x14006fbc1
mov ecx, edi
jmp 0x14006fbd4
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x78], rcx
test rcx, rcx
je 0x14006fb98
mov eax, dword [rcx]
jmp 0x14006fb9a
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], dil
jne 0x14006fbc5
and ecx, 0x3fffffff
mov qword [rsp + 0x60], rcx
mov r9d, eax
mov byte [rsp + 0x28], dil
mov byte [rsp + 0x20], r8b
mov r8d, ecx
mov rcx, r11
call fcn.14007e890
mov qword [rsp + 0x58], rax
mov r8, rax
test rax, rax
je 0x14006ff62
cmp qword [rax + 0x18], rdi
je 0x14006ff62
movzx eax, word [rax + 2]
mov ecx, 0x200
test cx, ax
je 0x14006fcd5
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.140056400
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
mov r8d, dword [rbp + 0x70]
mov dword [rsp + 0x40], eax
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.140070990
mov ecx, dword [rbp + 0x78]
cmp ecx, 1
jle 0x14007066a
lea edx, [rcx - 1]
mov qword [rbp + 0x78], Ordinal_41
mov qword [rsp + 0x68], rdx
nop dword [rax]
nop word [rax + rax]
mov r9d, dword [rsp + 0x40]
mov edx, Ordinal_79
mov r8d, dword [rbp + 0x70]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140056030
mov edx, dword [rbp + 0x70]
mov r8d, 1
mov rcx, rbx
call fcn.14006f1f0
inc dword [rbx + 0x70]
mov rcx, rbx
mov rax, qword [rsp + 0x78]
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x78]
mov rdx, qword [rax + rdx]
call fcn.140070990
mov rcx, rbx
call fcn.14006f250
add qword [rbp + 0x78], 0x28
sub qword [rsp + 0x68], 1
jne 0x14006fc70
jmp 0x14007066a
mov ecx, 0x400
test cx, ax
je 0x14006fd05
mov rax, qword [rsp + 0x78]
mov rcx, rbx
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx]
call fcn.14006f600
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, dword [rbp + 0x78]
mov eax, edi
mov dword [rsp + 0x48], eax
test ecx, ecx
jle 0x14006fd9f
mov rsi, qword [rsp + 0x78]
mov r8, rdi
mov qword [rsp + 0x60], rdi
cmp eax, 0x20
jge 0x14006fd50
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx + r8]
call fcn.14006d7f0
mov r8, qword [rsp + 0x60]
test eax, eax
mov eax, dword [rsp + 0x48]
je 0x14006fd4d
mov ecx, dword [rsp + 0x40]
bts ecx, eax
mov dword [rsp + 0x40], ecx
mov ecx, dword [rbp + 0x78]
mov rdx, qword [rsp + 0x58]
test byte [rdx + 2], 0x20
je 0x14006fd83
cmp qword [rsp + 0x70], rdi
jne 0x14006fd83
mov rdx, qword [rsi + 8]
mov rcx, rbx
mov rdx, qword [rdx + r8]
call fcn.14006b590
mov ecx, dword [rbp + 0x78]
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x48]
inc eax
add r8, 0x28
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x60], r8
cmp eax, ecx
jl 0x14006fd23
mov rsi, qword [rbp + 0x68]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14006fe2c
cmp dword [rsp + 0x40], edi
jne 0x14006fdd5
mov r9d, dword [rbx + 0x44]
mov r10d, dword [rbx + 0x48]
mov dword [rsp + 0x48], r10d
cmp ecx, r9d
jg 0x14006fdd5
lea eax, [r10 + rcx]
sub r9d, ecx
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], r9d
jmp 0x14006fde6
mov eax, dword [rbx + 0x54]
lea r10d, [rax + 1]
add eax, ecx
mov dword [rbx + 0x54], eax
mov dword [rsp + 0x48], r10d
test byte [r8 + 2], 0xc0
je 0x14006fe07
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
movzx eax, byte [rcx]
add al, 0x66
test al, 0xfd
jne 0x14006fe07
movzx eax, byte [r8 + 2]
and al, 0xc0
mov byte [rcx + 0x36], al
inc dword [rbx + 0x70]
xor r9d, r9d
mov r8d, r10d
mov byte [rsp + 0x20], 3
mov rcx, rbx
call fcn.140070b80
mov rcx, rbx
call fcn.14006f250
mov rdx, qword [rsp + 0x78]
jmp 0x14006fe30
mov dword [rsp + 0x48], edi
cmp dword [rbp + 0x78], 2
jl 0x14006fe60
test byte [rsi + 4], 0x80
je 0x14006fe60
mov r9, qword [rdx + 8]
mov esi, dword [rbp + 0x78]
mov r8d, esi
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov r9, qword [r9 + 0x28]
call fcn.1400a0f80
mov qword [rsp + 0x58], rax
jmp 0x14006fe8c
mov esi, dword [rbp + 0x78]
test esi, esi
jle 0x14006fe87
mov r9, qword [rdx + 8]
mov r8d, esi
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov r9, qword [r9]
call fcn.1400a0f80
mov qword [rsp + 0x58], rax
jmp 0x14006fe8c
mov rax, qword [rsp + 0x58]
test byte [rax + 2], 0x20
je 0x14006fed9
cmp qword [rsp + 0x70], rdi
jne 0x14006fea7
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x70], rax
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0x50]
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x22]
call fcn.140056030
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffffc
mov edx, eax
mov rcx, rdi
call fcn.140056aa0
jmp 0x14006fede
mov rdi, qword [rsp + 0x50]
mov eax, dword [rbp + 0x70]
mov edx, reloc.WLDAP32.dll_Ordinal_35
mov r9d, dword [rsp + 0x48]
mov rcx, rdi
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.140056030
mov r8, qword [rsp + 0x58]
mov r9d, 0xfffffffb
mov edx, eax
mov rcx, rdi
call fcn.140056aa0
mov rax, qword [rdi]
mov ecx, dword [rdi + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006ff28
lea rax, [0x140330198]
jmp 0x14006ff37
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], sil
test esi, esi
je 0x140070694
cmp dword [rsp + 0x40], 0
jne 0x140070694
mov edx, dword [rsp + 0x48]
mov r8d, esi
mov rcx, rbx
call fcn.140071fe0
jmp 0x140070694
mov r9, qword [rsp + 0x48]
lea rdx, str.unknown_function:__.s__
mov r8d, dword [rsp + 0x60]
mov rcx, rbx
call fcn.140038df0
jmp 0x140070694
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.14006e1d0
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, r10
call fcn.140056400
mov rcx, qword [rsp + 0x50]
mov dword [rbp + 0x78], eax
call fcn.140056400
mov r9d, dword [rbp + 0x70]
xor r8d, r8d
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x1a]
call fcn.140056030
mov r9d, dword [rsp + 0x40]
mov rdx, rsi
mov r8d, dword [rbp + 0x78]
mov rcx, rbx
call fcn.14006e820
mov rbx, qword [rsp + 0x50]
mov edx, reloc.WS2_32.dll_socket
mov esi, dword [rbp + 0x70]
mov rcx, rbx
mov r9d, esi
mov dword [rsp + 0x20], edi
lea r8d, [rdx - 0x16]
call fcn.140056030
mov r8, qword [rbx + 0x30]
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140070024
or eax, 0xffffffff
sub eax, dword [rbp + 0x78]
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
xor r9d, r9d
dec eax
mov dword [rsp + 0x20], edi
mov dword [r8 + 0x64], eax
mov rcx, rbx
mov r8d, esi
lea edx, [r9 + 0x25]
call fcn.140056030
mov rdx, qword [rbx + 0x30]
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x140070065
or rax, 0xffffffffffffffff
sub eax, dword [rsp + 0x40]
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rbx + 0x3c]
jmp 0x14007068f
mov rdi, qword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rax, qword [rsi + 0x20]
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x70], rdi
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
mov rsi, qword [rax]
mov qword [rsp + 0x68], rsi
call fcn.140070830
lea r8, [rsp + 0x48]
mov dword [rsp + 0x40], eax
mov rdx, rsi
mov rcx, rbx
call fcn.140070830
movzx ecx, byte [rbx + 0x1f]
mov edx, eax
test cl, cl
jne 0x1400700c0
inc dword [rbx + 0x54]
mov ecx, dword [rbx + 0x54]
jmp 0x1400700cc
dec cl
movzx eax, cl
mov byte [rbx + 0x1f], al
mov ecx, dword [rbx + rax*4 + 0x24]
movzx eax, byte [rbx + 0x1f]
mov dword [rsp + 0x58], ecx
test al, al
jne 0x1400700e0
inc dword [rbx + 0x54]
mov esi, dword [rbx + 0x54]
jmp 0x1400700ec
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov esi, dword [rbx + rax*4 + 0x24]
mov eax, dword [rsp + 0x40]
mov r9d, 0x53
mov r8, qword [rsp + 0x68]
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x30], ecx
mov rcx, rbx
mov dword [rsp + 0x28], edx
mov rdx, rdi
mov dword [rsp + 0x20], eax
call fcn.14006b950
mov rdi, qword [rsp + 0x60]
mov rcx, rbx
mov edx, dword [rsp + 0x48]
mov rdi, qword [rdi + 0x28]
call fcn.140071f90
lea r8, [rsp + 0x48]
mov rdx, rdi
call fcn.140070830
mov rdx, qword [rsp + 0x70]
mov r9d, 0x51
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
mov r8, rdi
mov dword [rsp + 0x30], esi
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.14006b950
mov eax, dword [rbp + 0x70]
mov r9d, esi
mov r8d, dword [rsp + 0x58]
mov edx, 0x48
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.140056030
mov edx, dword [rsp + 0x58]
mov rcx, rbx
call fcn.140071f90
mov edx, esi
call fcn.140071f90
xor esi, esi
cmp dword [rbp + 0x78], 0
je 0x1400701db
movzx r8d, byte [rbx + 0x1f]
cmp r8b, 8
jae 0x1400701db
mov ecx, esi
lea rax, [rbx + 0x88]
mov edx, dword [rbp + 0x78]
cmp dword [rax + 0xc], edx
je 0x1400701d7
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400701b7
movzx eax, r8b
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
jmp 0x1400701db
mov byte [rax + 6], 1
cmp dword [rsp + 0x48], 0
je 0x140070694
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x140070694
lea rax, [rbx + 0x88]
nop word [rax + rax]
mov ecx, dword [rsp + 0x48]
cmp dword [rax + 0xc], ecx
je 0x140070223
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x140070200
movzx eax, dl
mov dword [rbx + rax*4 + 0x24], ecx
inc byte [rbx + 0x1f]
jmp 0x140070694
mov byte [rax + 6], 1
jmp 0x140070694
mov rdx, qword [rsi + 0x10]
mov rcx, rbx
call fcn.14006f600
mov edx, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rbx, qword [rsi + 0x40]
mov edx, 0x86
movsx eax, word [rsi + 0x30]
mov dword [rsp + 0x20], edi
movsx ecx, word [rbx + 0x3e]
inc ecx
lea r8d, [rax + 1]
imul ecx, dword [rsi + 0x2c]
add r8d, ecx
mov rcx, r10
call fcn.140056030
movzx eax, word [rsi + 0x30]
test ax, ax
js 0x140070694
movsx rax, ax
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x140070694
mov r8d, dword [rbp + 0x70]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x27]
call fcn.140056030
jmp 0x140070694
cmp qword [rbx + 0x1c8], rdi
jne 0x1400702db
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rbx
call fcn.140038df0
xor eax, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [rsi + 1], 2
jne 0x1400702f6
mov rax, qword [rbx + 0x1c0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movzx eax, byte [rsi + 1]
cmp al, 4
jne 0x140070332
mov rbx, qword [rsi + 8]
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov rcx, r10
lea edx, [r9 + 0x12]
call fcn.140056030
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8, rbx
mov edx, eax
call fcn.140056aa0
jmp 0x140070694
mov rcx, qword [rsi + 8]
mov qword [rbp + 0x78], rcx
mov rcx, rbx
movsx esi, al
call fcn.140094390
mov qword [rsp + 0x68], rax
cmp esi, 2
jne 0x140070361
mov rcx, qword [rbx + 0x1c0]
test rcx, rcx
cmovne rbx, rcx
mov byte [rbx + 0x21], 1
mov r9d, esi
mov dword [rsp + 0x20], edi
mov edx, reloc.WS2_32.dll_shutdown
mov r8d, 0x713
mov rcx, rax
call fcn.140056030
mov r8, qword [rbp + 0x78]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov edx, eax
call fcn.140056aa0
jmp 0x140070694
mov rax, qword [rsi + 0x20]
mov rcx, r10
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x70], rdi
mov rdx, qword [rax + 8]
mov eax, dword [rax]
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x58], eax
call fcn.140056400
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x48], rdx
test rdx, rdx
je 0x14007042f
movups xmm0, xmmword [rdx]
lea r8, [rbp + 0x78]
mov rcx, rbx
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [rdx + 0x20]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rdx + 0x30]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rdx + 0x40]
movsd qword [rbp - 0x30], xmm0
call fcn.140070830
movzx ecx, byte [rbp - 0x70]
lea r10, [rbp - 0x20]
and dword [rbp - 0x6c], 0xffffefff
mov rdx, qword [rsp + 0x48]
mov dword [rbp - 0x44], eax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x10], rax
mov byte [rbp - 0x3a], cl
mov byte [rbp - 0x70], 0x9f
mov byte [rbp - 0x20], reloc.WLDAP32.dll_Ordinal_79
mov qword [rsp + 0x70], r10
jmp 0x140070432
mov r10, rdi
mov eax, dword [rsp + 0x58]
or r9, 0xffffffffffffffff
mov rsi, qword [rsp + 0x50]
dec eax
cdqe
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x68], 0xa
test rax, rax
jle 0x1400705dc
lea rcx, [rax - 1]
mov rax, qword [rsp + 0x60]
shr rcx, 1
inc rcx
mov qword [rsp + 0x78], rcx
nop dword [rax]
inc dword [rbx + 0x70]
test rdx, rdx
je 0x140070481
mov rax, qword [rax]
mov qword [rbp - 8], rax
jmp 0x140070489
mov r10, qword [rax]
mov qword [rsp + 0x70], r10
mov rcx, qword [rsi + 0x30]
mov qword [rsp + 0x50], rcx
mov r8d, dword [rcx + 0x78]
mov dword [rbp + 0x78], r8d
lea eax, [r8 + 1]
mov dword [rcx + 0x78], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x1400704e1
mov rdx, qword [rcx + 0x80]
lea eax, [r8*2 + 1]
mov rcx, qword [rcx]
movsxd r8, eax
shl r8, 2
call fcn.140036300
mov rcx, qword [rsp + 0x50]
or r9, 0xffffffffffffffff
mov r8d, dword [rbp + 0x78]
mov r10, qword [rsp + 0x70]
mov qword [rcx + 0x80], rax
mov rdx, qword [rcx + 0x80]
test rdx, rdx
je 0x1400704f4
movsxd rax, r8d
mov dword [rdx + rax*4], r9d
not r8d
mov r9d, reloc.WS2_32.dll_recv
mov rdx, r10
mov dword [rbp + 0x78], r8d
mov rcx, rbx
call fcn.140071340
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx + 0x28]
call fcn.140070990
mov r9d, dword [rsp + 0x40]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0xe]
call fcn.140056030
dec dword [rbx + 0x70]
lea rcx, [rbx + 0x94]
mov r8d, 0xa
nop dword [rax]
mov edx, dword [rcx]
test edx, edx
je 0x14007057c
mov eax, dword [rbx + 0x70]
cmp dword [rcx - 4], eax
jle 0x14007057c
cmp byte [rcx - 6], dil
je 0x14007057a
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140070576
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], dil
mov dword [rcx], edi
add rcx, 0x14
sub r8, 1
jne 0x140070550
mov rdx, qword [rsi + 0x30]
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x1400705a5
mov eax, dword [rbp + 0x78]
not eax
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
mov r9, 0xffffffffffffffff
mov r10, qword [rsp + 0x70]
dec eax
mov dword [rdx + 0x64], eax
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
add rax, 0x50
sub qword [rsp + 0x78], 1
mov qword [rsp + 0x60], rax
jne 0x140070470
mov rax, qword [rbp - 0x80]
test byte [rsp + 0x58], 1
je 0x140070653
inc dword [rbx + 0x70]
lea rax, [rax + rax*4]
mov rdx, qword [rbp - 0x78]
mov rcx, rbx
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rax*8]
call fcn.140070990
dec dword [rbx + 0x70]
lea rcx, [rbx + 0x94]
mov eax, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x140070642
mov eax, dword [rbx + 0x70]
cmp dword [rcx - 4], eax
jle 0x14007063d
cmp byte [rcx - 6], dil
je 0x14007063b
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140070637
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], dil
mov dword [rcx], edi
mov rax, qword [rsp + 0x68]
add rcx, 0x14
sub rax, 1
mov qword [rsp + 0x68], rax
jne 0x140070611
jmp 0x14007066a
mov r9d, dword [rbp + 0x70]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x1a]
call fcn.140056030
mov rdx, qword [rsi + 0x30]
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x14007068c
or rax, 0xffffffffffffffff
sub eax, dword [rsp + 0x40]
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
mov edx, dword [rbp + 0x60]
mov eax, edx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret