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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], edi
inc edi
mov dword [esp + 0x44], edi
inc edi
mov dword [esp + 0x20], edi
inc edi
mov ecx, dword [eax]
mov dword [esp + 0x3c], edi
inc edi
push eax
mov dword [esp + 0x2c], edi
inc edi
mov ebx, edi
inc edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], ecx
mov byte [esp + 0x17], 1
inc edi
call fcn.004983b0
mov esi, eax
add esp, 4
test esi, esi
je 0x487bc6
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x487bc6
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x487bc6
mov edx, dword [ebp]
push 7
push str.sqlite_
push edx
call fcn.0045a940
add esp, 0xc
test eax, eax
je 0x487bc6
mov eax, dword [ebp + 0x40]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.00480b60
mov edx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
shl eax, 4
mov ecx, dword [edx + 0x10]
mov edx, dword [eax + ecx]
mov eax, dword [ebp]
mov ecx, dword [esp + 0x58]
push edx
push 0
push eax
push 0x1c
push ecx
call fcn.0048cd30
add esp, 0x1c
test eax, eax
jne 0x487bc6
mov edx, dword [ebp]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebp + 0x20]
push eax
push ecx
push edx
call fcn.0048cde0
mov ecx, dword [esp + 0x64]
push 0
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x30], eax
inc eax
mov dword [ecx + 0x48], eax
mov eax, dword [ebp]
mov ecx, dword [esp + 0x50]
push eax
push 0
push ecx
push 0
push 0x5e
push esi
call fcn.00486710
mov eax, dword [ebp + 8]
add esp, 0x30
test eax, eax
mov dword [esp + 0x60], eax
je 0x487afb
jmp 0x487753
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x40], 0
test ecx, ecx
je 0x48776b
cmp ecx, eax
jne 0x487aec
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x487777
mov byte [esp + 0x13], 0
xor ebp, ebp
mov bp, word [eax + 0x2c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
lea edx, [ebp*4]
push edx
push eax
call fcn.00459430
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x487ae4
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
push ecx
push edx
call fcn.004909a0
mov edx, dword [esp + 0x58]
lea ecx, [edi + ebp*2 + 1]
add esp, 8
cmp ecx, dword [edx + 0x4c]
jle 0x4877c4
mov dword [edx + 0x4c], ecx
mov ecx, dword [esp + 0x60]
push 0xfffffffffffffff0
push eax
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 0x28]
push eax
mov eax, dword [esp + 0x24]
push edx
push eax
push 0x30
push esi
call fcn.00486710
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
push 0
mov edx, dword [ecx]
push edx
push 0
push eax
push 0
push 0x5e
push esi
call fcn.00486710
add esp, 0x38
mov dword [esp + 0x2c], 0
test ebp, ebp
jl 0x487855
mov ecx, dword [esp + 0x2c]
add ecx, edi
push ecx
push 0
push 0x15
push esi
call fcn.004870f0
mov eax, dword [esp + 0x3c]
add esp, 0x10
inc eax
cmp eax, ebp
mov dword [esp + 0x2c], eax
jle 0x48780a
test ebp, ebp
jle 0x487855
lea edx, [edi + ebp + 1]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
push eax
push 0
push 0x18
push esi
call fcn.004870f0
mov ecx, dword [esp + 0x3c]
add esp, 0x10
inc ecx
dec ebp
mov dword [esp + 0x2c], ecx
jne 0x487837
push esi
call fcn.00487bf0
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push 0x65
push esi
mov dword [esp + 0x40], eax
call fcn.004870f0
push esi
call fcn.00487c60
push 1
push edi
push 0x20
push esi
mov dword [esp + 0x70], eax
call fcn.004870f0
mov eax, dword [esp + 0x3c]
add esp, 0x28
xor ebp, ebp
test eax, eax
jle 0x48790c
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
push edx
push ebp
push eax
push 0x29
push esi
call fcn.00486750
add esp, 0x14
test ebp, ebp
jne 0x4878bc
lea ecx, [edi + 1]
push ecx
push 0x28
push esi
call fcn.00487bd0
add esp, 0xc
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x50]
mov ecx, dword [eax + ebp*4]
push ecx
push edx
call fcn.0048dde0
push 0xfffffffffffffffc
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + edi + 1]
add eax, ebp
push eax
push 0
push ecx
push 0x4b
push esi
call fcn.00486710
mov edx, dword [esp + 0x54]
push 0x80
push esi
mov dword [edx + ebp*4], eax
call fcn.00487620
mov eax, dword [esp + 0x40]
add esp, 0x2c
inc ebp
cmp ebp, eax
jl 0x48788f
mov eax, dword [esp + 0x2c]
push eax
push 0
push 0xe
push esi
call fcn.004870f0
mov eax, dword [esp + 0x24]
add esp, 0x10
xor ebp, ebp
test eax, eax
jle 0x48797f
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + ebp*4]
push edx
push esi
call fcn.00487110
add esp, 8
test ebp, ebp
jne 0x48794b
mov eax, dword [esp + 0x40]
push eax
push esi
call fcn.00487110
add esp, 8
lea ecx, [edi + ebp + 1]
push 1
push ecx
push 0x20
push esi
call fcn.004870f0
mov edx, dword [esp + 0x24]
lea eax, [edx + edi + 1]
add eax, ebp
push eax
mov eax, dword [esp + 0x2c]
push ebp
push eax
push 0x29
push esi
call fcn.00486750
mov eax, dword [esp + 0x38]
add esp, 0x24
inc ebp
cmp ebp, eax
jl 0x487928
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.004591b0
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.00487c40
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x28]
push ecx
push ebp
push 7
push esi
call fcn.004870f0
push ebp
push 0x36
push esi
call fcn.00487bd0
mov edx, dword [esp + 0x4c]
push edx
push edi
push 0x1d
push esi
call fcn.004870f0
push edi
push 0x28
push esi
call fcn.00487bd0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x5c]
add esp, 0x48
test eax, eax
jle 0x487a64
or eax, 0xffffffff
lea ebp, [edi + 1]
sub eax, edi
mov dword [esp + 0x48], eax
push 0
push 0x4d215c
push 0
push ebx
push 0
push 0x5e
push esi
call fcn.00486710
mov eax, dword [esp + 0x3c]
push eax
push eax
push ebx
push 0x5b
push esi
call fcn.00486750
push ebx
push ebp
push edi
push 0x56
push esi
call fcn.00486750
add esp, 0x44
push 0xffffffffffffffff
push ebx
push 0x20
push esi
call fcn.004870f0
push ebx
push ebx
push ebp
push 0x59
push esi
call fcn.00486750
push ebx
push 0x90
push esi
call fcn.00487bd0
mov eax, dword [esp + 0x50]
push eax
push eax
push ebx
push 0x5b
push esi
call fcn.00486750
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
add esp, 0x44
inc ebp
add eax, ebp
cmp eax, ecx
jl 0x4879ed
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x487a7d
mov edx, dword [esp + 0x40]
push edx
push esi
call fcn.00487110
add esp, 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
push 0
push 0x4e03d4
push eax
push 3
push ecx
push 0x2b
push esi
call fcn.00486710
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
push edx
push ebp
push 0x41
push esi
call fcn.004870f0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
push eax
push ecx
push ebp
push 0x42
push esi
call fcn.00486750
add esp, 0x40
push 8
push esi
call fcn.00487620
mov edx, dword [esp + 0x68]
add esp, 8
mov eax, dword [edx + 0x24]
test eax, eax
jne 0x487ae4
mov eax, dword [esp + 0x40]
push eax
push esi
call fcn.00487110
add esp, 8
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 0x60], eax
jne 0x48774f
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x487bb6
mov al, byte [esp + 0x13]
test al, al
je 0x487bb6
mov ecx, dword [esp + 0x34]
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
push ecx
push edx
push edi
push 0x30
push esi
call fcn.00486750
mov ebx, dword [esp + 0x34]
push ebx
push edi
push 0x2c
push esi
call fcn.004870f0
push edi
push 0x36
push esi
call fcn.00487bd0
push ebx
push 0x28
push esi
call fcn.00487bd0
mov edi, eax
mov eax, dword [esp + 0x80]
push eax
push 0
push 0x18
push esi
call fcn.004870f0
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
add esp, 0x4c
push 0
push 0x4e03d4
push ebp
push 3
push ecx
push 0x2b
push esi
call fcn.00486710
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x78]
push edx
push ebx
push 0x41
push esi
call fcn.004870f0
mov eax, dword [esp + 0x50]
push eax
push ebp
push ebx
push 0x42
push esi
call fcn.00486750
add esp, 0x40
push 8
push esi
call fcn.00487620
push edi
push esi
call fcn.00487110
add esp, 0x10
jmp 0x487bba
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
cmp dword [eax + 0x4c], ebp
jge 0x487bc6
mov dword [eax + 0x4c], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret