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

Disassembly:
sub esp, 0x80
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ebx
push ebp
push esi
xor esi, esi
push edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
cmp word [esp + 0xa4], si
je 0x1005e2c4
test byte [eax + 0x3c], 0x80
je 0x1005e2c4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov edx, dword [esp + 0x98]
movzx eax, word [edx]
mov dword [esp + 0x68], eax
cmp ax, 0x3f
ja 0x1005e2b7
movzx ecx, ax
mov eax, 1
xor edx, edx
mov byte [esp + 0x16], 1
mov dword [esp + 0x34], ecx
call fcn.100a7780
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x5c]
ja 0x1005e8bc
jb 0x1005e330
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x58]
jae 0x1005e8bc
movzx eax, word [esp + 0xa4]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x1005e8bc
test ecx, ecx
jle 0x1005e35a
mov edx, dword [esp + 0x2c]
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xc]
or dword [esp + 0x40], esi
or dword [esp + 0x44], edx
cmp ecx, eax
jge 0x1005e36d
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0x18]
mov edx, dword [edx + ecx*4]
jmp 0x1005e374
mov edx, dword [esp + 0xa8]
test dword [edx + 0x24], 0x400
mov dword [esp + 0x2c], edx
jne 0x1005e8b6
movzx eax, byte [edx + 0x10]
mov ecx, dword [esp + 0x94]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + ecx + 0x38]
xor ecx, ecx
cmp dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
jle 0x1005e4ce
mov dword [esp + 0x28], ecx
mov eax, 1
xor edx, edx
call fcn.100a7780
mov ebp, edx
mov ebx, eax
and eax, dword [esp + 0x18]
mov ecx, ebp
and ecx, dword [esp + 0x1c]
or eax, ecx
jne 0x1005e4b2
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edx]
call fcn.10013bd0
mov edi, eax
cmp byte [edi], 0x9a
jne 0x1005e4b2
mov ecx, dword [esp + 0x30]
cmp dword [edi + 0x1c], ecx
jne 0x1005e4b2
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
movsx ecx, word [edi + 0x20]
push 0
not eax
not edx
push eax
push edx
mov edx, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x40]
add edx, 0x148
mov eax, 0x82
call fcn.1005b390
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1005e4b2
test byte [esi + 0x12], 2
je 0x1005e4aa
cmp word [edi + 0x20], 0
jl 0x1005e4aa
mov edx, dword [esp + 0x98]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + eax]
push edx
call fcn.100524f0
add esp, 4
test eax, eax
jne 0x1005e479
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 8]
mov edi, dword [eax]
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
push ecx
mov ecx, dword [esi]
call fcn.100524f0
add esp, 4
test eax, eax
jne 0x1005e49a
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 8]
mov eax, dword [eax]
push eax
push edi
call sym.SQLite.Interop.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x1005e4b2
or dword [esp + 0x18], ebx
or dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x24]
add dword [esp + 0x28], 0x18
inc ecx
cmp ecx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
jl 0x1005e3b5
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x24]
test eax, 0x1000
jne 0x1005e782
test eax, 0x100
je 0x1005e4f2
xor edi, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x54], edi
lea eax, [edi + 1]
jmp 0x1005e526
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x1005e2b7
test byte [ecx + 0x34], 4
jne 0x1005e2b7
movzx edx, word [ecx + 0x2e]
cmp byte [ecx + 0x32], 0
movzx eax, word [ecx + 0x30]
mov dword [esp + 0x54], edx
setne byte [esp + 0x16]
mov edi, ecx
movzx esi, ax
xor edx, edx
mov byte [esp + 0x21], 0
mov byte [esp + 0x22], 0
mov byte [esp + 0x23], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x64], esi
test esi, esi
jle 0x1005e782
lea ebx, [ebx]
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 0x18]
cmp edx, ecx
jge 0x1005e583
cmp word [eax + 0x2a], 0
jne 0x1005e583
mov eax, dword [eax + 0x30]
mov eax, dword [eax + edx*4]
movzx eax, word [eax + 0x12]
test al, 0x82
je 0x1005e583
test al, al
jns 0x1005e770
mov byte [esp + 0x16], 0
jmp 0x1005e770
test edi, edi
je 0x1005e5a9
mov eax, dword [edi + 4]
movsx esi, word [eax + edx*2]
mov eax, dword [edi + 0x1c]
mov al, byte [edx + eax]
mov byte [esp + 0x17], al
mov eax, dword [edi + 0xc]
movsx eax, word [eax + 0x24]
mov dword [esp + 0x28], esi
cmp esi, eax
jne 0x1005e5b5
jmp 0x1005e5ae
mov byte [esp + 0x17], 0
or esi, 0xffffffff
mov dword [esp + 0x28], esi
cmp byte [esp + 0x16], 0
je 0x1005e5d9
test esi, esi
jl 0x1005e5d9
cmp edx, ecx
jl 0x1005e5d9
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
lea edx, [esi + esi*2]
cmp byte [eax + edx*8 + 0x14], 0
jne 0x1005e5d9
mov byte [esp + 0x16], 0
mov ebp, dword [esp + 0x98]
xor esi, esi
mov bl, 1
xor edi, edi
cmp esi, dword [esp + 0x34]
jge 0x1005e6b8
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.100a7780
and eax, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
or eax, edx
jne 0x1005e6ac
mov ecx, dword [ebp + 4]
mov ecx, dword [edi + ecx]
mov eax, ecx
test eax, eax
je 0x1005e644
lea ebx, [ebx]
mov edx, dword [eax + 4]
test edx, 0x1000
je 0x1005e644
test edx, 0x40000
je 0x1005e63d
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 4]
mov eax, dword [eax]
jmp 0x1005e640
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x1005e620
test dword [esp + 0xa0], 0x300
jne 0x1005e653
xor bl, bl
cmp byte [eax], 0x9a
jne 0x1005e6ac
mov edx, dword [esp + 0x30]
cmp dword [eax + 0x1c], edx
jne 0x1005e6ac
movsx edx, word [eax + 0x20]
mov eax, dword [esp + 0x28]
cmp edx, eax
jne 0x1005e6ac
test eax, eax
jl 0x1005e6e3
mov eax, dword [esp + 0x94]
mov edx, dword [eax]
push edx
call fcn.100524f0
add esp, 4
test eax, eax
jne 0x1005e68e
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x20]
mov ecx, dword [esp + 0x3c]
mov edx, dword [edx + ecx*4]
mov eax, dword [eax]
push edx
push eax
call sym.SQLite.Interop.dll_sqlite3_stricmp
add esp, 8
test eax, eax
je 0x1005e6e3
inc esi
add edi, 0x18
test bl, bl
jne 0x1005e5e6
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1005e6c9
movzx edx, word [esp + 0x54]
cmp eax, edx
jge 0x1005e6ce
mov byte [esp + 0x16], 0
cmp byte [esp + 0x23], 0
je 0x1005e782
mov byte [esp + 0x16], 1
jmp 0x1005e78d
test dword [esp + 0xa0], 0x100
jne 0x1005e742
cmp byte [esp + 0x21], 0
je 0x1005e70d
mov al, byte [esp + 0x17]
xor al, byte [esp + 0x22]
mov edx, dword [ebp + 4]
lea ecx, [esi + esi*2]
cmp al, byte [edx + ecx*8 + 0xc]
jne 0x1005e6b8
jmp 0x1005e742
mov ecx, dword [ebp + 4]
lea eax, [esi + esi*2]
mov al, byte [ecx + eax*8 + 0xc]
xor al, byte [esp + 0x17]
mov byte [esp + 0x22], al
je 0x1005e73d
mov ecx, dword [esp + 0x38]
mov eax, 1
xor edx, edx
call fcn.100a7780
mov ecx, dword [esp + 0xac]
or dword [ecx], eax
or dword [ecx + 4], edx
mov byte [esp + 0x21], 1
cmp dword [esp + 0x28], 0
jge 0x1005e74e
mov byte [esp + 0x23], 1
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.100a7780
or dword [esp + 0x18], eax
or dword [esp + 0x1c], edx
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x64]
inc edx
cmp edx, esi
mov dword [esp + 0x3c], edx
jl 0x1005e550
jmp 0x1005e6ce
cmp byte [esp + 0x16], 0
je 0x1005e8a5
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
or dword [esp + 0x48], ecx
mov edx, dword [eax + 0xc]
or dword [esp + 0x4c], edx
xor ecx, ecx
cmp dword [esp + 0x34], ecx
mov dword [esp + 0x24], ecx
jle 0x1005e8a5
mov dword [esp + 0x30], ecx
mov eax, 1
xor edx, edx
call fcn.100a7780
mov ecx, edx
mov ebx, eax
and eax, dword [esp + 0x18]
mov dword [esp + 0x8c], ecx
and ecx, dword [esp + 0x1c]
or eax, ecx
jne 0x1005e88d
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x30]
mov esi, dword [edx + ecx]
mov eax, dword [esp + 0x94]
add eax, 0x44
push esi
push eax
call fcn.1001a910
mov edi, eax
mov ebp, edx
mov ecx, edi
add esp, 8
or ecx, ebp
jne 0x1005e86a
xor eax, eax
lea edx, [esp + 0x6c]
push esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
push edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov byte [esp + 0x88], 1
mov dword [esp + 0x74], 0x10013a10
mov dword [esp + 0x78], 0x10013a00
mov dword [esp + 0x8c], eax
call fcn.10020e40
add esp, 8
cmp byte [esp + 0x80], 0
je 0x1005e88d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
not eax
not ecx
and eax, edi
and ecx, ebp
or eax, ecx
jne 0x1005e88d
mov eax, dword [esp + 0x8c]
or dword [esp + 0x18], ebx
or dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x24]
add dword [esp + 0x30], 0x18
inc ecx
cmp ecx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
jl 0x1005e7b3
inc dword [esp + 0x38]
cmp byte [esp + 0x16], 0
jne 0x1005e312
jmp 0x1005e8bc
cmp byte [edx + 0x1d], 0
jne 0x1005e8d0
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0x18], ecx
jne 0x1005e8df
mov edx, dword [esp + 0x5c]
cmp dword [esp + 0x1c], edx
jne 0x1005e8df
mov al, byte [esp + 0x68]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp byte [esp + 0x16], 0
jne 0x1005e93e
mov ebx, dword [esp + 0x34]
dec ebx
test ebx, ebx
jle 0x1005e2b7
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.100a7780
add eax, 0xffffffff
adc edx, 0xffffffff
mov ecx, eax
mov esi, edx
and ecx, edi
and esi, ebp
cmp ecx, eax
jne 0x1005e91f
cmp esi, edx
je 0x1005e931
dec ebx
test ebx, ebx
jg 0x1005e8fb
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
pop edi
pop esi
pop ebp
or al, 0xff
pop ebx
add esp, 0x80
ret