Function at 0x180045760
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 - 0x38]
sub rsp, 0x138
mov r11, qword [rcx + 0x10]
xor r9d, r9d
mov dword [rbp + 0x78], r8d
mov r10d, r8d
mov qword [rsp + 0x48], r11
mov rsi, rdx
mov dword [rbp + 0x70], r9d
mov rbx, rcx
mov dword [rsp + 0x40], r9d
mov r8d, r9d
mov dword [rsp + 0x50], r9d
test r11, r11
jne 0x1800457b0
xor eax, eax
jmp 0x1800467ef
mov ecx, 0x94
mov edx, 2
test rsi, rsi
je 0x1800467d7
movzx edi, byte [rsi]
cmp edi, ecx
jg 0x180045867
je 0x180045c1a
mov eax, 0x86
cmp edi, 0x39
jle 0x1800459bc
cmp edi, 0x47
je 0x180045934
cmp edi, 0x4d
je 0x1800458da
cmp edi, 0x62
jle 0x180045e3d
cmp edi, 0x6c
jle 0x1800459f7
cmp edi, 0x6d
je 0x1800458b9
cmp edi, 0x6e
je 0x180045ab4
cmp edi, 0x71
je 0x1800458c6
cmp edi, 0x75
je 0x1800467d7
cmp edi, eax
jne 0x180045e3d
cmp edi, eax
jne 0x180045aa4
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
je 0x180045aa4
mov r8d, dword [rcx]
lea rdx, str.sub_select_returns__d_columns___expected__d
mov rcx, rbx
mov r9d, 1
call fcn.180018c50
jmp 0x1800467ec
cmp edi, 0xa7
jle 0x180045dea
sub edi, 0xa8
je 0x180045d7e
sub edi, 1
je 0x1800458b9
sub edi, 1
je 0x180045d0b
sub edi, 1
je 0x180045d03
sub edi, 1
je 0x180045cef
sub edi, 1
je 0x180045c9d
sub edi, 1
je 0x180045c2e
cmp edi, edx
jne 0x180045e3d
mov rsi, qword [rsi + 0x10]
mov qword [rbp + 0x68], rsi
jmp 0x1800457ba
mov r8, qword [rsi + 8]
mov edx, r10d
mov rcx, r11
call fcn.180031678
jmp 0x1800467ec
mov rbx, qword [rsi + 0x40]
mov edx, 0x95
movsx r8d, word [rsi + 0x2c]
mov dword [rsp + 0x20], r9d
mov r9d, r10d
movsx ecx, word [rbx + 0x46]
inc ecx
imul ecx, dword [rsi + 0x28]
inc ecx
add r8d, ecx
mov rcx, r11
call fcn.1800315fc
xor edx, edx
cmp word [rsi + 0x2c], dx
jl 0x1800467ec
movsx rcx, word [rsi + 0x2c]
mov rax, qword [rbx + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x19], 0x45
jne 0x1800467ec
mov dword [rsp + 0x20], edx
jmp 0x1800462b9
cmp qword [rbx + 0x98], r9
jne 0x180045951
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rbx
call fcn.180018c50
jmp 0x1800457a9
cmp byte [rsi + 1], dl
jne 0x18004596b
mov rax, qword [rbx + 0x90]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
cmp byte [rsi + 1], 4
jne 0x180045997
mov rbx, qword [rsi + 8]
mov rcx, r11
mov dword [rsp + 0x20], r9d
mov r9d, 4
lea edx, [r9 + 0x41]
call fcn.1800315fc
xor r9d, r9d
mov r8, rbx
jmp 0x18004640e
movsx r8d, byte [rsi + 1]
mov edx, 0x713
mov byte [rsp + 0x28], r9b
mov rcx, rbx
mov byte [rsp + 0x20], r9b
mov r9, qword [rsi + 8]
call fcn.1800521d4
jmp 0x1800467ec
cmp edi, 0x34
jge 0x180046059
cmp edi, 0x2d
jg 0x180045ae1
je 0x180046044
cmp edi, 0x13
je 0x180045ab4
cmp edi, 0x14
je 0x180045832
cmp edi, 0x24
je 0x180045a3f
lea eax, [rdi - 0x2b]
cmp eax, 1
ja 0x180045e3d
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rbx
call fcn.1800468dc
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x40]
mov rcx, qword [rbp + 0x60]
mov ebx, eax
call fcn.1800468dc
mov edx, edi
mov r8d, dword [rbp + 0x78]
mov r9d, ebx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x20], r8d
mov r8d, eax
call fcn.1800315fc
mov rbx, qword [rbp + 0x60]
jmp 0x1800460db
mov rdx, qword [rsi + 0x10]
mov r8d, r10d
mov rcx, rbx
call fcn.180045760
mov ebx, dword [rbp + 0x78]
mov rdi, qword [rsp + 0x48]
mov dword [rbp + 0x70], eax
cmp eax, ebx
je 0x180045a78
and dword [rsp + 0x20], 0
mov r9d, ebx
mov r8d, eax
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov rcx, rdi
call fcn.1800315fc
mov dword [rbp + 0x70], ebx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.18004dac0
and dword [rsp + 0x20], 0
mov r8d, ebx
movsx r9d, al
mov edx, Ordinal_88
mov rcx, rdi
call fcn.1800315fc
mov eax, dword [rbp + 0x70]
jmp 0x1800467ef
mov rdx, rsi
mov rcx, rbx
call fcn.1800449ec
jmp 0x1800467ef
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rbx
call fcn.1800468dc
mov r9d, dword [rbp + 0x78]
mov r8d, eax
mov rcx, qword [rsp + 0x48]
mov edx, edi
and dword [rsp + 0x20], 0
call fcn.1800315fc
jmp 0x1800460db
cmp edi, 0x30
je 0x180045c02
cmp edi, 0x31
je 0x180045b77
lea eax, [rdi - 0x32]
cmp eax, 1
ja 0x180045e3d
mov edx, Ordinal_73
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov rcx, r11
lea r8d, [rdx - 0x45]
call fcn.1800315fc
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rbx
call fcn.1800468dc
mov edx, edi
xor esi, esi
mov rdi, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov r8d, eax
call fcn.1800315fc
mov r9d, dword [rbp + 0x78]
lea edx, [rsi + 0x46]
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov rcx, rdi
mov ebx, eax
call fcn.1800315fc
mov edx, ebx
mov rcx, rdi
call fcn.180031fa4
mov r9, rax
mov eax, dword [rdi + 0x90]
mov dword [r9 + 8], eax
jmp 0x180045a36
mov ebx, dword [rbx + 0x44]
mov edx, reloc.WLDAP32.dll_Ordinal_73
mov rax, qword [rbp + 0x60]
mov rcx, r11
mov dword [rsp + 0x20], r9d
mov r9d, r10d
lea edi, [rbx - 2]
mov dword [rax + 0x44], edi
call fcn.1800315fc
mov rcx, qword [rbp + 0x60]
lea r8d, [rbx - 1]
mov r9d, edi
mov rdx, rsi
call fcn.180044d00
mov esi, dword [rbp + 0x78]
mov edx, Ordinal_73
mov rcx, qword [rsp + 0x48]
mov r9d, esi
and dword [rsp + 0x20], 0
lea r8d, [rdx - 0x45]
call fcn.1800315fc
lea edx, [rbx - 1]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1800319f0
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0x53]
call fcn.1800315fc
mov edx, edi
mov rcx, rbx
call fcn.1800319f0
mov eax, esi
jmp 0x1800467ef
mov r8d, r10d
mov dword [rsp + 0x20], r9d
mov rdx, rsi
mov rcx, rbx
call fcn.180046c3c
jmp 0x1800467ec
mov rdx, qword [rsi + 8]
mov r9d, r10d
mov rcx, r11
call fcn.180045414
jmp 0x1800467ec
mov r8d, dword [rsi + 0x28]
mov edx, SQLAllocHandle
mov dil, byte [rbx + 0x23]
mov rcx, r11
mov dword [rsp + 0x20], r9d
call fcn.1800315fc
mov r8d, dword [rbp + 0x78]
mov ebx, eax
mov rax, qword [rbp + 0x60]
mov rcx, rax
mov byte [rax + 0x23], 0
mov rdx, qword [rsi + 0x10]
call fcn.180045760
mov r9, qword [rsp + 0x48]
mov edx, ebx
mov dword [rbp + 0x78], eax
mov rcx, r9
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x23], dil
call fcn.180031fa4
mov ecx, dword [r9 + 0x90]
mov edx, ebx
mov dword [rax + 8], ecx
mov rcx, r9
call fcn.180031fa4
mov r8d, dword [rbp + 0x78]
mov dword [rax + 0xc], r8d
jmp 0x1800467ec
mov rdx, qword [rsi + 0x10]
cmp dword [rdx + 0x28], r9d
jne 0x180045cb6
mov rcx, rbx
call fcn.1800449ec
mov rcx, qword [rsi + 0x10]
mov dword [rcx + 0x28], eax
mov r8d, dword [rsi + 0x28]
test r8d, r8d
je 0x180045cdf
mov rcx, qword [rsi + 0x10]
call fcn.1800420f8
cmp r8d, eax
je 0x180045cdf
mov r9d, eax
lea rdx, str._d_columns_assigned__d_values
mov rcx, rbx
call fcn.180018c50
mov rcx, qword [rsi + 0x10]
movsx eax, word [rsi + 0x2c]
add eax, dword [rcx + 0x28]
jmp 0x1800467ef
lea rdx, str.row_value_misused
mov rcx, rbx
call fcn.180018c50
jmp 0x1800467ec
mov eax, dword [rsi + 0x28]
jmp 0x1800467ef
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rbx
call fcn.1800468dc
mov r10d, eax
xor r8d, r8d
mov rax, qword [rsi + 0x18]
jmp 0x180045d34
test dword [rax + 4], 0x1000
je 0x180045d39
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180045d27
mov rax, qword [rax + 8]
mov edx, r8d
mov r9d, dword [rbp + 0x78]
mov ecx, r8d
cmp byte [rax + 4], r8b
mov eax, r8d
mov r8d, r10d
sete dl
cmp byte [rsi + 0x32], 0x2d
sete cl
xor ecx, edx
test edx, edx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x48]
mov edx, reloc.WLDAP32.dll_Ordinal_88
sete al
mov dword [rsp + 0x20], eax
call fcn.18003190c
jmp 0x1800460db
mov rdx, qword [rsi + 0x10]
cmp byte [rdx], 0x96
jne 0x180045d9d
mov r8d, 1
mov r9d, r10d
mov rcx, rbx
call fcn.1800454a8
jmp 0x1800467ec
cmp byte [rdx], cl
jne 0x180045db0
mov rdx, qword [rdx + 8]
mov r8d, 1
jmp 0x180045c1e
lea r8, [rbp + 0x70]
mov byte [rbp - 0x20], 0x96
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x1c], 0x4400
mov rcx, rbx
call fcn.1800468dc
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x40]
mov rcx, qword [rbp + 0x60]
mov ebx, eax
call fcn.1800468dc
mov edx, 0x68
jmp 0x180045a1d
je 0x18004641f
mov ecx, edi
sub ecx, 0x95
je 0x1800463b0
sub ecx, 1
je 0x1800463a8
sub ecx, 1
je 0x18004632b
sub ecx, 0xb
je 0x1800461b1
sub ecx, 1
je 0x180046182
sub ecx, 1
je 0x180046147
sub ecx, 1
je 0x18004612c
cmp ecx, 1
je 0x180046044
mov rcx, qword [rsi + 0x20]
mov r11, r9
mov rax, qword [rbx]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x68], r9
mov edx, dword [rcx]
lea r8, [rcx + 8]
or rcx, 0xffffffffffffffff
mov qword [rbp - 0x80], r9
add dword [rbx + 0x44], ecx
mov r10, qword [rsi + 0x10]
xor esi, esi
mov r9d, dword [rbx + 0x44]
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x58], r10
test r10, r10
je 0x180045f22
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, rax
call fcn.180042c4c
mov rdi, rax
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x78]
cmp byte [rax + 0x61], sil
je 0x180045ec7
test rdi, rdi
je 0x1800467ec
mov rdx, rdi
mov rcx, rax
call fcn.180042a88
jmp 0x1800467ec
lea r8, [rbp + 0x70]
mov rdx, rdi
mov rcx, rbx
call fcn.1800456b8
mov rcx, rdi
mov edx, eax
call fcn.180041d3c
mov cl, byte [rax]
btr dword [rax + 4], 0xc
mov dword [rax + 0x28], edx
xor edx, edx
mov byte [rax + 0x32], cl
lea rcx, [rbp - 0x70]
mov byte [rax], 0xab
lea r8d, [rdx + 0x48]
call fcn.1800c1d50
mov edx, dword [rsp + 0x40]
lea r11, [rbp - 0x70]
mov r8, qword [rsp + 0x60]
or rcx, 0xffffffffffffffff
mov r10, qword [rsp + 0x58]
mov qword [rsp + 0x68], r11
mov byte [rbp - 0x70], Ordinal_54
mov qword [rbp - 0x60], rdi
mov esi, dword [rbp + 0x78]
lea eax, [rdx - 1]
cdqe
test rax, rax
jle 0x180045fe4
dec rax
shr rax, 1
inc rax
mov qword [rsp + 0x70], rax
test r10, r10
je 0x180045f4f
mov rax, qword [r8]
mov qword [rbp - 0x58], rax
jmp 0x180045f57
mov r11, qword [r8]
mov qword [rsp + 0x68], r11
add dword [rbx + 0x44], ecx
mov r9d, 0x10
mov ebx, dword [rbx + 0x44]
mov rdx, r11
mov rcx, qword [rbp + 0x60]
mov r8d, ebx
call fcn.1800470fc
mov rdx, qword [rsp + 0x60]
mov r8d, esi
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rdx + 0x28]
call fcn.1800469a4
mov rdi, qword [rsp + 0x48]
xor r8d, r8d
mov r9d, dword [rsp + 0x50]
mov rcx, rdi
and dword [rsp + 0x20], 0
lea edx, [r8 + 0xb]
call fcn.1800315fc
mov edx, ebx
mov rcx, rdi
call fcn.1800319f0
mov r8, qword [rsp + 0x60]
mov rcx, 0xffffffffffffffff
mov rbx, qword [rbp + 0x60]
add r8, 0x50
sub qword [rsp + 0x70], 1
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x60], r8
jne 0x180045f41
mov edx, dword [rsp + 0x40]
jmp 0x180045fe9
mov rdi, qword [rsp + 0x48]
test dl, 1
je 0x18004600c
movsxd rax, edx
mov r8d, esi
mov rcx, rbx
lea rdx, [rax + rax*4]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + rdx*8 - 0x20]
call fcn.1800469a4
jmp 0x180046023
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, esi
mov rcx, rdi
lea edx, [r8 + 0x49]
call fcn.1800315fc
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x180046038
mov rcx, qword [rbp - 0x78]
mov rdx, rax
call fcn.180042a88
mov edx, dword [rsp + 0x50]
mov rcx, rdi
jmp 0x180046559
sub edi, 0x2d
mov r8d, Ordinal_133
neg edi
mov dword [rsp + 0x50], r8d
sbb edi, edi
add edi, 0x35
mov rdx, qword [rsi + 0x10]
mov rcx, rdx
mov qword [rsp + 0x78], rdx
call fcn.1800420f8
mov rcx, rbx
cmp eax, 1
jle 0x18004608a
mov byte [rsp + 0x20], r8b
mov r9b, dil
mov r8d, r10d
mov rdx, rsi
call fcn.180042284
jmp 0x1800467ec
lea r8, [rbp + 0x70]
call fcn.1800468dc
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x40]
mov rcx, qword [rbp + 0x60]
mov ebx, eax
call fcn.1800468dc
mov ecx, dword [rsp + 0x50]
mov r9d, edi
mov r8d, dword [rbp + 0x78]
or ecx, 0x20
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], r8d
mov r8, qword [rsi + 0x18]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov rbx, qword [rbp + 0x60]
mov rcx, rbx
call fcn.180042038
mov ecx, dword [rbp + 0x70]
test ecx, ecx
je 0x1800460f6
cmp byte [rbx + 0x1f], 8
jae 0x1800460f6
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xbc], ecx
inc byte [rbx + 0x1f]
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x1800467ec
cmp byte [rbx + 0x1f], 8
jae 0x1800467ec
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xbc], ecx
inc byte [rbx + 0x1f]
jmp 0x1800467ec
test dword [rsi + 4], 0x1000
je 0x180046131
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x18004611f
mov rax, qword [rsi + 8]
mov edx, Ordinal_73
cmp byte [rax + 4], r9b
sete r8b
jmp 0x1800467dc
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x2e]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], r9b
jne 0x180046165
mov eax, dword [rax + 0x14]
jmp 0x1800467ef
cmp byte [rcx + 1], r9b
je 0x1800461b1
mov r9d, dword [rax + 0x10]
mov edx, 0x5a
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], r10d
jmp 0x1800467e4
mov rdx, qword [rsi + 0x38]
test rdx, rdx
jne 0x18004619b
mov r8, qword [rsi + 8]
lea rdx, str.misuse_of_aggregate:__s__
jmp 0x1800467cd
movsx rax, word [rsi + 0x2e]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov eax, dword [rax + rcx*8 + 0x10]
jmp 0x1800467ef
test byte [rsi + 4], 8
mov r8d, dword [rsi + 0x28]
je 0x18004626a
mov rdx, qword [rsi + 0x10]
mov r8d, r10d
mov rcx, rbx
call fcn.180045760
mov edi, eax
xor ecx, ecx
movsx rax, word [rsi + 0x2c]
test eax, eax
js 0x1800461f4
mov rcx, qword [rsi + 0x40]
mov r8, rax
shl r8, 5
mov rdx, qword [rcx + 8]
xor ecx, ecx
movsx eax, byte [r8 + rdx + 0x19]
jmp 0x1800461f9
mov eax, Ordinal_69
movsx esi, al
cmp esi, 0x41
jle 0x180046263
mov ebx, dword [rbp + 0x78]
cmp edi, ebx
je 0x180046223
mov dword [rsp + 0x20], ecx
mov r9d, ebx
mov rcx, qword [rsp + 0x48]
mov r8d, edi
mov edx, reloc.WLDAP32.dll_Ordinal_79
call fcn.1800315fc
mov edi, ebx
mov rcx, qword [rsp + 0x48]
mov r9d, 1
and dword [rsp + 0x20], 0
mov r8d, edi
lea edx, [r9 + 0x5a]
call fcn.1800315fc
lea ecx, [rsi*2 - 0x84]
or r9, 0xffffffffffffffff
movsxd r8, ecx
mov edx, eax
lea rcx, str.BCDE
add r8, rcx
mov rcx, qword [rsp + 0x48]
call fcn.180031eb4
mov eax, edi
jmp 0x1800467ef
test r8d, r8d
jns 0x1800462de
mov r9d, dword [rbx + 0x40]
xor edi, edi
test r9d, r9d
jns 0x1800462da
movzx r8d, word [rsi + 0x2c]
test r8w, r8w
js 0x1800462ce
mov rax, qword [rsi + 0x40]
movsx rdx, r8w
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x19], 0x45
jne 0x1800462ce
movsx r8d, r8w
lea edx, [rdi + 0x4f]
sub r8d, r9d
mov dword [rsp + 0x20], edi
mov r9d, r10d
mov rcx, r11
call fcn.1800315fc
mov dword [rsp + 0x20], edi
mov r8d, dword [rbp + 0x78]
xor r9d, r9d
mov rcx, qword [rsp + 0x48]
lea edx, [r9 + 0x54]
jmp 0x1800467e7
movsx eax, r8w
sub eax, r9d
jmp 0x1800467ef
lea r8d, [r9 - 1]
movsx r9d, word [rsi + 0x2c]
mov rcx, r11
mov rdx, qword [rsi + 0x40]
mov bl, byte [rsi + 0x32]
mov dword [rsp + 0x20], r10d
call fcn.1800455c4
test bl, bl
je 0x1800467ec
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 0x90]
test eax, eax
jle 0x1800467ec
lea rcx, [rax + rax*2]
movzx edx, bl
mov rax, qword [r8 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1800467ec
movsx r8d, word [rsi + 0x2c]
mov edx, Ordinal_79
mov dword [rsp + 0x20], r9d
mov rcx, r11
mov r9d, r10d
call fcn.1800315fc
mov rax, qword [rsi + 8]
xor r9d, r9d
cmp byte [rax + 1], r9b
je 0x1800467ec
mov rdx, qword [rbx + 0x118]
test rdx, rdx
jne 0x180046367
mov rax, r9
jmp 0x18004638f
movsx r8d, word [rsi + 0x2c]
mov eax, 2
movsxd rcx, eax
cmp dword [rdx + rcx*4], r8d
je 0x180046385
add eax, dword [rdx + rcx*4 + 4]
cmp eax, dword [rdx + 4]
jl 0x180046371
jmp 0x180046362
add eax, 2
movsxd rcx, eax
lea rax, [rdx + rcx*4]
mov rcx, qword [rsp + 0x48]
or r8, 0xffffffffffffffff
mov dword [rdx], r9d
mov rdx, rax
call fcn.180031f3c
jmp 0x1800467ec
mov rdx, rsi
jmp 0x180045d8d
mov rcx, qword [rsi + 8]
add rcx, rdx
jne 0x1800463be
mov eax, r9d
jmp 0x1800463d0
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r9b
jne 0x1800463c2
and eax, 0x3fffffff
lea ebx, [rax - 1]
mov rdx, rcx
mov rcx, qword [r11]
mov r8d, ebx
call fcn.18001992c
mov r9d, dword [rbp + 0x78]
mov rdi, rax
mov rcx, qword [rsp + 0x48]
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x4b]
call fcn.1800315fc
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, qword [rsp + 0x48]
mov edx, eax
call fcn.180031eb4
jmp 0x1800467ec
test dword [rsi + 4], 0x1000000
mov rcx, qword [rbx]
mov dword [rbp + 0x60], r9d
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], r9
mov r8b, byte [rcx + 0x5e]
mov byte [rbp + 0x70], r8b
je 0x18004644d
mov rax, qword [rsi + 0x40]
mov eax, dword [rax + 0x60]
jmp 0x1800467ef
cmp byte [rbx + 0x23], r9b
je 0x180046482
xor r8d, r8d
mov rcx, rsi
call fcn.180043a9c
xor r9d, r9d
test eax, eax
je 0x180046479
or r8, 0xffffffffffffffff
mov rdx, rsi
mov rcx, rbx
call fcn.1800467fc
jmp 0x1800467ef
mov rcx, qword [rsp + 0x68]
mov r8b, byte [rbp + 0x70]
test dword [rsi + 4], 0x4000
je 0x180046563
mov qword [rsp + 0x58], r9
mov edi, r9d
mov dword [rsp + 0x40], r9d
mov rax, qword [rsi + 8]
mov byte [rsp + 0x20], r9b
mov rdx, rax
mov r9b, r8b
mov qword [rsp + 0x78], rax
mov r8d, edi
call fcn.180052e84
xor r8d, r8d
mov qword [rsp + 0x50], rax
mov r10, rax
test rax, rax
je 0x1800467c1
cmp qword [rax + 0x20], r8
jne 0x1800467c1
test dword [rax + 4], 0x200
je 0x180046580
mov rsi, qword [rsp + 0x58]
or rcx, 0xffffffffffffffff
add dword [rbx + 0x44], ecx
mov rcx, rbx
mov eax, dword [rbx + 0x44]
mov edi, dword [rbp + 0x78]
mov r8d, edi
mov rdx, qword [rsi + 8]
mov dword [rbp + 0x70], eax
call fcn.1800469a4
mov r8d, dword [rsp + 0x40]
cmp r8d, 1
jle 0x180046551
lea ecx, [r8 - 1]
add rsi, 0x30
mov qword [rbp + 0x60], rcx
mov r9d, dword [rbp + 0x70]
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov r8d, edi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x33]
call fcn.1800315fc
mov rdx, qword [rsi]
mov r8d, edi
mov rcx, rbx
call fcn.1800469a4
sub qword [rbp + 0x60], 1
lea rsi, [rsi + 0x28]
jne 0x18004651e
mov edx, dword [rbp + 0x70]
mov rcx, qword [rsp + 0x48]
call fcn.1800319f0
jmp 0x1800467ec
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x180046494
mov edi, dword [rax]
mov dword [rsp + 0x40], edi
jmp 0x18004649c
test dword [rax + 4], 0x400
je 0x1800465a3
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov r8d, dword [rbp + 0x78]
mov rdx, qword [rax + 8]
call fcn.180045760
jmp 0x1800467ef
mov ecx, r8d
mov dword [rbp + 0x70], ecx
test edi, edi
jle 0x180046636
mov rax, qword [rsp + 0x58]
mov esi, ecx
add rax, 8
mov qword [rsp + 0x70], rax
cmp ecx, 0x20
jge 0x1800465ec
mov rcx, qword [rax]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.180043a9c
mov ecx, dword [rbp + 0x70]
xor r8d, r8d
mov r10, qword [rsp + 0x50]
test eax, eax
mov rax, qword [rsp + 0x70]
je 0x1800465ec
bts esi, ecx
test byte [r10 + 4], 0x20
je 0x180046617
cmp qword [rsp + 0x60], r8
jne 0x180046617
mov rdx, qword [rax]
mov rcx, rbx
call fcn.180041d68
mov r10, qword [rsp + 0x50]
mov ecx, dword [rbp + 0x70]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x70]
inc ecx
add rax, 0x28
mov dword [rbp + 0x70], ecx
mov r8d, 0
mov qword [rsp + 0x70], rax
cmp ecx, edi
jl 0x1800465c1
mov dword [rbp + 0x60], esi
mov rsi, qword [rbp + 0x68]
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1800466a7
cmp dword [rbp + 0x60], r8d
je 0x180046658
mov eax, dword [rbx + 0x38]
lea r8d, [rax + 1]
add eax, edi
mov dword [rbx + 0x38], eax
mov dword [rbp + 0x70], r8d
jmp 0x18004666d
mov edx, edi
mov rcx, rbx
call fcn.180048154
mov rdx, qword [rsp + 0x58]
mov r8d, eax
mov dword [rbp + 0x70], eax
test byte [r10 + 4], 0xc0
je 0x18004668d
mov r9, qword [rdx + 8]
mov cl, byte [r9]
add cl, 0x5e
test cl, 0xfd
jne 0x18004668d
mov al, byte [r10 + 4]
and al, 0xc0
mov byte [r9 + 0x32], al
xor r9d, r9d
mov byte [rsp + 0x20], 3
mov rcx, rbx
call fcn.180046ad0
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
jmp 0x1800466ab
mov dword [rbp + 0x70], r8d
mov eax, 2
cmp edi, eax
jl 0x1800466df
lea ecx, [rax + 0x7e]
test byte [rsi + 4], cl
je 0x1800466df
mov r9, qword [rdx + 0x30]
mov rdx, qword [rsp + 0x50]
mov r8d, edi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.18006e0a4
mov qword [rsp + 0x50], rax
xor r8d, r8d
jmp 0x1800466f3
test edi, edi
jle 0x1800466e9
mov r9, qword [rdx + 8]
jmp 0x1800466c0
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
test byte [rax + 4], 0x20
je 0x18004673c
cmp qword [rsp + 0x60], r8
jne 0x180046709
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov rcx, rsi
xor r8d, r8d
lea edx, [r9 + 0x52]
call fcn.1800315fc
mov r8, qword [rsp + 0x60]
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, rsi
call fcn.180031eb4
jmp 0x180046741
mov rsi, qword [rsp + 0x48]
mov eax, dword [rbx + 0x40]
mov rcx, rsi
mov edi, dword [rbp + 0x78]
neg eax
mov r9d, dword [rbp + 0x70]
mov r8d, dword [rbp + 0x60]
sbb edx, edx
add edx, 0x3f
mov dword [rsp + 0x20], edi
call fcn.1800315fc
mov r8, qword [rsp + 0x50]
mov r9d, 0xfffffff8
mov edx, eax
mov rcx, rsi
call fcn.180031eb4
movsxd rax, dword [rsi + 0x90]
xor r9d, r9d
mov r8d, dword [rsp + 0x40]
test eax, eax
jle 0x18004679e
lea rcx, [rax + rax*2]
movzx edx, r8b
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
test r8d, r8d
je 0x180046263
cmp dword [rbp + 0x60], r9d
jne 0x180046263
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.1800481a8
jmp 0x180046263
mov r8, qword [rsp + 0x78]
lea rdx, str.unknown_function:__s__
mov rcx, rbx
call fcn.180018c50
jmp 0x1800467ec
mov edx, reloc.WLDAP32.dll_Ordinal_73
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov rcx, r11
call fcn.1800315fc
mov eax, dword [rbp + 0x78]
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret