Function at 0x1401f3bec
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov r11, qword [rcx + 0x10]
xor r9d, r9d
mov dword [rbp + 0x68], r8d
mov rdi, rdx
mov qword [rsp + 0x40], r11
mov edx, r9d
mov dword [rsp + 0x48], edx
mov r10d, r8d
mov dword [rbp + 0x60], r9d
mov rbx, rcx
mov dword [rsp + 0x50], r9d
test r11, r11
jne 0x1401f3c3b
xor eax, eax
jmp 0x1401f4bd5
mov ecx, Ordinal_143
lea r8d, [rcx + 0x13]
test rdi, rdi
je 0x1401f4bbb
movzx esi, byte [rdi]
cmp esi, ecx
jg 0x1401f3cec
je 0x1401f40f7
cmp esi, 0x39
jle 0x1401f3e5f
cmp esi, 0x47
je 0x1401f3dc7
cmp esi, 0x4d
je 0x1401f3d5d
cmp esi, 0x5b
jle 0x1401f42f8
cmp esi, 0x65
jle 0x1401f3e9a
cmp esi, 0x66
je 0x1401f3d3c
cmp esi, 0x67
je 0x1401f3f58
cmp esi, 0x6a
je 0x1401f3d49
cmp esi, 0x6e
je 0x1401f4bbb
cmp esi, 0x7f
jne 0x1401f42f8
cmp esi, 0x7f
jne 0x1401f3f45
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
je 0x1401f3f45
mov r8d, dword [rcx]
lea r9d, [rsi - 0x7e]
mov rcx, rbx
lea rdx, str.sub_select_returns__d_columns___expected__d
call fcn.140225514
jmp 0x1401f4bd2
cmp esi, r8d
jle 0x1401f42a5
sub esi, 0xa1
je 0x1401f4239
sub esi, 1
je 0x1401f3d3c
sub esi, 1
je 0x1401f41d9
sub esi, 1
je 0x1401f41d1
sub esi, 1
je 0x1401f41bd
sub esi, 1
je 0x1401f4168
sub esi, 1
je 0x1401f410e
cmp esi, 2
jne 0x1401f42f8
mov rdi, qword [rdi + 0x10]
mov qword [rbp + 0x58], rdi
jmp 0x1401f3c44
mov r8, qword [rdi + 8]
mov edx, r10d
mov rcx, r11
call fcn.14020a16c
jmp 0x1401f4bd2
mov rbx, qword [rdi + 0x40]
mov edx, __WSAFDIsSet
movsx r8d, word [rdi + 0x30]
mov dword [rsp + 0x20], r9d
mov r9d, r10d
movsx ecx, word [rbx + 0x46]
inc ecx
imul ecx, dword [rdi + 0x2c]
inc ecx
add r8d, ecx
mov rcx, r11
call fcn.14020a23c
xor edx, edx
cmp word [rdi + 0x30], dx
jl 0x1401f4bd2
movsx rcx, word [rdi + 0x30]
mov rax, qword [rbx + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x19], 0x45
jne 0x1401f4bd2
mov r8d, dword [rbp + 0x68]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x54]
jmp 0x1401f4bcd
cmp qword [rbx + 0xa8], r9
jne 0x1401f3de4
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rbx
call fcn.140225514
jmp 0x1401f3c34
cmp byte [rdi + 1], 2
jne 0x1401f3dff
mov rax, qword [rbx + 0xa0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
cmp byte [rdi + 1], 4
jne 0x1401f3e3a
mov rbx, qword [rdi + 8]
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov rcx, r11
mov r9d, 4
lea edx, [r9 + 0x41]
call fcn.14020a23c
xor r9d, r9d
mov r8, rbx
mov rcx, qword [rsp + 0x40]
mov edx, eax
call fcn.140209698
jmp 0x1401f4bd2
movsx r8d, byte [rdi + 1]
mov edx, 0x713
mov byte [rsp + 0x28], r9b
mov rcx, rbx
mov byte [rsp + 0x20], r9b
mov r9, qword [rdi + 8]
call fcn.1401e7c40
jmp 0x1401f4bd2
cmp esi, 0x34
jge 0x1401f48f2
cmp esi, 0x2d
jg 0x1401f3f85
je 0x1401f48df
cmp esi, 0x13
je 0x1401f3f58
cmp esi, 0x14
je 0x1401f3cb8
cmp esi, 0x24
je 0x1401f3ee0
lea eax, [rsi - 0x2b]
cmp eax, 1
ja 0x1401f42f8
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x60]
mov rcx, rbx
call fcn.1401f3a40
mov rdx, qword [rdi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, qword [rbp + 0x50]
mov ebx, eax
call fcn.1401f3a40
mov edx, esi
mov ecx, dword [rbp + 0x68]
mov r8d, eax
mov dword [rsp + 0x20], ecx
mov r9d, ebx
mov rcx, qword [rsp + 0x40]
call fcn.14020a23c
mov rbx, qword [rbp + 0x50]
jmp 0x1401f4974
mov rdx, qword [rdi + 0x10]
mov r8d, r10d
mov rcx, rbx
call fcn.1401f3bec
mov ebx, dword [rbp + 0x68]
mov rsi, qword [rsp + 0x40]
mov dword [rbp + 0x60], eax
cmp eax, ebx
je 0x1401f3f19
and dword [rsp + 0x20], 0
mov r9d, ebx
mov r8d, eax
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov rcx, rsi
call fcn.14020a23c
mov dword [rbp + 0x60], ebx
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.1401ec300
and dword [rsp + 0x20], 0
mov r8d, ebx
movsx r9d, al
mov edx, 0x55
mov rcx, rsi
call fcn.14020a23c
mov eax, dword [rbp + 0x60]
jmp 0x1401f4bd5
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.1401f57bc
jmp 0x1401f4bd5
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x60]
mov rcx, rbx
call fcn.1401f3a40
mov r9d, dword [rbp + 0x68]
mov r8d, eax
mov rcx, qword [rsp + 0x40]
mov edx, esi
and dword [rsp + 0x20], 0
call fcn.14020a23c
jmp 0x1401f4974
cmp esi, 0x30
je 0x1401f40df
cmp esi, 0x31
je 0x1401f401c
lea eax, [rsi - 0x32]
cmp eax, 1
ja 0x1401f42f8
mov edx, 0x46
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov rcx, r11
lea r8d, [rdx - 0x45]
call fcn.14020a23c
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x60]
mov rcx, rbx
call fcn.1401f3a40
mov rdi, qword [rsp + 0x40]
xor r9d, r9d
and dword [rsp + 0x20], 0
mov rcx, rdi
mov r8d, eax
mov edx, esi
call fcn.14020a23c
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
and dword [rsp + 0x20], 0
mov rcx, rdi
mov ebx, eax
lea edx, [r8 + 0x46]
call fcn.14020a23c
mov edx, ebx
mov rcx, rdi
call fcn.1402095ec
mov r9, rax
mov eax, dword [rdi + 0xb8]
mov dword [r9 + 8], eax
jmp 0x1401f3ed7
mov rcx, r11
call fcn.140209d9c
mov rcx, qword [rsp + 0x40]
mov dword [rbp + 0x60], eax
call fcn.140209d9c
mov esi, dword [rbp + 0x68]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
mov r9d, esi
and dword [rsp + 0x20], 0
mov dword [rbp + 0x50], eax
lea edx, [r8 + 0x49]
call fcn.14020a23c
mov r9d, dword [rbp + 0x50]
mov rdx, rdi
mov r8d, dword [rbp + 0x60]
mov rcx, rbx
call fcn.1401f5048
mov rbx, qword [rsp + 0x40]
mov edx, 0x46
and dword [rsp + 0x20], 0
mov r9d, esi
mov rcx, rbx
lea r8d, [rdx - 0x45]
call fcn.14020a23c
mov rax, qword [rbx + 0x18]
or rdi, 0xffffffffffffffff
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1401f40a3
mov eax, edi
sub eax, dword [rbp + 0x60]
movsxd rcx, eax
mov eax, dword [rbx + 0xb8]
mov dword [rdx + rcx*4], eax
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0x53]
call fcn.14020a23c
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1401f4b80
sub edi, dword [rbp + 0x50]
mov eax, dword [rbx + 0xb8]
movsxd rcx, edi
mov dword [rdx + rcx*4], eax
jmp 0x1401f4b80
mov r8d, r10d
mov dword [rsp + 0x20], r9d
mov rdx, rdi
mov rcx, rbx
call fcn.1401f359c
jmp 0x1401f4bd2
mov rdx, qword [rdi + 8]
xor r8d, r8d
mov r9d, r10d
mov rcx, r11
call fcn.1401f4fb0
jmp 0x1401f4bd2
mov r8d, dword [rdi + 0x2c]
mov edx, reloc.WS2_32.dll_setsockopt
mov rcx, r11
mov dword [rsp + 0x20], r9d
call fcn.14020a23c
mov r8d, dword [rbp + 0x68]
mov ebx, eax
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbp + 0x50]
call fcn.1401f3bec
mov r9, qword [rsp + 0x40]
mov edx, ebx
mov rcx, r9
mov dword [rbp + 0x68], eax
call fcn.1402095ec
mov ecx, dword [r9 + 0xb8]
mov edx, ebx
mov dword [rax + 8], ecx
mov rcx, r9
call fcn.1402095ec
mov ecx, dword [rbp + 0x68]
mov dword [rax + 0xc], ecx
jmp 0x1401f4bd2
mov rdx, qword [rdi + 0x10]
cmp dword [rdx + 0x2c], r9d
jne 0x1401f4184
xor r8d, r8d
mov rcx, rbx
call fcn.1401f57bc
mov rcx, qword [rdi + 0x10]
mov dword [rcx + 0x2c], eax
mov r8d, dword [rdi + 0x2c]
test r8d, r8d
je 0x1401f41ad
mov rcx, qword [rdi + 0x10]
call fcn.1401f8544
cmp r8d, eax
je 0x1401f41ad
mov r9d, eax
lea rdx, str._d_columns_assigned__d_values
mov rcx, rbx
call fcn.140225514
mov rcx, qword [rdi + 0x10]
movsx eax, word [rdi + 0x30]
add eax, dword [rcx + 0x2c]
jmp 0x1401f4bd5
lea rdx, str.row_value_misused
mov rcx, rbx
call fcn.140225514
jmp 0x1401f4bd2
mov eax, dword [rdi + 0x2c]
jmp 0x1401f4bd5
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x60]
mov rcx, rbx
call fcn.1401f3a40
mov rcx, qword [rdi + 0x18]
xor r9d, r9d
cmp byte [rdi + 0x36], 0x2d
mov rdx, qword [rcx + 8]
mov ecx, r9d
mov r8b, byte [rdx + 4]
mov edx, r9d
sete dl
test r8b, r8b
sete cl
xor edx, ecx
mov ecx, r9d
mov r9d, dword [rbp + 0x68]
test r8b, r8b
mov dword [rsp + 0x28], edx
mov r8d, eax
setne cl
mov edx, PathGetShortPath
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x40]
call fcn.140209e38
jmp 0x1401f4974
mov rdx, qword [rdi + 0x10]
cmp byte [rdx], 0x8f
jne 0x1401f4258
mov r8d, 1
mov r9d, r10d
mov rcx, rbx
call fcn.1401f4e8c
jmp 0x1401f4bd2
cmp byte [rdx], cl
jne 0x1401f426b
mov rdx, qword [rdx + 8]
mov r8d, 1
jmp 0x1401f40fe
lea r8, [rbp + 0x60]
mov byte [rbp - 0x80], reloc.WLDAP32.dll_Ordinal_143
lea rdx, [rbp - 0x80]
mov qword [rbp - 0x7c], 0x4400
mov rcx, rbx
call fcn.1401f3a40
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, qword [rbp + 0x50]
mov ebx, eax
call fcn.1401f3a40
mov edx, 0x61
jmp 0x1401f3ec0
je 0x1401f4a93
mov ecx, esi
sub ecx, 0x8e
je 0x1401f4a31
sub ecx, 1
je 0x1401f4a26
sub ecx, 1
je 0x1401f49d1
sub ecx, 0xb
je 0x1401f49b8
sub ecx, 1
je 0x1401f48df
sub ecx, 1
je 0x1401f4508
sub ecx, 1
je 0x1401f4ace
cmp ecx, 1
je 0x1401f44d1
mov rax, qword [rdi + 0x20]
mov rcx, r11
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x78], rax
mov esi, dword [rax]
lea rdx, [rax + 8]
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x48], esi
call fcn.140209d9c
mov rcx, qword [rdi + 0x10]
xor edx, edx
mov dword [rbp + 0x50], eax
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x1401f43a6
movups xmm0, xmmword [rcx]
lea r8, [rbp + 0x60]
lea rdx, [rbp - 0x80]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rcx + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rcx + 0x30]
movaps xmmword [rbp - 0x50], xmm1
movsd xmm0, qword [rcx + 0x40]
mov rcx, rbx
movsd qword [rbp - 0x40], xmm0
call fcn.1401f4be8
mov cl, byte [rbp - 0x80]
xor edx, edx
btr dword [rbp - 0x7c], 0xc
mov byte [rbp - 0x4a], cl
lea rcx, [rbp - 0x30]
mov byte [rbp - 0x80], 0xa4
lea r8d, [rdx + 0x48]
mov dword [rbp - 0x54], eax
call fcn.14011d670
mov rcx, qword [rsp + 0x58]
lea rax, [rbp - 0x80]
mov qword [rbp - 0x20], rax
xor edx, edx
lea rax, [rbp - 0x30]
mov byte [rbp - 0x30], 0x35
mov qword [rsp + 0x60], rax
mov edi, dword [rbp + 0x68]
lea eax, [rsi - 1]
mov rsi, qword [rsp + 0x40]
cdqe
mov qword [rsp + 0x50], rax
test rax, rax
jle 0x1401f447c
dec rax
shr rax, 1
inc rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
test rcx, rcx
je 0x1401f43e2
mov qword [rbp - 0x18], rax
jmp 0x1401f43e7
mov qword [rsp + 0x60], rax
mov rcx, rsi
call fcn.140209d9c
mov rdx, qword [rsp + 0x60]
mov r9d, reloc.WS2_32.dll_recv
mov r8d, eax
mov dword [rbp + 0x60], eax
mov rcx, rbx
call fcn.1401f2ecc
mov rdx, qword [rsp + 0x68]
mov r8d, edi
mov rcx, rbx
mov rdx, qword [rdx + 0x28]
call fcn.1401f39dc
mov r9d, dword [rbp + 0x50]
xor r8d, r8d
and dword [rsp + 0x20], 0
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.14020a23c
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1401f4453
or eax, 0xffffffff
sub eax, dword [rbp + 0x60]
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x68]
mov edx, 0
mov rcx, qword [rsp + 0x58]
add rax, 0x50
sub qword [rsp + 0x70], 1
mov qword [rsp + 0x68], rax
jne 0x1401f43d4
mov rax, qword [rsp + 0x50]
test byte [rsp + 0x48], 1
je 0x1401f449e
lea rdx, [rax + rax*4]
mov r8d, edi
mov rax, qword [rsp + 0x78]
mov rcx, rbx
mov rdx, qword [rax + rdx*8 + 8]
call fcn.1401f39dc
jmp 0x1401f44b4
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rcx, rsi
lea edx, [r8 + 0x49]
call fcn.14020a23c
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1401f4bd2
or rax, 0xffffffffffffffff
sub eax, dword [rbp + 0x50]
jmp 0x1401f4665
mov rdx, qword [rdi + 0x38]
test rdx, rdx
jne 0x1401f44f2
mov r8, qword [rdi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rbx
call fcn.140225514
jmp 0x1401f4bd2
movsx rax, word [rdi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov eax, dword [rax + rcx*8 + 0x10]
jmp 0x1401f4bd5
test dword [rdi + 4], 0x1000000
mov rcx, qword [rbx]
mov dword [rbp + 0x50], r9d
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r9
mov dl, byte [rcx + 0x5e]
mov byte [rbp + 0x60], dl
je 0x1401f4534
mov rax, qword [rdi + 0x40]
mov eax, dword [rax + 0x50]
jmp 0x1401f4bd5
cmp byte [rbx + 0x23], r9b
je 0x1401f456c
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 2]
call fcn.1401f68fc
xor r9d, r9d
test eax, eax
je 0x1401f4564
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, rbx
call fcn.1401f3b0c
jmp 0x1401f4bd5
mov rcx, qword [rsp + 0x60]
mov dl, byte [rbp + 0x60]
test dword [rdi + 4], 0x4000
je 0x1401f4676
mov qword [rsp + 0x58], r9
mov esi, r9d
mov dword [rsp + 0x50], r9d
mov rax, qword [rdi + 8]
mov r8d, esi
mov byte [rsp + 0x20], r9b
mov r9b, dl
mov rdx, rax
mov qword [rsp + 0x78], rax
call fcn.1401e6d54
xor r8d, r8d
mov qword [rsp + 0x48], rax
mov r10, rax
test rax, rax
je 0x1401f48ce
cmp qword [rax + 0x20], r8
jne 0x1401f48ce
test dword [rax + 4], 0x200
je 0x1401f4693
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.140209d9c
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
mov edi, dword [rbp + 0x68]
mov r8d, edi
mov dword [rbp + 0x60], eax
mov rdx, qword [rdx + 8]
call fcn.1401f39dc
mov r8d, dword [rsp + 0x50]
cmp r8d, 1
jle 0x1401f464d
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rbp + 0x50], rax
lea eax, [r8 - 1]
mov qword [rsp + 0x60], rax
mov r9d, dword [rbp + 0x60]
mov r8d, edi
and dword [rsp + 0x20], 0
mov edx, 0x33
mov rcx, rsi
call fcn.14020a23c
mov rdx, qword [rbp + 0x50]
mov r8d, edi
mov rcx, rbx
mov rdx, qword [rdx]
call fcn.1401f39dc
add qword [rbp + 0x50], 0x28
sub qword [rsp + 0x60], 1
jne 0x1401f4615
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1401f4bd2
or rax, 0xffffffffffffffff
sub eax, dword [rbp + 0x60]
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
jmp 0x1401f4bd2
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1401f457e
mov esi, dword [rax]
mov dword [rsp + 0x50], esi
jmp 0x1401f4586
test dword [rax + 4], 0x400
je 0x1401f46b6
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov r8d, dword [rbp + 0x68]
mov rdx, qword [rax + 8]
call fcn.1401f3bec
jmp 0x1401f4bd5
mov ecx, r8d
mov dword [rbp + 0x60], ecx
test esi, esi
jle 0x1401f4749
mov rax, qword [rsp + 0x58]
mov edi, ecx
add rax, 8
mov qword [rsp + 0x70], rax
cmp ecx, 0x20
jge 0x1401f46ff
mov rcx, qword [rax]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.1401f68fc
mov ecx, dword [rbp + 0x60]
xor r8d, r8d
mov r10, qword [rsp + 0x48]
test eax, eax
mov rax, qword [rsp + 0x70]
je 0x1401f46ff
bts edi, ecx
test byte [r10 + 4], 0x20
je 0x1401f472a
cmp qword [rsp + 0x68], r8
jne 0x1401f472a
mov rdx, qword [rax]
mov rcx, rbx
call fcn.1401f8844
mov r10, qword [rsp + 0x48]
mov ecx, dword [rbp + 0x60]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x70]
inc ecx
add rax, 0x28
mov dword [rbp + 0x60], ecx
mov r8d, 0
mov qword [rsp + 0x70], rax
cmp ecx, esi
jl 0x1401f46d4
mov dword [rbp + 0x50], edi
mov rdi, qword [rbp + 0x58]
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1401f47ba
cmp dword [rbp + 0x50], r8d
je 0x1401f476b
mov eax, dword [rbx + 0x38]
lea r8d, [rax + 1]
add eax, esi
mov dword [rbx + 0x38], eax
mov dword [rbp + 0x60], r8d
jmp 0x1401f4780
mov edx, esi
mov rcx, rbx
call fcn.1401f2334
mov rdx, qword [rsp + 0x58]
mov r8d, eax
mov dword [rbp + 0x60], eax
test byte [r10 + 4], 0xc0
je 0x1401f47a0
mov r9, qword [rdx + 8]
mov cl, byte [r9]
add cl, 0x62
test cl, 0xfd
jne 0x1401f47a0
mov al, byte [r10 + 4]
and al, 0xc0
mov byte [r9 + 0x36], al
xor r9d, r9d
mov byte [rsp + 0x20], 3
mov rcx, rbx
call fcn.1401f3710
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
jmp 0x1401f47be
mov dword [rbp + 0x60], r8d
cmp esi, 2
jl 0x1401f47f0
mov ecx, 0x80
test byte [rdi + 4], cl
je 0x1401f47f0
mov r9, qword [rdx + 0x30]
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
mov r8d, esi
mov rcx, rdi
call fcn.1401cac60
mov qword [rsp + 0x48], rax
xor r8d, r8d
jmp 0x1401f4804
mov rdi, qword [rsp + 0x60]
test esi, esi
jle 0x1401f47ff
mov r9, qword [rdx + 8]
jmp 0x1401f47d6
mov rax, qword [rsp + 0x48]
test byte [rax + 4], 0x20
je 0x1401f484d
cmp qword [rsp + 0x68], r8
jne 0x1401f481a
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x68], rax
mov rsi, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov rcx, rsi
xor r8d, r8d
lea edx, [r9 + 0x52]
call fcn.14020a23c
mov r8, qword [rsp + 0x68]
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, rsi
call fcn.140209698
jmp 0x1401f4852
mov rsi, qword [rsp + 0x40]
mov eax, dword [rbx + 0x44]
mov rcx, rsi
mov edi, dword [rbp + 0x68]
neg eax
mov r9d, dword [rbp + 0x60]
mov r8d, dword [rbp + 0x50]
sbb edx, edx
add edx, 0x3f
mov dword [rsp + 0x20], edi
call fcn.14020a23c
mov r8, qword [rsp + 0x48]
mov r9d, 0xfffffff8
mov edx, eax
mov rcx, rsi
call fcn.140209698
mov eax, dword [rsi + 0xb8]
xor r10d, r10d
mov r8d, dword [rsp + 0x50]
test eax, eax
jle 0x1401f48b1
dec eax
movzx r9d, r8b
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], r9w
test r8d, r8d
je 0x1401f48c7
cmp dword [rbp + 0x50], r10d
jne 0x1401f48c7
mov edx, dword [rbp + 0x60]
mov rcx, rbx
call fcn.1401f2300
mov eax, edi
jmp 0x1401f4bd5
mov r8, qword [rsp + 0x78]
lea rdx, str.unknown_function:__s__
jmp 0x1401f44e5
sub esi, 0x2d
mov edx, 0x80
neg esi
mov dword [rsp + 0x48], edx
sbb esi, esi
add esi, 0x35
mov r9, qword [rdi + 0x10]
mov rcx, r9
mov qword [rsp + 0x78], r9
call fcn.1401f8544
mov rcx, rbx
cmp eax, 1
jle 0x1401f4922
mov byte [rsp + 0x20], dl
mov r9b, sil
mov rdx, rdi
mov r8d, r10d
call fcn.1401f8180
jmp 0x1401f4bd2
lea r8, [rbp + 0x60]
mov rdx, r9
call fcn.1401f3a40
mov rdx, qword [rdi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, qword [rbp + 0x50]
mov ebx, eax
call fcn.1401f3a40
mov ecx, dword [rsp + 0x48]
mov r9d, esi
mov r8, qword [rdi + 0x18]
or ecx, 0x20
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp + 0x68]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov rbx, qword [rbp + 0x50]
mov rcx, rbx
call fcn.1401f8594
mov ecx, dword [rbp + 0x60]
test ecx, ecx
je 0x1401f498f
cmp byte [rbx + 0x1f], 8
jae 0x1401f498f
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xc4], ecx
inc byte [rbx + 0x1f]
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x1401f4bd2
cmp byte [rbx + 0x1f], 8
jae 0x1401f4bd2
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xc4], ecx
inc byte [rbx + 0x1f]
jmp 0x1401f4bd2
mov rax, qword [rdi + 8]
mov r8d, r9d
mov edx, 0x46
cmp byte [rax + 4], r9b
sete r8b
jmp 0x1401f4bc2
movsx r8d, word [rdi + 0x30]
mov edx, Ordinal_79
mov dword [rsp + 0x20], r9d
mov rcx, r11
mov r9d, r10d
call fcn.14020a23c
mov rax, qword [rdi + 8]
cmp byte [rax + 1], 0
je 0x1401f4bd2
mov r10, qword [rbx + 0x120]
movsx edx, word [rdi + 0x30]
mov rcx, r10
call fcn.1402242a4
mov rcx, qword [rsp + 0x40]
or r8d, 0xffffffff
and dword [r10], 0
mov rdx, rax
call fcn.140209658
jmp 0x1401f4bd2
xor r8d, r8d
mov rdx, rdi
jmp 0x1401f4248
mov rdx, qword [rdi + 8]
add rdx, 2
jne 0x1401f4a40
mov eax, r9d
jmp 0x1401f4a52
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r9b
jne 0x1401f4a44
and eax, 0x3fffffff
mov rcx, qword [r11]
lea ebx, [rax - 1]
mov r8d, ebx
call fcn.140224720
and dword [rsp + 0x20], 0
mov rdi, rax
mov r9d, dword [rbp + 0x68]
mov eax, ebx
mov rcx, qword [rsp + 0x40]
cdq
sub eax, edx
mov edx, Ordinal_79
sar eax, 1
mov r8d, eax
call fcn.14020a23c
mov r9d, 0xfffffff9
mov r8, rdi
jmp 0x1401f3e29
mov rcx, qword [rdi + 0x38]
movsx rax, word [rdi + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], r9b
jne 0x1401f4ab1
mov eax, dword [rax + 0x14]
jmp 0x1401f4bd5
cmp byte [rcx + 1], r9b
je 0x1401f4ace
mov r9d, dword [rax + 0x10]
mov edx, PathGetShortPath
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], r10d
jmp 0x1401f4bca
test byte [rdi + 4], 8
mov r9d, dword [rdi + 0x2c]
je 0x1401f4b84
mov rdx, qword [rdi + 0x10]
mov r8d, r10d
mov rcx, rbx
call fcn.1401f3bec
mov esi, eax
xor ecx, ecx
movsx rax, word [rdi + 0x30]
test eax, eax
js 0x1401f4b11
mov rcx, qword [rdi + 0x40]
mov r8, rax
shl r8, 5
mov rdx, qword [rcx + 8]
xor ecx, ecx
movsx eax, byte [r8 + rdx + 0x19]
jmp 0x1401f4b16
mov eax, 0x44
movsx edi, al
cmp edi, 0x41
je 0x1401f4b80
mov ebx, dword [rbp + 0x68]
cmp esi, ebx
je 0x1401f4b40
mov dword [rsp + 0x20], ecx
mov r9d, ebx
mov rcx, qword [rsp + 0x40]
mov r8d, esi
mov edx, reloc.WLDAP32.dll_Ordinal_79
call fcn.14020a23c
mov esi, ebx
mov rcx, qword [rsp + 0x40]
mov r9d, 1
and dword [rsp + 0x20], 0
mov r8d, esi
lea edx, [r9 + 0x5a]
call fcn.14020a23c
lea ecx, [rdi*2 - 0x84]
or r9d, 0xffffffff
movsxd r8, ecx
mov edx, eax
lea rcx, str.BCDE
add r8, rcx
mov rcx, qword [rsp + 0x40]
call fcn.140209698
mov eax, esi
jmp 0x1401f4bd5
test r9d, r9d
jns 0x1401f4b9c
mov ecx, dword [rbx + 0x44]
test ecx, ecx
jns 0x1401f4b98
movsx eax, word [rdi + 0x30]
sub eax, ecx
jmp 0x1401f4bd5
lea r9d, [rcx - 1]
mov al, byte [rdi + 0x36]
mov rcx, rbx
movsx r8d, word [rdi + 0x30]
mov rdx, qword [rdi + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r10d
call fcn.1401f4cdc
jmp 0x1401f4bd5
xor r8d, r8d
lea edx, [r8 + 0x49]
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov rcx, r11
call fcn.14020a23c
mov eax, dword [rbp + 0x68]
add rsp, 0x128
pop rdi
pop rsi
pop rbx
pop rbp
ret