Function at 0x4d072e
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0xa4]
mov esi, 0x4f18a0
sub esp, 0xfc
mov dword [ebp - 0xc0], eax
xor eax, eax
cmp dword [ebp + 8], 1
mov dword [ebp - 0xbc], ecx
mov edi, ebx
mov ecx, 9
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x80]
mov ecx, 0x1a
mov byte [ebp - 0x9e], dl
rep movsd dword es:[edi], dword [esi]
jg 0x4d077f
mov dword [esp + 4], str.Wrong_number_of_arguments.__Usage:_n
jmp 0x4d0a6b
mov eax, dword [ebp - 0xbc]
mov ebx, 2
mov esi, dword [eax + 4]
cmp byte [esi], 0x2d
je 0x4d0837
movsx eax, byte [esi]
test al, al
je 0x4d0810
lea edi, [ebp - 0x80]
cmp byte [edi + 4], al
je 0x4d07af
lea ecx, [ebp - 0x18]
add edi, 8
cmp edi, ecx
jb 0x4d07a0
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0xa4]
cmp edi, ecx
jne 0x4d07ca
mov dword [esp + 8], eax
mov dword [esp + 4], str.unrecognized_option:__c
jmp 0x4d07e1
cmp byte [edi + 6], 0
je 0x4d07f5
cmp dword [ebp + 8], ebx
jg 0x4d07e9
mov dword [esp + 8], eax
mov dword [esp + 4], str.option_requires_an_argument:__c
mov dword [esp], edx
jmp 0x4d0a11
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + ebx*4]
inc ebx
jmp 0x4d07f7
xor ecx, ecx
movzx edx, byte [edi + 5]
lea eax, [ebp - 0xa4]
inc esi
call fcn.004c5f46
test eax, eax
je 0x4d0796
jmp 0x4d0d23
mov eax, dword [ebp + 8]
sub eax, ebx
test eax, eax
mov dword [ebp - 0x9c], eax
jle 0x4d0a58
mov eax, dword [ebp - 0xbc]
lea eax, [eax + ebx*4]
mov dword [ebp - 0x8c], eax
jmp 0x4d0a58
mov eax, dword [ebp + 8]
mov ebx, 1
dec eax
mov dword [ebp - 0xcc], eax
lea eax, [ebx*4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp - 0xc8]
mov esi, dword [eax]
cmp byte [esi], 0x2d
je 0x4d0876
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
sub eax, ebx
jmp 0x4d094d
mov eax, esi
call fcn.004b442b
cmp byte [esi + 1], 0x2d
mov dword [ebp - 0xc4], eax
je 0x4d0931
dec eax
mov edi, 1
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc4], edi
jle 0x4d0a4e
movsx edx, byte [esi + edi]
lea eax, [ebp - 0x80]
cmp dl, byte [eax + 4]
je 0x4d08bb
lea ecx, [ebp - 0x18]
add eax, 8
cmp eax, ecx
jb 0x4d08ac
lea ecx, [ebp - 0x18]
cmp eax, ecx
jne 0x4d08d3
mov dword [esp + 8], edx
mov dword [esp + 4], str.unrecognized_option:__c
jmp 0x4d09c8
cmp byte [eax + 6], 0
je 0x4d0912
cmp edi, dword [ebp - 0xc8]
jge 0x4d08ed
lea ecx, [esi + edi + 1]
mov edi, dword [ebp - 0xc4]
jmp 0x4d0914
cmp dword [ebp - 0xcc], ebx
jg 0x4d0906
mov dword [esp + 8], edx
mov dword [esp + 4], str.option_requires_an_argument:__c
jmp 0x4d09c8
mov ecx, dword [ebp - 0xbc]
inc ebx
mov ecx, dword [ecx + ebx*4]
jmp 0x4d0914
xor ecx, ecx
movzx edx, byte [eax + 5]
lea eax, [ebp - 0xa4]
call fcn.004c5f46
test eax, eax
jne 0x4d0d23
inc edi
jmp 0x4d0899
cmp byte [esi + 2], 0
jne 0x4d0958
mov eax, dword [ebp - 0xbc]
lea eax, [eax + ebx*4 + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
sub eax, ebx
dec eax
mov dword [ebp - 0x9c], eax
jmp 0x4d0a58
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0x80]
xor edi, edi
sub eax, 2
mov dword [ebp - 0xc4], eax
lea eax, [esi + 2]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edx]
mov dword [ebp - 0xd4], edx
mov eax, ecx
call fcn.004b442b
cmp dword [ebp - 0xc4], eax
mov edx, dword [ebp - 0xd4]
jg 0x4d09d2
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
mov edx, dword [ebp - 0xd4]
jne 0x4d09d2
test edi, edi
je 0x4d09d0
mov dword [esp + 8], esi
mov dword [esp + 4], str.ambiguous_option:__s
lea eax, [ebp - 0xa4]
jmp 0x4d0a0e
mov edi, edx
lea eax, [ebp - 0x18]
add edx, 8
cmp edx, eax
jb 0x4d0975
test edi, edi
lea eax, [ebp - 0xa4]
jne 0x4d09f4
mov dword [esp + 8], esi
mov dword [esp + 4], str.unrecognized_option:__s
jmp 0x4d0a0e
cmp byte [edi + 6], 0
je 0x4d0a35
cmp dword [ebp - 0xcc], ebx
jg 0x4d0a22
mov dword [esp + 8], esi
mov dword [esp + 4], str.option_requires_an_argument:__s
mov dword [esp], eax
call fcn.004c5ed1
test eax, eax
mov ebx, eax
jne 0x4d137e
jmp 0x4d0a92
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc8]
inc ebx
mov ecx, dword [eax + esi + 4]
jmp 0x4d0a37
xor ecx, ecx
movzx edx, byte [edi + 5]
lea eax, [ebp - 0xa4]
call fcn.004c5f46
test eax, eax
jne 0x4d0d23
inc ebx
cmp dword [ebp + 8], ebx
jg 0x4d0846
xor ebx, ebx
cmp byte [ebp - 0xa4], 0
jne 0x4d0a92
mov dword [esp + 4], str.Required_argument_missing.__Usage:_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edx, str.archive
add eax, 0x40
call fcn.004c5f9d
jmp 0x4d0d23
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x88], eax
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x4d0ad6
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004cf901
cmp eax, 3
mov esi, eax
jne 0x4d0b21
mov al, byte [ebp - 0xa4]
sub eax, 4
cmp al, 1
ja 0x4d0b15
jmp 0x4d0ae7
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 9], 3
je 0x4d0ac7
jmp 0x4d0c8d
mov eax, dword [ebp - 0x94]
test eax, eax
jne 0x4d0aff
mov dword [esp], 0x508e06
call fcn.004440e8
jmp 0x4d0b0f
mov dword [esp + 4], eax
mov dword [esp], str.zipfile__Q_
call fcn.004440e8
mov dword [ebp - 0x98], eax
mov byte [ebp - 0xa2], 1
jmp 0x4d0c8d
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x4d0c8d
cmp byte [ebp - 0xa0], 0
mov eax, 2
cmovne esi, eax
mov al, byte [ebp - 0xa4]
lea ecx, [eax - 1]
cmp cl, 2
jbe 0x4d0b55
cmp al, 7
mov edi, 1
jne 0x4d0b5a
mov edi, 6
cmp byte [ebp - 0xa1], 0
mov dword [ebp - 0x84], 0
je 0x4d0b9e
cmp esi, 2
mov ecx, str._using_apndvfs
mov eax, 0x506d14
cmove eax, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.___open_database__s_s_n
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
cmp esi, 2
mov edx, 0
mov eax, str.apndvfs
cmovne eax, edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x84]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call fcn.004b2520
test eax, eax
mov esi, eax
mov eax, dword [ebp - 0x84]
je 0x4d0c0f
mov dword [esp], eax
mov ebx, esi
call fcn.0042dd05
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x94]
mov dword [esp + 4], str.cannot_open_file:__s___s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4d137e
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004cad2c
mov eax, dword [ebp - 0x84]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004caebe
mov eax, dword [ebp - 0x88]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4c5e83
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], str.shell_putsnl
mov dword [esp], eax
call fcn.0042d609
cmp dword [ebp - 0x98], 0
jne 0x4d0d3f
cmp byte [ebp - 0xa2], 0
jne 0x4d0d3f
mov al, byte [ebp - 0xa4]
cmp al, 6
je 0x4d0d3f
dec al
je 0x4d0d2d
mov eax, dword [ebp - 0x84]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.name
mov dword [esp + 8], str.sqlar
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00490c89
test eax, eax
je 0x4d0d2d
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.database_does_not_contain_an_sqlar_table_n
add eax, 0x40
mov dword [esp], eax
call fcn.004c5d3a
mov ebx, 1
jmp 0x4d137e
mov dword [esp], str.sqlar
call fcn.004440e8
mov dword [ebp - 0x98], eax
mov dl, byte [ebp - 0xa4]
lea eax, [edx - 1]
cmp al, 6
ja case.0x4d0d53.1
movzx eax, al
jmp dword [eax*4 + 0x50c018]
xor ecx, ecx
xor edx, edx
jmp 0x4d1371
lea eax, [ebp - 0xa4]
lea edi, [ebp - 0xac]
mov dword [ebp - 0x80], str.sqlar_uncompress_data__sz_
mov dword [ebp - 0x7c], str.data
mov dword [ebp - 0xb0], 0
xor ebx, ebx
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
call fcn.004d05df
lea ecx, [ebp - 0xa8]
lea edx, [ebp - 0xa4]
mov dword [ebp - 0xac], eax
mov eax, edi
call fcn.004b88b3
cmp dword [ebp - 0xac], 0
jne 0x4d0dfc
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x4d0de0
mov dword [esp + 4], eax
mov dword [esp], 0x507dfd
call fcn.004440e8
jmp 0x4d0dec
mov dword [esp], 0x506d14
call fcn.004440e8
test eax, eax
mov ebx, eax
jne 0x4d0dfc
mov dword [ebp - 0xac], 7
mov eax, dword [ebp - 0xa8]
mov dword [esp + 0xc], str.SELECT____dir__name___writefile___dir__name____s__mode__mtime__FROM__s_WHERE___s__AND__data_IS_NULL_OR__dirOnly__0__AND_name_NOT_GLOB_..___
mov dword [esp + 4], edi
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 0x14], eax
movzx eax, byte [ebp - 0xa2]
mov eax, dword [ebp + eax*4 - 0x80]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xb0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004d0465
cmp dword [ebp - 0xac], 0
jne 0x4d0f7e
mov eax, dword [ebp - 0xb0]
mov dword [esp + 4], str._dir
xor esi, esi
mov dword [esp], eax
call fcn.004160f2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], ebx
mov dword [esp], eax
call fcn.0042e1f2
mov eax, dword [ebp - 0xb0]
mov dword [esp + 4], str._dirOnly
mov dword [esp], eax
call fcn.004160f2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.0042df80
cmp byte [ebp - 0xa1], 0
je 0x4d0f07
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.00403d1c
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], 0x508cd3
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4d0f50
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4d0f50
test esi, esi
je 0x4d0f12
cmp dword [ebp - 0xac], 0
je 0x4d0ef0
jmp 0x4d0f50
cmp byte [ebp - 0xa3], 0
je 0x4d0f07
mov eax, dword [ebp - 0xb0]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0041feb6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], 0x508cd3
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4d0f07
mov eax, dword [ebp - 0xb0]
mov dword [esp], edi
inc esi
mov dword [esp + 4], eax
call fcn.004d0587
cmp esi, 2
jne 0x4d0e8e
mov eax, dword [ebp - 0xb0]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004d0529
mov dword [esp], ebx
call fcn.0040b268
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
jmp 0x4d1339
lea eax, [ebp - 0xa4]
lea ebx, [ebp - 0xa8]
mov dword [ebp - 0x80], str.name
mov dword [ebp - 0x7c], str.lsmode_mode___sz__datetime_mtime__unixepoch___name
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
call fcn.004d05df
lea ecx, [ebp - 0xb0]
lea edx, [ebp - 0xa4]
mov dword [ebp - 0xa8], eax
mov eax, ebx
call fcn.004b88b3
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], str.SELECT__s_FROM__s_WHERE__s
mov dword [esp + 4], ebx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 0x14], eax
movzx eax, byte [ebp - 0xa3]
mov eax, dword [ebp + eax*4 - 0x80]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xac]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004d0465
cmp byte [ebp - 0xa1], 0
je 0x4d1119
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call fcn.00403d1c
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], 0x508cd3
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4d1157
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4d1157
cmp byte [ebp - 0xa3], 0
mov eax, dword [ebp - 0xac]
je 0x4d1128
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.0041feb6
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xac]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.0041feb6
mov edi, eax
mov eax, dword [ebp - 0xac]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00411c8f
mov esi, eax
mov eax, dword [ebp - 0xac]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0041feb6
mov edx, dword [ebp - 0xbc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], str._s___10d___s___s_n
mov dword [esp + 0x14], edx
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
cmp dword [ebp - 0xa8], 0
je 0x4d1064
jmp 0x4d1157
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0041feb6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], 0x508cd3
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4d1119
mov eax, dword [ebp - 0xac]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004d0529
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.0040b268
mov ebx, dword [ebp - 0xa8]
jmp 0x4d137e
mov eax, dword [ebp - 0xc0]
mov edx, str.archive
mov eax, dword [eax + 0x38]
call fcn.004c5f9d
jmp 0x4d137e
xor ecx, ecx
jmp 0x4d136c
cmp dword [ebp - 0x9c], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
je 0x4d11e6
lea eax, [ebp - 0xa4]
call fcn.004d05df
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xac], eax
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xac]
call fcn.004b88b3
xor ebx, ebx
cmp dword [ebp - 0xac], 0
jne 0x4d1328
mov eax, dword [ebp - 0xa8]
mov dword [esp], str.DELETE_FROM__s_WHERE__s_
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
call fcn.004440e8
cmp byte [ebp - 0xa1], 0
mov ebx, eax
je 0x4d1242
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], 0x508cd3
mov eax, dword [eax + 0x38]
mov dword [esp], eax
call fcn.004c5d3a
jmp 0x4d1328
mov eax, dword [ebp - 0x84]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SAVEPOINT_ar_
mov dword [ebp - 0x80], 0
mov dword [esp], eax
call fcn.00477ee4
test eax, eax
mov dword [ebp - 0xac], eax
jne 0x4d12fa
lea eax, [ebp - 0x80]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00477ee4
test eax, eax
mov dword [ebp - 0xac], eax
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x84]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
je 0x4d12e4
mov dword [esp + 4], str.ROLLBACK_TO_ar__RELEASE_ar_
mov dword [esp], eax
call fcn.00477ee4
jmp 0x4d12fa
mov dword [esp + 4], str.RELEASE_ar_
mov dword [esp], eax
call fcn.00477ee4
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4d1328
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.ERROR:__s_n
add eax, 0x20
mov dword [esp], eax
call fcn.004c5d3a
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0040b268
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call fcn.0040b268
mov dword [esp], ebx
call fcn.0040b268
mov ebx, dword [ebp - 0xac]
jmp 0x4d137e
cmp dl, 2
je 0x4d1367
mov dword [esp + 8], 0x5998
mov dword [esp + 4], str.shell.c
mov dword [esp], str.cmd.eCmdAR_CMD_UPDATE
call fcn.004eaa60
mov ecx, 1
mov edx, 1
lea eax, [ebp - 0xa4]
call fcn.004c628c
mov ebx, eax
mov edi, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x84]
cmp eax, dword [edi]
je 0x4d1396
mov dword [esp], eax
call fcn.004d03a9
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call fcn.0040b268
add esp, 0xfc
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret