Function at 0x61e34d3b
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, edx
sub esp, 0x3c
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
mov eax, edx
call sym._sqlite3Strlen30
test byte [ebp - 0x20], 0x40
mov ebx, eax
jne 0x61e34d6d
cmp dword [0x61e8c34c], 0
je 0x61e35143
cmp ebx, 4
jle 0x61e35143
mov dword [esp + 8], 5
mov dword [esp + 4], str.file:
mov dword [esp], esi
call sym._memcmp
test eax, eax
jne 0x61e35143
lea eax, [ebx + 2]
lea ecx, [esi + ebx]
mov edi, esi
cdq
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
cmp byte [edi], 0x26
sete cl
xor ebx, ebx
add eax, ecx
adc edx, ebx
inc edi
cmp edi, dword [ebp - 0x1c]
jne 0x61e34da2
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.sqlite3.dll_sqlite3_malloc64
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x61e34dd3
mov eax, 7
jmp 0x61e351d6
mov eax, dword [ebp - 0x20]
mov ebx, 5
or eax, 0x40
cmp byte [esi + 5], 0x2f
mov dword [ebp - 0x24], eax
je 0x61e34df3
mov dword [ebp - 0x20], 0
jmp 0x61e34ee7
cmp byte [esi + 6], 0x2f
jne 0x61e34de7
mov ebx, 7
mov al, byte [esi + ebx]
test al, al
je 0x61e34e0c
cmp al, 0x2f
je 0x61e34e0c
inc ebx
jmp 0x61e34dfe
cmp ebx, 7
je 0x61e34de7
cmp ebx, 0x10
lea edi, [esi + 7]
jne 0x61e34e35
mov dword [esp + 8], 9
mov dword [esp + 4], edi
mov dword [esp], str.localhost
call sym._memcmp
test eax, eax
je 0x61e34de7
sub ebx, 7
mov dword [esp + 8], edi
mov dword [esp], str.invalid_uri_authority:__.s
mov dword [esp + 4], ebx
jmp 0x61e35065
cmp ecx, 1
jne 0x61e34ef6
cmp al, 0x3d
jne 0x61e34eee
mov dl, byte [esi + ebx]
test dl, dl
je 0x61e34f9d
cmp dl, 0x23
je 0x61e34f9d
lea eax, [ebx + 1]
cmp dl, 0x25
mov dword [ebp - 0x28], eax
jne 0x61e34f07
movzx edi, byte [esi + ebx + 1]
test byte [edi + 0x61e9a760], 8
mov eax, edi
je 0x61e34f07
movzx edi, byte [esi + ebx + 2]
test byte [edi + 0x61e9a760], 8
je 0x61e34f07
movsx eax, al
call sym._sqlite3HexToInt
movzx eax, al
shl eax, 4
mov edi, eax
lea eax, [ebx + 3]
mov dword [ebp - 0x28], eax
movsx eax, byte [esi + ebx + 2]
call sym._sqlite3HexToInt
movzx edx, al
add edx, edi
jne 0x61e34f86
mov ebx, dword [ebp - 0x28]
mov al, byte [esi + ebx]
cmp al, 0x23
je 0x61e34e5d
test al, al
je 0x61e34e5d
test ecx, ecx
jne 0x61e34e4c
cmp al, 0x3f
jne 0x61e34e4c
xor ecx, ecx
jmp 0x61e34e5d
cmp al, 0x26
je 0x61e34e5d
cmp ecx, 2
je 0x61e34efe
inc ebx
jmp 0x61e34ecc
cmp al, 0x26
jne 0x61e34efb
jmp 0x61e34e5d
cmp ecx, 1
jne 0x61e34f58
cmp dl, 0x26
je 0x61e34f16
cmp dl, 0x3d
jne 0x61e34f58
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
cmp byte [edi + eax - 1], 0
jne 0x61e34f47
mov ebx, dword [ebp - 0x28]
mov al, byte [esi + ebx]
test al, al
je 0x61e34e5d
cmp al, 0x23
je 0x61e34e5d
cmp byte [esi + ebx - 1], 0x26
je 0x61e34e5d
inc ebx
jmp 0x61e34f26
cmp dl, 0x26
jne 0x61e34f78
mov edi, dword [ebp - 0x1c]
inc dword [ebp - 0x20]
mov byte [edi + eax], 0
jmp 0x61e34f84
test ecx, ecx
jne 0x61e34f61
cmp dl, 0x3f
je 0x61e34f7f
cmp ecx, 2
jne 0x61e34f86
cmp dl, 0x26
mov eax, 1
cmove ecx, eax
mov al, 0
cmove edx, eax
jmp 0x61e34f86
mov ecx, 2
jmp 0x61e34f84
mov ecx, 1
xor edx, edx
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x28]
mov byte [eax + edi], dl
mov eax, edi
inc eax
mov dword [ebp - 0x20], eax
jmp 0x61e34e5d
dec ecx
jne 0x61e34fb0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov byte [eax + ecx], 0
mov eax, ecx
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov byte [eax + esi], 0
mov byte [eax + esi + 1], 0
call sym._sqlite3Strlen30
mov esi, dword [ebp - 0x1c]
jmp 0x61e350b5
cmp ebx, 5
je 0x61e350c3
cmp ebx, 4
jne 0x61e350b2
mov dword [esp + 8], 4
mov dword [esp + 4], edx
mov dword [esp], str.mode
call sym._memcmp
test eax, eax
jne 0x61e350b2
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x87
mov edi, str.access
mov ebx, 0x61e8bc60
and eax, 0x87
mov dword [ebp - 0x30], eax
mov edx, dword [ebx]
test edx, edx
je 0x61e35056
mov eax, edx
call sym._sqlite3Strlen30
cmp dword [ebp - 0x20], eax
jne 0x61e350fc
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], eax
call sym._memcmp
test eax, eax
jne 0x61e350fc
mov eax, dword [ebx + 4]
test eax, eax
jne 0x61e35104
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str.no_such__s_mode:__s
call sym.sqlite3.dll_sqlite3_mprintf
jmp 0x61e351a8
mov eax, edx
call sym._sqlite3Strlen30
lea esi, [edx + eax + 1]
mov ebx, eax
mov eax, esi
call sym._sqlite3Strlen30
cmp ebx, 3
mov dword [ebp - 0x20], eax
jne 0x61e34fcc
mov dword [esp + 8], 3
mov dword [esp + 4], edx
mov dword [esp], 0x61e8ed81
call sym._memcmp
test eax, eax
mov eax, dword [ebp - 0x2c]
cmove eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea edx, [esi + eax + 1]
cmp byte [edx], 0
jne 0x61e3506f
jmp 0x61e3517f
mov dword [esp + 8], 5
mov dword [esp + 4], edx
mov dword [esp], str.cache
call sym._memcmp
test eax, eax
jne 0x61e350b2
mov dword [ebp - 0x30], 0x60000
mov dword [ebp - 0x28], 0x60000
mov edi, str.cache
mov ebx, 0x61e8bc88
jmp 0x61e3501a
add ebx, 8
jmp 0x61e3501a
mov ecx, eax
and cl, 0x7f
cmp ecx, dword [ebp - 0x30]
jle 0x61e35131
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov ebx, 3
mov dword [esp], str._s_mode_not_allowed:__s
call sym.sqlite3.dll_sqlite3_mprintf
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x61e351b2
mov edi, dword [ebp - 0x28]
not edi
and edi, dword [ebp - 0x24]
or eax, edi
mov dword [ebp - 0x24], eax
jmp 0x61e350b2
lea eax, [ebx + 2]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call sym.sqlite3.dll_sqlite3_malloc64
test eax, eax
mov dword [ebp - 0x1c], eax
je 0x61e34dc9
test ebx, ebx
je 0x61e3516a
mov edi, eax
mov ecx, ebx
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x1c]
mov byte [eax + ebx], 0
mov byte [eax + ebx + 1], 0
mov eax, dword [ebp - 0x20]
and eax, 0xffffffbf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
xor ebx, ebx
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_vfs_find
mov edx, dword [ebp + 8]
test eax, eax
mov dword [edx], eax
jne 0x61e351c4
mov eax, dword [ebp - 0x2c]
mov dword [esp], str.no_such_vfs:__s
mov dword [esp + 4], eax
call sym.sqlite3.dll_sqlite3_mprintf
mov esi, dword [ebp + 0x10]
mov ebx, 1
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_free
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov dword [eax], esi
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov eax, ebx
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret