Function at 0x10058410
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x44
mov eax, dword [esp + 0x58]
push ebx
mov dword [esp + 0x28], eax
inc eax
mov dword [esp + 0xc], eax
inc eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], eax
inc eax
push ebp
mov dword [esp + 0xc], eax
inc eax
mov dword [esp + 0x28], eax
inc eax
push esi
push edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x40], eax
inc eax
mov byte [esp + 0x13], 1
mov ecx, dword [edi + 0x48]
mov ebx, dword [edi]
mov dword [esp + 0x3c], eax
inc eax
cmp ecx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x68], eax
jle 0x1005845e
mov eax, ecx
push edi
mov dword [edi + 0x48], eax
call fcn.1006af10
mov esi, eax
add esp, 4
test esi, esi
je 0x1005892c
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x1005892c
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x1005892c
mov eax, dword [ebp]
push 7
push str.sqlite_
push eax
call fcn.1002b140
add esp, 0xc
test eax, eax
je 0x1005892c
mov eax, dword [ebp + 0x44]
push eax
push ebx
call fcn.100517e0
mov edx, dword [esp + 0x30]
mov ebx, eax
mov ecx, ebx
mov dword [esp + 0x4c], ebx
mov eax, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + eax]
mov eax, dword [ebp]
push ecx
push 0
push eax
push 0x1c
push edi
call fcn.1005e2d0
add esp, 0x1c
test eax, eax
jne 0x1005892c
mov edx, dword [ebp]
push edx
push eax
mov eax, dword [ebp + 0x20]
push eax
push ebx
push edi
call fcn.1005e380
mov eax, dword [esp + 0x80]
mov ecx, dword [edi + 0x44]
add esp, 0x14
mov edx, eax
inc eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x6c], eax
inc eax
cmp ecx, eax
jle 0x1005850e
mov eax, ecx
push 0x35
push ebp
push ebx
push edx
push edi
mov dword [edi + 0x44], eax
call fcn.10065330
mov ecx, dword [ebp]
mov edx, dword [esp + 0x44]
push 0
push ecx
push 0
push edx
push 0
push 0x61
push esi
call fcn.100574e0
mov ebx, dword [ebp + 8]
add esp, 0x30
test ebx, ebx
je 0x10058894
mov eax, dword [esp + 0x60]
test eax, eax
je 0x10058551
cmp eax, ebx
jne 0x10058889
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x1005855d
mov byte [esp + 0x13], 0
test byte [ebp + 0x2c], 0x20
je 0x1005857f
mov eax, dword [ebx + 0x38]
and eax, 3
cmp al, 2
jne 0x1005857f
mov ecx, dword [ebp]
xor eax, eax
mov ax, word [ebx + 0x32]
mov dword [esp + 0x2c], eax
lea ebp, [eax - 1]
jmp 0x10058599
mov al, byte [ebx + 0x38]
mov ecx, dword [ebx]
xor ebp, ebp
mov bp, word [ebx + 0x34]
test al, 8
mov dword [esp + 0x2c], ebp
je 0x10058598
xor ebp, ebp
mov bp, word [ebx + 0x32]
dec ebp
push 0
push ecx
mov ecx, dword [esp + 0x48]
push 0
push ecx
push 0
push 0x61
push esi
call fcn.100574e0
mov edx, dword [esp + 0x84]
mov ecx, dword [edi + 0x48]
add esp, 0x1c
lea eax, [edx + ebp]
cmp ecx, eax
jle 0x100585c3
mov eax, ecx
mov edx, dword [esp + 0x6c]
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [ebx + 0x2c]
push eax
push ecx
push edx
push 0x35
push esi
call fcn.1004aaf0
push ebx
push edi
call fcn.100589f0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push 0x19
push esi
call fcn.10057e50
mov edx, dword [esp + 0x44]
xor eax, eax
mov ax, word [ebx + 0x32]
add edx, 2
push edx
push eax
push 0x19
push esi
call fcn.10057e50
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x74]
push ecx
push edx
push 0
push 1
push esi
call fcn.1004aaf0
add esp, 0x50
push 0xfffffffffffffffb
push 0x10081894
push 0xffffffffffffffff
push esi
call fcn.1004ad60
push 2
push esi
call fcn.1004ace0
mov eax, dword [esp + 0x84]
push eax
push 0x6a
push esi
call fcn.10058940
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x70], eax
push ecx
push 0
push 0x19
push esi
call fcn.10057e50
push esi
call fcn.100589e0
add esp, 0x38
mov dword [esp + 0x2c], eax
test ebp, ebp
jle 0x100587d5
push esi
call fcn.10058960
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
lea edx, [ebp*4]
push edx
push eax
call fcn.100299e0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x10058885
push 0x10
push esi
call fcn.10058220
push esi
call fcn.100589e0
add esp, 0xc
cmp ebp, 1
mov dword [esp + 0x2c], eax
jne 0x100586d9
cmp word [ebx + 0x32], bp
jne 0x100586d9
mov al, byte [ebx + 0x36]
test al, al
je 0x100586d9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x68]
push ecx
push edx
push 0x4d
push esi
call fcn.10057e50
add esp, 0x10
xor edi, edi
test ebp, ebp
jle 0x10058756
mov eax, dword [ebx + 0x20]
mov edx, dword [esp + 0x58]
mov ecx, dword [eax + edi*4]
push ecx
push edx
call fcn.1005f550
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
push eax
push edi
push 0x19
push esi
call fcn.10057e50
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x84]
push ecx
push edi
push edx
push 0x2e
push esi
call fcn.1004aaf0
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x74]
push 0xfffffffffffffffc
push eax
mov eax, dword [esp + 0x48]
lea edx, [edi + ecx]
push edx
push 0
push eax
push 0x4e
push esi
call fcn.100574e0
mov ecx, dword [esp + 0x6c]
add esp, 0x48
push 0x80
push esi
mov dword [ecx + edi*4], eax
call fcn.1004ace0
add esp, 8
inc edi
cmp edi, ebp
jl 0x100586df
mov edx, dword [esp + 0x1c]
push edx
push ebp
push 0x19
push esi
call fcn.10057e50
mov eax, dword [esp + 0x30]
push eax
push 0
push 0x10
push esi
call fcn.10057e50
mov ecx, dword [esp + 0x4c]
dec ecx
push ecx
push esi
call fcn.10057e70
add esp, 0x28
xor edi, edi
test ebp, ebp
jle 0x100587b4
mov edx, dword [esp + 0x24]
mov eax, dword [edx + edi*4]
push eax
push esi
call fcn.10057e70
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
lea edx, [edi + ecx]
push edx
push edi
push eax
push 0x2e
push esi
call fcn.1004aaf0
add esp, 0x1c
inc edi
cmp edi, ebp
jl 0x10058788
mov ecx, dword [esp + 0x20]
push ecx
push esi
call fcn.100589b0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.10029770
mov edi, dword [esp + 0x68]
add esp, 0x10
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ebp
push ecx
push 1
push 1
push esi
call fcn.1004aaf0
push 0xfffffffffffffffb
push 0x100818b8
push 0xffffffffffffffff
push esi
call fcn.1004ad60
push 2
push esi
call fcn.1004ace0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x98]
push edx
push eax
push 9
push esi
call fcn.10057e50
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x54]
push ecx
push 0
push edx
push esi
call fcn.10058a20
mov eax, dword [esp + 0x7c]
add esp, 0x4c
push 0
push 0x100930fc
push ebp
push 3
push eax
push 0x30
push esi
call fcn.100574e0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x80]
push ecx
push edx
push 0x46
push esi
call fcn.10057e50
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x90]
push eax
push ebp
push ecx
push 0x49
push esi
call fcn.1004aaf0
add esp, 0x40
push 8
push esi
call fcn.1004ace0
mov edx, dword [esp + 0x54]
push edx
push esi
call fcn.10057e70
add esp, 0x10
mov ebp, dword [esp + 0x5c]
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x10058541
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1005892c
mov al, byte [esp + 0x13]
test al, al
je 0x1005892c
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
push edi
push eax
push 0x31
push esi
call fcn.10057e50
push edi
push 0x2d
push esi
call fcn.10058940
mov ecx, dword [esp + 0x5c]
mov edi, eax
push ecx
push 0
push 0x1c
push esi
call fcn.10057e50
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
push 0
push 0x100930fc
push edx
push 3
push eax
push 0x30
push esi
call fcn.100574e0
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0xac]
add esp, 0x48
push ebp
push ebx
push 0x46
push esi
call fcn.10057e50
mov ecx, dword [esp + 0x24]
push ebp
push ecx
push ebx
push 0x49
push esi
call fcn.1004aaf0
push 8
push esi
call fcn.1004ace0
push edi
push esi
call fcn.10057e70
add esp, 0x34
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret