Function at 0x10018090
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10070aa7
mov eax, dword fs:[0]
push eax
sub esp, 0x514
mov eax, dword [0x10085510]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.10015210
xor ebx, ebx
xor ecx, ecx
mov word [ebp - 0x494], cx
mov ecx, eax
mov dword [ebp - 0x480], 7
mov dword [ebp - 0x484], ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x100180e3
sub ecx, esi
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x494]
call fcn.10014ce0
push 0x3ff
lea edx, [ebp - 0x477]
push ebx
mov dword [ebp - 4], ebx
push edx
mov byte [ebp - 0x478], bl
call fcn.100568e0
mov eax, dword [ebp - 0x494]
mov edi, 8
add esp, 0xc
cmp dword [ebp - 0x480], edi
jae 0x10018136
lea eax, [ebp - 0x494]
lea ecx, [ebp - 0x508]
push ecx
lea edx, [ebp - 0x78]
push edx
push 0x400
lea ecx, [ebp - 0x478]
push ecx
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x478]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10018161
sub eax, edx
push eax
lea edx, [ebp - 0x478]
push edx
mov ecx, 0x10087154
call fcn.100040d0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x494]
push eax
mov ecx, 0x10087170
call fcn.10010590
push str.ZLib_Tools.dll
lea ecx, [ebp - 0x494]
push ecx
lea edx, [ebp - 0x4e8]
push edx
call fcn.10015030
add esp, 0xc
mov eax, 1
mov byte [ebp - 4], al
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test byte [0x10088844], al
jne 0x100181f0
or dword [0x10088844], eax
mov eax, dword [ebp - 0x4e8]
cmp dword [ebp - 0x4d4], edi
jae 0x100181db
lea eax, [ebp - 0x4e8]
push eax
call esi
push 0x10071e80
mov dword [0x10088840], eax
call fcn.10053842
add esp, 4
push str.sqlite3.dll
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x4cc]
push ecx
call fcn.10015030
add esp, 0xc
mov byte [ebp - 4], 2
test byte [0x10088844], 2
jne 0x10018248
or dword [0x10088844], 2
mov eax, dword [ebp - 0x4cc]
cmp dword [ebp - 0x4b8], edi
jae 0x10018233
lea eax, [ebp - 0x4cc]
push eax
call esi
push 0x10071e60
mov dword [0x1008869c], eax
call fcn.10053842
add esp, 4
push str.NISEC_SKP.dll
lea edx, [ebp - 0x494]
push edx
lea eax, [ebp - 0x504]
push eax
call fcn.10015030
add esp, 0xc
mov byte [ebp - 4], 3
test byte [0x10088844], 4
jne 0x100182a0
or dword [0x10088844], 4
mov eax, dword [ebp - 0x504]
cmp dword [ebp - 0x4f0], edi
jae 0x1001828b
lea eax, [ebp - 0x504]
push eax
call esi
push 0x10071e40
mov dword [0x1008883c], eax
call fcn.10053842
add esp, 4
push 0x1007f220
lea ecx, [ebp - 0x494]
push ecx
lea edx, [ebp - 0x4b0]
push edx
call fcn.10015030
add esp, 0xc
mov byte [ebp - 4], 4
test byte [0x10088844], 8
jne 0x100182f7
or dword [0x10088844], edi
mov eax, dword [ebp - 0x4b0]
cmp dword [ebp - 0x49c], edi
jae 0x100182e2
lea eax, [ebp - 0x4b0]
push eax
call esi
push 0x10071e20
mov dword [0x10088698], eax
call fcn.10053842
add esp, 4
mov eax, dword [0x1008869c]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.initSqlite
push eax
call esi
mov ecx, dword [0x1008869c]
push str.sqlite3_key
push ecx
mov dword [0x10088638], eax
call esi
mov edx, dword [0x1008869c]
push str.sqlite3_open_v2
push edx
mov dword [0x1008863c], eax
call esi
mov dword [0x10088640], eax
mov eax, dword [0x1008869c]
push str.sqlite3_prepare_v2
push eax
call esi
mov ecx, dword [0x1008869c]
push str.sqlite3_step
push ecx
mov dword [0x10088644], eax
call esi
mov edx, dword [0x1008869c]
push str.sqlite3_column_count
push edx
mov dword [0x10088648], eax
call esi
mov dword [0x1008864c], eax
mov eax, dword [0x1008869c]
push str.sqlite3_column_name
push eax
call esi
mov ecx, dword [0x1008869c]
push str.sqlite3_column_type
push ecx
mov dword [0x10088650], eax
call esi
mov edx, dword [0x1008869c]
push str.sqlite3_column_text
push edx
mov dword [0x10088654], eax
call esi
mov dword [0x10088658], eax
mov eax, dword [0x1008869c]
push str.sqlite3_column_int
push eax
call esi
mov ecx, dword [0x1008869c]
push str.sqlite3_finalize
push ecx
mov dword [0x1008865c], eax
call esi
mov edx, dword [0x1008869c]
push str.sqlite3_close_v2
push edx
mov dword [0x10088660], eax
call esi
mov dword [0x10088664], eax
mov eax, dword [0x10088698]
push str.OperateDiskF
push eax
call esi
mov ecx, dword [0x10088698]
push str.SetVerifyFlagX
push ecx
mov dword [0x10088668], eax
call esi
mov edx, dword [0x10088668]
push edx
push str.OperateDiskF__p
push ebx
mov dword [0x1008866c], eax
call fcn.1006cba0
push eax
call fcn.1006dd30
mov eax, dword [0x1008866c]
add esp, 0x10
push eax
push str.SetVerifyFlagX__p
push ebx
call fcn.1006cba0
push eax
call fcn.1006dd30
add esp, 0x10
call fcn.1001bf30
mov eax, dword [0x10088698]
mov esi, vtable.base::win::PEImage.0
cmp eax, ebx
je 0x100184f3
lea edx, [ebp - 0x50c]
mov dword [ebp - 0x510], eax
lea ecx, [ebp - 0x520]
push edx
lea eax, [ebp - 0x514]
mov dword [ebp - 0x51c], 0x100175c0
mov dword [ebp - 0x520], 0x1007f284
mov byte [ebp - 0x518], bl
mov dword [ebp - 0x514], esi
mov dword [ebp - 0x50c], 0x10018bb0
mov dword [ebp - 0x508], ecx
call fcn.10015ad0
mov eax, dword [0x10088698]
cmp eax, ebx
je 0x100184f3
mov dword [ebp - 0x508], eax
lea eax, [ebp - 0x520]
lea ecx, [ebp - 0x514]
mov dword [ebp - 0x510], eax
push ecx
lea eax, [ebp - 0x50c]
mov dword [ebp - 0x51c], 0x10017620
mov dword [ebp - 0x520], 0x1007f298
mov byte [ebp - 0x518], bl
mov dword [ebp - 0x50c], esi
mov dword [ebp - 0x514], 0x10018bb0
call fcn.10015ad0
mov eax, dword [0x1008869c]
cmp eax, ebx
je 0x100185a5
mov dword [ebp - 0x508], eax
lea eax, [ebp - 0x514]
lea edx, [ebp - 0x520]
push eax
lea eax, [ebp - 0x50c]
mov dword [ebp - 0x51c], 0x10017780
mov dword [ebp - 0x520], 0x1007f2a4
mov byte [ebp - 0x518], bl
mov dword [ebp - 0x50c], esi
mov dword [ebp - 0x514], 0x10018bb0
mov dword [ebp - 0x510], edx
call fcn.10015ad0
mov eax, dword [0x1008869c]
cmp eax, ebx
je 0x100185a5
lea edx, [ebp - 0x514]
mov dword [ebp - 0x508], eax
lea ecx, [ebp - 0x520]
push edx
lea eax, [ebp - 0x50c]
mov dword [ebp - 0x51c], 0x100176b0
mov dword [ebp - 0x520], 0x1007f2b8
mov byte [ebp - 0x518], bl
mov dword [ebp - 0x50c], esi
mov dword [ebp - 0x514], 0x10018bb0
mov dword [ebp - 0x510], ecx
call fcn.10015ad0
cmp dword [ebp - 0x49c], edi
jb 0x100185bc
mov eax, dword [ebp - 0x4b0]
push eax
call fcn.10053416
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [ebp - 0x49c], esi
mov dword [ebp - 0x4a0], ebx
mov word [ebp - 0x4b0], cx
cmp dword [ebp - 0x4f0], edi
jb 0x100185ed
mov edx, dword [ebp - 0x504]
push edx
call fcn.10053416
add esp, 4
xor eax, eax
mov dword [ebp - 0x4f0], esi
mov dword [ebp - 0x4f4], ebx
mov word [ebp - 0x504], ax
cmp dword [ebp - 0x4b8], edi
jb 0x10018619
mov ecx, dword [ebp - 0x4cc]
push ecx
call fcn.10053416
add esp, 4
xor edx, edx
mov dword [ebp - 0x4b8], esi
mov dword [ebp - 0x4bc], ebx
mov word [ebp - 0x4cc], dx
cmp dword [ebp - 0x4d4], edi
jb 0x10018645
mov eax, dword [ebp - 0x4e8]
push eax
call fcn.10053416
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x4d4], esi
mov dword [ebp - 0x4d8], ebx
mov word [ebp - 0x4e8], cx
cmp dword [ebp - 0x480], edi
jb 0x10018671
mov edx, dword [ebp - 0x494]
push edx
call fcn.10053416
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10052dab
mov esp, ebp
pop ebp
ret