Function at 0x61c2bee0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [ebp - 0x2c], eax
mov ebx, edx
mov dword [ebp - 0x30], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
test edx, edx
je 0x61c2c19b
cmp byte [edx], 0
je 0x61c2c38c
nop
inc edx
cmp byte [edx], 0
jne 0x61c2bf08
sub edx, ebx
and edx, 0x3fffffff
lea eax, [edx + 2]
test byte [ebp - 0x1c], 0x40
jne 0x61c2bf8e
mov edi, dword [0x61c8202c]
test edi, edi
jne 0x61c2bf8e
mov dword [esp], eax
mov dword [ebp - 0x40], edx
call sym.sqlite3.dll_sqlite3_malloc
mov dword [ebp - 0x24], eax
test eax, eax
mov edx, dword [ebp - 0x40]
je 0x61c2c051
mov edi, eax
mov esi, ebx
mov ecx, edx
rep movsb byte es:[edi], byte [esi]
mov byte [eax + edx], 0
mov byte [eax + edx + 1], 0
mov edx, dword [ebp - 0x1c]
and edx, 0xffffffbf
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
call sym.sqlite3.dll_sqlite3_vfs_find
mov edx, dword [ebp + 8]
mov dword [edx], eax
test eax, eax
je 0x61c2c3aa
xor eax, eax
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], esi
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x24]
mov dword [edx], edi
add esp, 0x4c
pop ebx
pop esi
pop edi
leave
ret
cmp edx, 4
jle 0x61c2bf29
mov edi, str.file:
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb byte [ebp - 0x20]
cmp cl, byte [ebp - 0x20]
jne 0x61c2bf29
xor ecx, ecx
mov edi, edx
cmp byte [ebx + ecx], 0x26
sete dl
mov esi, edx
and esi, 0xff
add eax, esi
inc ecx
cmp ecx, edi
jne 0x61c2bfb5
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_malloc
mov dword [ebp - 0x24], eax
test eax, eax
je 0x61c2c051
mov ecx, dword [ebp - 0x1c]
or ecx, 0x40
mov dword [ebp - 0x28], ecx
mov dl, byte [ebx + 5]
cmp dl, 0x2f
je 0x61c2c3e4
mov esi, 5
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x38], ecx
test dl, dl
je 0x61c2c1b5
cmp dl, 0x23
je 0x61c2c1b5
lea eax, [esi + 1]
cmp dl, 0x25
je 0x61c2c05e
lea edi, [ebx + eax]
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x1c], 1
je 0x61c2c12e
mov esi, dword [ebp - 0x1c]
test esi, esi
jne 0x61c2c10d
cmp dl, 0x3f
je 0x61c2c120
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
mov byte [esi + ecx], dl
inc ecx
mov dword [ebp - 0x38], ecx
mov dl, byte [ebx + eax]
mov esi, eax
jmp 0x61c2c000
mov eax, 7
add esp, 0x4c
pop ebx
pop esi
pop edi
leave
ret
lea edi, [ebx + eax]
mov dword [ebp - 0x20], edi
mov cl, byte [edi]
mov byte [ebp - 0x34], cl
movzx edi, cl
test byte [edi + 0x61c88ae0], 8
je 0x61c2c01f
movzx edi, byte [ebx + eax + 1]
test byte [edi + 0x61c88ae0], 8
je 0x61c2c01f
movsx edi, cl
mov eax, edi
sar eax, 6
and eax, 1
lea eax, [eax + eax*8]
lea edi, [eax + edi]
and edi, 0xf
shl edi, 4
movsx ecx, byte [ebx + esi + 2]
lea eax, [esi + 3]
mov edx, ecx
sar edx, 6
and edx, 1
lea edx, [edx + edx*8]
add edx, ecx
and edx, 0xf
lea edi, [edx + edi]
mov edx, edi
test edi, edi
jne 0x61c2c03d
movzx edi, byte [ebx + esi + 3]
mov edx, edi
test dl, dl
je 0x61c2c04d
cmp dl, 0x23
je 0x61c2c04d
lea esi, [ebx + esi]
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x1c]
jmp 0x61c2c0e9
cmp dl, 0x3f
je 0x61c2c100
inc eax
mov dl, byte [esi + 4]
test dl, dl
je 0x61c2c100
inc esi
cmp dl, 0x23
je 0x61c2c100
test edi, edi
je 0x61c2c0d6
cmp edi, 1
jne 0x61c2c1a7
cmp dl, 0x3d
je 0x61c2c100
cmp dl, 0x26
jne 0x61c2c0db
mov dword [ebp - 0x38], ecx
mov dl, byte [ebx + eax]
mov esi, eax
jmp 0x61c2c000
cmp dword [ebp - 0x1c], 2
jne 0x61c2c03d
cmp dl, 0x26
jne 0x61c2c03d
mov dword [ebp - 0x1c], 1
xor edx, edx
jmp 0x61c2c03d
cmp dl, 0x26
je 0x61c2c13c
cmp dl, 0x3d
jne 0x61c2c03d
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
cmp byte [edi + ecx - 1], 0
jne 0x61c2c393
mov ecx, dword [ebp - 0x20]
mov dl, byte [ecx]
test dl, dl
je 0x61c2c04a
cmp dl, 0x23
je 0x61c2c04a
cmp byte [ebx + eax - 1], 0x26
je 0x61c2c04a
lea esi, [ebx + esi]
mov ecx, dword [ebp - 0x38]
jmp 0x61c2c185
mov dl, byte [esi + 1]
inc esi
cmp dl, 0x26
je 0x61c2c047
inc eax
mov dl, byte [esi + 2]
test dl, dl
je 0x61c2c047
cmp dl, 0x23
jne 0x61c2c178
jmp 0x61c2c100
mov eax, 2
xor edx, edx
jmp 0x61c2bf19
cmp edi, 2
je 0x61c2c0fb
jmp 0x61c2c0db
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x1c], 1
jne 0x61c2c1c6
mov edi, dword [ebp - 0x24]
mov byte [edi + ecx], 0
inc ecx
mov eax, dword [ebp - 0x24]
mov byte [eax + ecx], 0
mov byte [eax + ecx + 1], 0
mov eax, dword [ebp - 0x24]
mov edi, 1
cmp byte [eax], 0
je 0x61c2c1f0
inc eax
cmp byte [eax], 0
jne 0x61c2c1df
sub eax, dword [ebp - 0x24]
and eax, 0x3fffffff
lea edi, [eax + 1]
add edi, dword [ebp - 0x24]
mov al, byte [edi]
test al, al
je 0x61c2bf5c
test al, al
je 0x61c2c336
mov eax, edi
nop
inc eax
cmp byte [eax], 0
jne 0x61c2c208
sub eax, edi
and eax, 0x3fffffff
lea edx, [eax + 1]
add edx, edi
mov dword [ebp - 0x1c], edx
je 0x61c2c385
mov edx, dword [ebp - 0x1c]
cmp byte [edx], 0
je 0x61c2c385
mov ebx, dword [ebp - 0x1c]
nop
inc ebx
cmp byte [ebx], 0
jne 0x61c2c234
sub ebx, dword [ebp - 0x1c]
and ebx, 0x3fffffff
cmp eax, 3
je 0x61c2c342
cmp eax, 5
je 0x61c2c358
cmp eax, 4
jne 0x61c2c31d
mov esi, str.mode
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
jne 0x61c2c31d
mov esi, dword [ebp - 0x28]
and esi, 0x87
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], 0x87
mov dword [ebp - 0x3c], str.access
mov edx, 0x61c82140
mov edi, dword [edx]
test edi, edi
je 0x61c2c2bd
lea eax, [edx + 8]
mov ecx, edi
cmp byte [edi], 0
je 0x61c2c2a6
nop
inc ecx
cmp byte [ecx], 0
jne 0x61c2c2a0
sub ecx, edi
and ecx, 0x3fffffff
cmp ebx, ecx
je 0x61c2c2e8
mov edx, eax
mov edi, dword [eax]
add eax, 8
test edi, edi
jne 0x61c2c298
mov edi, dword [ebp - 0x1c]
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov dword [esp], str.no_such__s_mode:__s
call sym.sqlite3.dll_sqlite3_mprintf
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, 1
jmp 0x61c2c3c7
cmp ebx, ebx
mov esi, dword [ebp - 0x1c]
mov ecx, ebx
repe cmpsb byte [esi], byte es:[edi]
seta byte [ebp - 0x20]
setb cl
cmp byte [ebp - 0x20], cl
jne 0x61c2c2b2
mov eax, dword [edx + 4]
test eax, eax
je 0x61c2c2bd
mov edx, eax
and dl, 0x7f
cmp edx, dword [ebp - 0x34]
jg 0x61c2c432
mov edx, dword [ebp - 0x38]
not edx
and dword [ebp - 0x28], edx
or dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
lea edi, [eax + ebx + 1]
mov al, byte [edi]
test al, al
je 0x61c2bf5c
test al, al
jne 0x61c2c205
xor eax, eax
mov edx, 1
jmp 0x61c2c218
mov esi, 0x61c84850
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x61c2c31d
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ecx
jmp 0x61c2c31d
mov ecx, 5
mov esi, str.cache
repe cmpsb byte [esi], byte es:[edi]
jne 0x61c2c31d
mov dword [ebp - 0x34], 0x60000
mov dword [ebp - 0x38], 0x60000
mov dword [ebp - 0x3c], str.cache
mov edx, 0x61c82168
jmp 0x61c2c28f
xor ebx, ebx
jmp 0x61c2c243
xor edx, edx
jmp 0x61c2bf16
cmp dl, 0x26
je 0x61c2c45b
mov dword [ebp - 0x1c], 2
xor edx, edx
jmp 0x61c2c03d
mov esi, dword [ebp - 0x2c]
mov dword [esp + 4], esi
mov dword [esp], str.no_such_vfs:__s
call sym.sqlite3.dll_sqlite3_mprintf
mov edi, dword [ebp + 0x10]
mov dword [edi], eax
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword [esp], edx
mov dword [ebp - 0x40], eax
call sym.sqlite3.dll_sqlite3_free
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x40]
jmp 0x61c2bf76
mov esi, 7
cmp byte [ebx + 6], 0x2f
jne 0x61c2bfef
jmp 0x61c2c3fa
cmp al, 0x2f
je 0x61c2c401
inc esi
mov al, byte [ebx + esi]
test al, al
jne 0x61c2c3f5
cmp esi, 7
je 0x61c2c470
lea edi, [ebx + 7]
cmp esi, 0x10
jne 0x61c2c478
mov dword [esp + 8], 9
mov dword [esp + 4], edi
mov dword [esp], str.localhost
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x61c2c478
mov dl, byte [ebx + 0x10]
jmp 0x61c2bff4
mov ecx, dword [ebp - 0x1c]
mov dword [esp + 8], ecx
mov esi, dword [ebp - 0x3c]
mov dword [esp + 4], esi
mov dword [esp], str._s_mode_not_allowed:__s
call sym.sqlite3.dll_sqlite3_mprintf
mov edi, dword [ebp + 0x10]
mov dword [edi], eax
mov eax, 3
jmp 0x61c2c3c7
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov byte [edi + esi], 0
inc esi
mov dword [ebp - 0x38], esi
xor edx, edx
jmp 0x61c2c03d
mov dl, byte [ebx + 7]
jmp 0x61c2bff4
mov dword [esp + 8], edi
sub esi, 7
mov dword [esp + 4], esi
mov dword [esp], str.invalid_uri_authority:__.s
call sym.sqlite3.dll_sqlite3_mprintf
mov esi, dword [ebp + 0x10]
mov dword [esi], eax
mov eax, 1
jmp 0x61c2c3c7