Function at 0x1005d5f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi + 0x30]
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 8]
xor ecx, ecx
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ebx
cmp dword [ebx + 0x2c], ecx
je 0x1005d690
movzx eax, byte [esi + 4]
sub eax, 0x74
je 0x1005d66f
dec eax
je 0x1005d668
dec eax
je 0x1005d661
mov eax, str.UNION
jmp 0x1005d674
mov eax, str.INTERSECT
jmp 0x1005d674
mov eax, str.EXCEPT
jmp 0x1005d674
mov eax, str.UNION_ALL
push eax
push str.ORDER_BY_clause_should_come_after__s_not_before
push edi
call fcn.10006e10
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x1005de1b
cmp dword [ebx + 0x38], ecx
je 0x1005d6d8
movzx eax, byte [esi + 4]
sub eax, 0x74
je 0x1005d6cb
dec eax
je 0x1005d6be
dec eax
je 0x1005d6b1
mov eax, str.UNION
push eax
push str.LIMIT_clause_should_come_after__s_not_before
jmp 0x1005d67a
mov eax, str.INTERSECT
push eax
push str.LIMIT_clause_should_come_after__s_not_before
jmp 0x1005d67a
mov eax, str.EXCEPT
push eax
push str.LIMIT_clause_should_come_after__s_not_before
jmp 0x1005d67a
mov eax, str.UNION_ALL
push eax
push str.LIMIT_clause_should_come_after__s_not_before
jmp 0x1005d67a
call fcn.1005cba0
mov cl, byte [esp + 0x3c]
mov dword [esp + 0x10], eax
cmp cl, 0xc
jne 0x1005d709
mov ecx, dword [esi]
mov edi, dword [ecx]
mov ebx, dword [esp + 0x40]
mov edx, 0x39
call fcn.10024400
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
mov cl, 0xe
mov byte [esp + 0x3c], cl
mov eax, dword [esi + 8]
test eax, 0x200
je 0x1005d72c
lea edx, [esp + 0x3c]
push edx
push edi
mov eax, esi
call fcn.1005d590
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x1005de1b
test eax, 0x2000
je 0x1005d748
lea eax, [esp + 0x3c]
push eax
push edi
mov edi, esi
call fcn.1005cea0
add esp, 8
jmp 0x1005dcce
cmp dword [esi + 0x2c], 0
je 0x1005d763
mov ecx, dword [ebp + 0x10]
push ecx
push esi
push edi
call fcn.1005e350
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 4]
sub eax, 0x73
je 0x1005dac1
dec eax
je 0x1005d99c
dec eax
je 0x1005dac1
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0x48]
lea eax, [ebx + 1]
mov dword [esp + 0x24], eax
inc eax
xor edi, edi
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x10]
lea edx, [edi + 0x39]
mov dword [esp + 0x18], ebx
call fcn.10024400
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x34]
xor ebx, ebx
mov eax, esi
cmp ecx, ebx
je 0x1005d7b9
nop
mov eax, ecx
mov ecx, dword [eax + 0x34]
cmp ecx, ebx
jne 0x1005d7b0
or dword [eax + 8], 0x10
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x1d8]
mov dword [esp + 0x54], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
push edx
push ecx
push eax
mov word [esp + 0x5c], 1
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
call fcn.10061e50
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x1005de1b
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
xor edi, edi
lea edx, [edi + 0x39]
call fcn.10024400
mov edx, dword [esp + 0x24]
mov edi, dword [esi + 0x38]
mov ebx, dword [esi + 0x3c]
mov dword [esi + 0x18], eax
xor eax, eax
mov dword [esp + 0x54], edx
lea edx, [esp + 0x50]
mov dword [esi + 0x30], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1d8]
push edx
push esi
push eax
mov dword [esp + 0x34], ecx
call fcn.10061e50
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
movzx eax, word [eax + 6]
add esp, 0xc
cmp word [esi + 6], ax
jle 0x1005d86a
mov word [esi + 6], ax
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.10038a50
add esp, 8
cmp byte [esp + 0x3c], 9
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], ebx
jne 0x1005d8ad
mov ecx, dword [esi + 0x30]
mov eax, esi
test ecx, ecx
je 0x1005d89a
mov eax, ecx
mov ecx, dword [eax + 0x30]
test ecx, ecx
jne 0x1005d891
mov ecx, dword [eax]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.1005c360
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov eax, ebx
call fcn.10024930
mov edi, eax
mov eax, ebx
mov dword [esp + 0x34], edi
call fcn.10024930
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
push edi
push esi
call fcn.1005cc20
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov edx, 0x6c
mov eax, esi
call fcn.10024400
mov ecx, dword [ebp + 8]
call fcn.1003df90
mov edi, eax
mov edx, 0x65
mov eax, esi
call fcn.10024400
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push 0
push ecx
mov dword [esp + 0x48], eax
push 0x44
mov eax, edi
mov ecx, esi
call fcn.100247f0
mov edx, dword [ebp + 8]
add esp, 0x14
mov esi, edi
call fcn.1003dfb0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 0xc]
push esi
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [eax]
push 0
push 0
push ebx
push ecx
push eax
push edx
call fcn.1005a930
add esp, 0x24
push esi
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.10024980
mov edi, dword [esp + 0x3c]
add esp, 4
mov edx, 7
mov eax, esi
call fcn.10024400
mov edx, dword [esp + 0x34]
push edx
mov ecx, esi
call fcn.10024980
mov ebx, dword [esp + 0x28]
xor edi, edi
add esp, 4
lea edx, [edi + 0x3d]
mov eax, esi
call fcn.10024400
mov ebx, dword [esp + 0x18]
lea edx, [edi + 0x3d]
mov eax, esi
call fcn.10024400
mov esi, dword [ebp + 0xc]
jmp 0x1005dcce
mov eax, dword [esi + 0xc]
mov dword [ebx + 0xc], eax
mov ecx, dword [esi + 0x10]
mov dword [ebx + 0x10], ecx
mov edx, dword [esi + 0x38]
mov dword [ebx + 0x38], edx
mov eax, dword [esi + 0x3c]
lea edx, [esp + 0x3c]
push edx
mov dword [ebx + 0x3c], eax
mov ecx, dword [edi + 0x1d8]
push ebx
push edi
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], ecx
call fcn.10061e50
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x14], eax
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], ecx
cmp eax, ecx
jne 0x1005de1b
mov dword [esi + 0x30], ecx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov dword [esi + 0x10], ecx
test edi, edi
je 0x1005da30
mov eax, dword [esp + 0x10]
mov ebx, 0x2e
call fcn.100243a0
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1005da30
mov edx, dword [esi + 0xc]
push eax
inc eax
push eax
mov eax, dword [esp + 0x18]
push edx
push 0x8b
push eax
call fcn.100242d0
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1d8]
lea edx, [esp + 0x3c]
push edx
push esi
push eax
mov dword [esp + 0x34], ecx
call fcn.10061e50
mov ebx, dword [esp + 0x2c]
mov cx, word [esi + 6]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x3c], eax
mov dword [esi + 0x30], ebx
mov ax, word [ebx + 6]
add esp, 0xc
call fcn.100081b0
mov di, ax
mov word [esi + 6], di
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x1005daa7
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.10039c40
add esp, 8
test eax, eax
je 0x1005daa7
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x1005daa7
cdq
push edx
push eax
call fcn.10008200
add esp, 8
cmp di, ax
jle 0x1005daa7
mov word [esi + 6], ax
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x1005dcce
mov eax, dword [esp + 0x10]
call fcn.10024c90
jmp 0x1005dcce
cmp cl, 1
jne 0x1005dad0
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
jmp 0x1005db14
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x48]
lea ecx, [ebx + 1]
xor edi, edi
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x10]
lea edx, [edi + 0x39]
mov dword [esp + 0x18], ebx
call fcn.10024400
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x34]
mov eax, esi
test ecx, ecx
je 0x1005db09
lea ebx, [ebx]
mov eax, ecx
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x1005db00
or dword [eax + 8], 0x10
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
xor eax, eax
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0x1d8]
push ebx
push edi
mov dword [esp + 0x74], edx
mov word [esp + 0x70], 1
mov dword [esp + 0x38], eax
call fcn.10061e50
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1005de1b
cmp byte [esi + 4], 0x75
mov edx, dword [esi + 0x38]
sete al
xor ecx, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], ecx
lea ecx, [esp + 0x64]
inc al
push ecx
mov byte [esp + 0x68], al
mov eax, dword [edi + 0x1d8]
push esi
push edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], eax
call fcn.10061e50
mov edx, dword [esi + 0x2c]
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.10039850
mov ecx, dword [esi + 0x30]
add esp, 8
cmp byte [esi + 4], 0x73
mov dword [esp + 0x30], ecx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x2c], 0
jne 0x1005dbce
mov ax, word [ebx + 6]
mov cx, word [esi + 6]
call fcn.100081b0
mov word [esi + 6], ax
mov edx, dword [esi + 0x38]
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.10038a50
mov edx, dword [esp + 0x3c]
mov al, byte [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x3c], edx
xor edx, edx
add esp, 8
mov dword [esi + 0x38], ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], edx
cmp al, 1
je 0x1005dcce
cmp al, 9
jne 0x1005dc29
mov ecx, dword [esi + 0x30]
mov eax, esi
cmp ecx, edx
je 0x1005dc19
mov edi, edi
mov eax, ecx
mov ecx, dword [eax + 0x30]
cmp ecx, edx
jne 0x1005dc10
mov ecx, dword [eax]
mov edx, dword [eax + 0x1c]
push ecx
push edx
push edi
call fcn.1005c360
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov eax, ebx
call fcn.10024930
mov edi, eax
mov eax, ebx
mov dword [esp + 0x34], edi
call fcn.10024930
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 8]
push edi
push esi
call fcn.1005cc20
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, 0x6c
call fcn.10024400
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x20]
mov ecx, edi
mov edi, dword [esp + 0x40]
push ecx
mov ecx, dword [esi]
push edi
lea edx, [esp + 0x4c]
push edx
mov edx, dword [ebp + 8]
push 0
push 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
push eax
push ecx
push esi
push edx
call fcn.1005a930
add esp, 0x2c
push edi
mov ecx, ebx
call fcn.10024980
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
add esp, 4
mov edx, 7
mov eax, ecx
call fcn.10024400
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
push eax
call fcn.10024980
xor edi, edi
add esp, 4
lea edx, [edi + 0x3d]
mov eax, ecx
call fcn.10024400
mov al, byte [esi + 4]
mov edx, dword [esp + 0x28]
mov esi, dword [ebp + 8]
xor ecx, ecx
cmp al, 0x74
setne cl
movzx eax, al
push ecx
mov ecx, dword [esp + 0x30]
push edx
push ecx
call fcn.1005b710
mov eax, dword [ebp + 0xc]
add esp, 0xc
test byte [eax + 8], 0x10
je 0x1005de1b
mov edx, dword [eax]
mov eax, dword [edx]
mov edi, dword [esp + 0x1c]
push 1
push eax
mov dword [esp + 0x34], eax
call fcn.1005b5e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1005dd28
mov dword [esp + 0x14], 7
jmp 0x1005de1b
xor edi, edi
lea ebx, [esi + 0x14]
cmp dword [esp + 0x2c], edi
jle 0x1005dd5d
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
push eax
push ecx
call fcn.1005cd40
add esp, 0xc
mov dword [ebx], eax
test eax, eax
jne 0x1005dd53
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
mov dword [ebx], eax
inc edi
add ebx, 4
cmp edi, dword [esp + 0x2c]
jl 0x1005dd33
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], edi
jmp 0x1005dd70
mov dword [esp + 0x34], 0
add edi, 0x14
mov ecx, dword [edi]
test ecx, ecx
js 0x1005ddfb
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
cmp byte [edx + 0x45], 0
je 0x1005dd94
mov edx, 0x100d87f0
jmp 0x1005dd9d
mov ebx, dword [eax + 4]
lea edx, [ecx + ecx*4]
lea edx, [ebx + edx*4]
mov ebx, dword [esp + 0x2c]
mov dword [edx + 8], ebx
inc dword [esi]
mov edx, dword [eax]
cmp byte [edx + 0x45], 0
je 0x1005ddbc
mov ecx, esi
mov eax, 0xfffffffa
call fcn.10024cd0
jmp 0x1005dde4
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
cmp byte [edx + ecx*4 + 1], 0
lea ecx, [edx + ecx*4]
je 0x1005dddd
push esi
push eax
mov eax, 0xfffffffa
call fcn.10024ec0
add esp, 8
jmp 0x1005dde4
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xfa
mov eax, dword [esp + 0x34]
inc eax
mov dword [edi], 0xffffffff
add edi, 4
mov dword [esp + 0x34], eax
cmp eax, 2
jl 0x1005dd7b
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x30]
mov dword [esp + 0x28], edi
test edi, edi
jne 0x1005dd70
dec dword [esi]
jne 0x1005de1b
push esi
call sym.SQLite3Encrypt.dll_sqlite3_free
add esp, 4
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x30]
push 1
push eax
push ecx
call fcn.100598f0
mov eax, dword [esp + 0x20]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret