Function at 0x100409370
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push r13
lea rbp, [rax - 0x5f]
sub rsp, 0x88
mov rcx, qword [0x1004276d8]
lea r8, [rbp + 0x67]
mov qword [rax + 0x20], rbx
lea rdx, str.sqlmin.dll
mov qword [rax - 0x20], rdi
xor ebx, ebx
mov edi, ebx
call fcn.100409c40
test rax, rax
je 0x1004093e4
lea rdx, str.bufferPoolInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1004093e4
sub rax, qword [rbp + 0x67]
je 0x1004093e4
lea r9d, [rbx + 0x48]
mov rdx, rax
lea r8, [0x100431180]
lea rcx, [0x1004276d0]
call fcn.100403180
mov edi, eax
mov rcx, qword [0x1004276d8]
lea r8, [rbp + 0x67]
lea rdx, str.sqldk.dll
mov r13d, ebx
call fcn.100409c40
test rax, rax
je 0x10040943d
lea rdx, str.memMgrInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x10040943d
sub rax, qword [rbp + 0x67]
je 0x10040943d
mov r9d, 0xd8
lea r8, [0x1004311c8]
mov rdx, rax
lea rcx, [0x1004276d0]
call fcn.100403180
mov r13d, eax
and r13d, edi
jne 0x100409483
lea rdx, [0x100428638]
lea rcx, [0x1004312f0]
call fcn.100402360
movzx r13d, al
test al, al
je 0x100409bf7
lea rcx, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp - 5]
mov dword [0x1004312e8], eax
mov dword [0x100431154], 1
jmp 0x100409bf7
mov rdi, qword [0x100431198]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r15
mov dword [0x1004312e8], 0x2000
test rdi, rdi
je 0x10040956d
mov esi, 8
lea r14, [0x100431158]
mov r12d, ebx
mov r15, rbx
nop word [rax + rax]
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x100409521
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x1004094d0
jmp 0x10040956d
test r15, r15
jne 0x10040953e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x10040953e
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x10040956d
mov r9d, r12d
lea r8, str.Can_not_read_m_pBuf_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
mov r13d, ebx
mov rdi, qword [0x1004311d0]
test rdi, rdi
je 0x10040962d
mov esi, 8
lea r14, [0x100431160]
mov r12d, ebx
mov r15, rbx
nop
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1004095e1
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x100409590
jmp 0x10040962d
test r15, r15
jne 0x1004095fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x1004095fe
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x10040962d
mov r9d, r12d
lea r8, str.Can_not_read_m_BucketsPtr_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
mov r13d, ebx
mov rdi, qword [0x1004311d8]
test rdi, rdi
je 0x1004096ed
mov esi, 8
lea r14, [0x100431170]
mov r12d, ebx
mov r15, rbx
nop
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1004096a1
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x100409650
jmp 0x1004096ed
test r15, r15
jne 0x1004096be
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x1004096be
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x1004096ed
mov r9d, r12d
lea r8, str.Can_not_read_m_LookupTablePtr_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
mov r13d, ebx
mov rdi, qword [0x100431238]
test rdi, rdi
je 0x1004097ad
mov esi, 8
lea r14, [0x100431178]
mov r12d, ebx
mov r15, rbx
nop
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x100409761
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x100409710
jmp 0x1004097ad
test r15, r15
jne 0x10040977e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x10040977e
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x1004097ad
mov r9d, r12d
lea r8, str.Can_not_read_m_64KBlockArrayPtr_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
mov r13d, ebx
mov rdi, qword [0x1004311e0]
test rdi, rdi
je 0x10040986d
mov esi, 8
lea r14, [0x100431168]
mov r12d, ebx
mov r15, rbx
nop
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x100409821
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x1004097d0
jmp 0x10040986d
test r15, r15
jne 0x10040983e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x10040983e
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x10040986d
mov r9d, r12d
lea r8, str.Can_not_read_m_SmallestBlockAllocatorSizePtr_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
mov r13d, ebx
mov rcx, qword [0x100431168]
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x1004098bd
mov rax, qword [0x1004311a0]
xor edx, edx
div rcx
mov ecx, eax
mov rdi, rax
mov eax, 0x10
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.10041200c
mov qword [0x100431340], rax
test rax, rax
je 0x1004098bd
mov dword [0x100431348], ebx
mov dword [0x10043134c], edi
mov rdi, qword [0x100431278]
test rdi, rdi
je 0x100409981
mov esi, 8
lea r14, [0x100431358]
mov r12d, ebx
mov r15, rbx
nop
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x100409931
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x1004098e0
jmp 0x100409981
test r15, r15
jne 0x10040994e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x10040994e
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x100409981
mov r9d, r12d
mov qword [0x100431358], rbx
lea r8, str.Can_not_read_m_pageExclusionBitmapPtr_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
mov rdi, qword [0x100431280]
test rdi, rdi
je 0x100409a44
mov esi, 8
lea r14, [0x100431360]
mov r12d, ebx
mov r15, rbx
mov edx, dword [0x1004276e4]
lea rax, [rbp + 0x6f]
mov r9d, edx
mov qword [rbp + 0x6f], rbx
mov r8, r14
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 1]
mov rdx, rdi
and rcx, rdi
sub r9, rcx
mov rcx, qword [0x1004276d8]
cmp rsi, r9
cmovb r9, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1004099f4
mov rax, qword [rbp + 0x6f]
add r15, rax
add rdi, rax
add r14, rax
sub rsi, rax
jne 0x1004099a3
jmp 0x100409a44
test r15, r15
jne 0x100409a11
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x100409a11
movzx r12d, ax
or r12d, 0x80070000
lea rcx, [0x1004276d0]
call fcn.10040b590
test r12d, r12d
je 0x100409a44
mov r9d, r12d
mov qword [0x100431358], rbx
lea r8, str.Can_not_read_m_pageExclusionBitmapSizePtr_content:__x
mov edx, 1
lea rcx, [0x100422050]
call fcn.100401b20
cmp qword [0x100431358], rbx
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
je 0x100409a9a
call fcn.100408fc0
lea rcx, [0x100422050]
test al, al
jne 0x100409a89
mov qword [0x100431358], rbx
lea r8, str.Failed_to_initialize_bitmap_information.
mov edx, 1
jmp 0x100409a95
lea r8, str.Page_Exclusion_Bitmap_was_successfully_initialized.
mov edx, 2
call fcn.100401b20
mov edx, dword [0x100431208]
lea r8, [rbp + 0x67]
add rdx, qword [0x100431260]
lea rcx, [0x1004276d0]
mov r9d, 8
mov qword [rbp + 0x67], rbx
mov edi, ebx
call fcn.100403180
test eax, eax
je 0x100409af5
mov rax, qword [rbp + 0x67]
test rax, rax
je 0x100409af5
mov edx, dword [0x100431208]
lea r8, [rbp + 0x67]
add rdx, rax
lea rcx, [0x1004276d0]
mov r9d, 8
inc edi
call fcn.100403180
test eax, eax
jne 0x100409ac7
lea ecx, [rdi + 1]
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.10041200c
mov qword [0x100431330], rax
test rax, rax
je 0x100409bd1
mov edx, dword [0x100431208]
lea r8, [rbp + 0x67]
add rdx, qword [0x100431260]
lea rcx, [0x1004276d0]
mov r9d, 8
call fcn.100403180
test eax, eax
je 0x100409bb3
nop word [rax + rax]
mov rax, qword [rbp + 0x67]
test rax, rax
je 0x100409bb3
mov edx, dword [0x100431268]
lea r8, [rbp + 0x77]
add rdx, rax
lea rcx, [0x1004276d0]
mov r9d, 8
call fcn.100403180
test eax, eax
je 0x100409bb3
mov rcx, qword [rbp + 0x77]
lea r8, [rbp + 0x67]
mov rax, qword [0x100431330]
mov r9d, 8
mov edx, ebx
inc ebx
mov qword [rax + rdx*8], rcx
lea rcx, [0x1004276d0]
mov edx, dword [0x100431208]
add rdx, qword [rbp + 0x67]
call fcn.100403180
test eax, eax
jne 0x100409b50
mov rcx, qword [0x100431330]
mov rax, qword [0x100431270]
mov edx, ebx
mov qword [rcx + rdx*8], rax
lea ecx, [rbx + 1]
mov qword [0x100431338], rcx
call fcn.100408d60
test eax, eax
jne 0x100409bf0
lea r8, str.Error_Initializing_free_blocks_array._All_free_blocks_might_not_be_excluded.
lea edx, [rax + 1]
lea rcx, [0x100422050]
call fcn.100401b20
mov dword [0x100431154], r13d
mov rdi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xb8]
test r13d, r13d
jne 0x100409c20
lea r8, str.Unable_to_read_remote_buffer_pool_or_memory_manager_information_struct_or_list_of_ranges_to_exclude
lea edx, [r13 + 1]
lea rcx, [0x100422050]
call fcn.100401b20
mov eax, r13d
add rsp, 0x88
pop r13
pop rbp
ret