Function at 0x1010c300
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x3c], ecx
mov edx, dword [eax]
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], edx
test edi, edi
jne 0x1010c32b
xor esi, esi
jmp 0x1010c33f
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1010c330
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x1010c362
push 0x2a5c6
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pzErrMsg0
call fcn.101aa953
mov edx, dword [esp + 0x24]
add esp, 0xc
test dl, 0x40
jne 0x1010c374
cmp byte [0x102450d6], 0
je 0x1010c955
cmp esi, 5
jb 0x1010c955
cmp dword [edi], 0x656c6966
jne 0x1010c955
cmp byte [edi + 4], 0x3a
jne 0x1010c955
xor eax, eax
mov dword [esp + 0x1c], 0
or edx, 0x40
mov dword [esp + 0x20], eax
lea ebx, [esi + 8]
mov dword [esp + 0x18], edx
nop dword [eax + eax]
cmp byte [edi + eax], 0x26
jne 0x1010c3bf
mov ecx, 1
xor edx, edx
jmp 0x1010c3d0
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
add ebx, ecx
adc dword [esp + 0x20], edx
inc eax
cmp eax, esi
jl 0x1010c3b0
call fcn.10108160
test eax, eax
jne 0x1010c936
mov eax, dword [esp + 0x20]
push eax
push ebx
call fcn.100302f0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1010c936
mov dword [ebx], 0
mov esi, 5
add ebx, 4
cmp byte [edi + 5], 0x2f
mov dword [esp + 0x14], ebx
jne 0x1010c483
cmp byte [edi + 6], 0x2f
jne 0x1010c483
mov al, byte [edi + 7]
lea ecx, [edi + 7]
mov esi, 7
test al, al
je 0x1010c483
nop dword [eax]
cmp al, 0x2f
je 0x1010c43d
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x1010c430
cmp esi, 7
je 0x1010c483
cmp esi, 0x10
jne 0x1010c464
mov eax, 0x61636f6c
cmp eax, dword [ecx]
jne 0x1010c464
mov eax, 0x736f686c
cmp eax, dword [ecx + 4]
jne 0x1010c464
mov eax, 0x74
cmp al, byte [ecx + 8]
je 0x1010c483
push ecx
add esi, 0xfffffff9
mov dword [esp + 0x28], 1
push esi
push str.invalid_uri_authority:__.s
call fcn.10033860
add esp, 0xc
jmp 0x1010c8c6
mov bl, byte [esi + edi]
xor ecx, ecx
mov dword [esp + 0x20], ecx
test bl, bl
je 0x1010c68e
cmp bl, 0x23
je 0x1010c67a
inc esi
cmp bl, 0x25
jne 0x1010c5da
mov dl, byte [esi + edi]
movzx eax, dl
mov byte [esp + 0x13], dl
test byte [eax + 0x101eeba8], 8
je 0x1010c5da
movzx eax, byte [esi + edi + 1]
test byte [eax + 0x101eeba8], 8
je 0x1010c5da
movsx ebx, dl
cmp ebx, 0x30
jl 0x1010c4dd
cmp ebx, 0x39
jle 0x1010c50c
cmp ebx, 0x61
jl 0x1010c4e7
cmp ebx, 0x66
jle 0x1010c50c
cmp ebx, 0x41
jl 0x1010c4f1
cmp ebx, 0x46
jle 0x1010c50c
push 0x872c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._h_0__h_9____h_a__h_f____h_A__h_F_
call fcn.101aa953
mov dl, byte [esp + 0x1f]
add esp, 0xc
sar ebx, 6
and bl, 1
mov al, bl
shl al, 3
sub al, bl
mov bl, dl
sub bl, al
mov al, byte [esi + edi + 1]
and ebx, 0xf
mov byte [esp + 0x13], al
movsx eax, al
shl ebx, 4
mov dword [esp + 0x30], eax
cmp eax, 0x30
jl 0x1010c53c
cmp eax, 0x39
jle 0x1010c56b
cmp eax, 0x61
jl 0x1010c546
cmp eax, 0x66
jle 0x1010c56b
cmp eax, 0x41
jl 0x1010c550
cmp eax, 0x46
jle 0x1010c56b
push 0x872c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._h_0__h_9____h_a__h_f____h_A__h_F_
call fcn.101aa953
mov eax, dword [esp + 0x3c]
add esp, 0xc
sar eax, 6
add esi, 2
and al, 1
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x13]
sub al, cl
mov ecx, dword [esp + 0x20]
and eax, 0xf
add ebx, eax
jne 0x1010c65f
mov al, byte [esi + edi]
test al, al
je 0x1010c66f
nop word [eax + eax]
cmp al, 0x23
je 0x1010c66f
test ecx, ecx
jne 0x1010c5b0
cmp al, 0x3f
jmp 0x1010c5c6
cmp ecx, 1
jne 0x1010c5bf
cmp al, 0x3d
je 0x1010c66f
jmp 0x1010c5c4
cmp ecx, 2
jne 0x1010c5cc
cmp al, 0x26
je 0x1010c66f
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x1010c5a0
jmp 0x1010c66f
cmp ecx, 1
jne 0x1010c63f
cmp bl, 0x26
je 0x1010c5e9
cmp bl, 0x3d
jne 0x1010c65f
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp byte [edx + eax - 1], 0
jne 0x1010c616
mov al, byte [esi + edi]
test al, al
je 0x1010c66f
nop
cmp al, 0x23
je 0x1010c66f
cmp byte [esi + edi - 1], 0x26
je 0x1010c66f
mov al, byte [esi + edi + 1]
inc esi
test al, al
jne 0x1010c600
jmp 0x1010c66f
cmp bl, 0x26
jne 0x1010c632
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov edx, eax
mov byte [eax + ebx], 0
inc ebx
mov dword [esp + 0x1c], ebx
xor bl, bl
jmp 0x1010c663
mov ecx, 2
xor bl, bl
mov dword [esp + 0x20], ecx
jmp 0x1010c663
test ecx, ecx
jne 0x1010c64a
cmp bl, 0x3f
je 0x1010c654
jmp 0x1010c65f
cmp ecx, 2
jne 0x1010c65f
cmp bl, 0x26
jne 0x1010c65f
mov ecx, 1
xor bl, bl
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov byte [edx + eax], bl
inc eax
mov dword [esp + 0x1c], eax
mov bl, byte [esi + edi]
test bl, bl
jne 0x1010c494
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp ecx, 1
jne 0x1010c694
mov byte [ebx + eax], 0
inc eax
jmp 0x1010c694
mov ebx, dword [esp + 0x14]
xor eax, eax
mov dword [ebx + eax], 0
test ebx, ebx
jne 0x1010c6a3
xor ecx, ecx
jmp 0x1010c6b7
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010c6a8
sub ecx, edx
and ecx, 0x3fffffff
lea edx, [ecx + 1]
add edx, ebx
cmp byte [edx], 0
je 0x1010c898
mov ebx, 0x73
nop word [eax + eax]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010c6d5
sub ecx, esi
and ecx, 0x3fffffff
lea eax, [ecx + 1]
add eax, edx
mov dword [esp + 0x20], eax
jne 0x1010c6f3
xor edi, edi
jmp 0x1010c70b
mov edi, eax
lea esi, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1010c6f8
mov eax, dword [esp + 0x20]
sub edi, esi
and edi, 0x3fffffff
cmp ecx, 3
jne 0x1010c730
mov ecx, 0x6676
cmp cx, word [edx]
jne 0x1010c884
cmp bl, byte [edx + 2]
jne 0x1010c884
mov dword [esp + 0x3c], eax
jmp 0x1010c884
cmp ecx, 5
jne 0x1010c770
mov eax, 0x68636163
cmp eax, dword [edx]
jne 0x1010c884
mov eax, 0x65
cmp al, byte [edx + 4]
jne 0x1010c884
mov eax, 0x60000
mov dword [esp + 0x28], str.cache
mov dword [esp + 0x30], eax
mov eax, 0x10246ba8
mov dword [esp + 0x2c], 0x60000
jmp 0x1010c7a8
cmp ecx, 4
jne 0x1010c884
cmp dword [edx], 0x65646f6d
jne 0x1010c884
mov ecx, dword [esp + 0x18]
mov eax, 0x10246830
and ecx, 0x87
mov dword [esp + 0x30], 0x87
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], str.access
mov esi, dword [eax]
xor ebx, ebx
mov dword [esp + 0x1c], eax
test esi, esi
je 0x1010c82f
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1010c7c0
sub ecx, edx
and ecx, 0x3fffffff
cmp edi, ecx
jne 0x1010c823
mov ecx, dword [esp + 0x20]
mov edx, edi
sub edx, 4
jb 0x1010c7f1
nop
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1010c7f6
add ecx, 4
add esi, 4
sub edx, 4
jae 0x1010c7e0
cmp edx, 0xfffffffc
je 0x1010c852
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x1010c823
cmp edx, 0xfffffffd
je 0x1010c852
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1010c823
cmp edx, 0xfffffffe
je 0x1010c852
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1010c823
cmp edx, 0xffffffff
je 0x1010c852
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x1010c852
mov eax, dword [esp + 0x1c]
inc ebx
mov esi, dword [eax + ebx*8]
test esi, esi
jne 0x1010c7b4
push dword [esp + 0x20]
mov dword [esp + 0x28], 1
push dword [esp + 0x2c]
push str.no_such__s_mode:__s
call fcn.10033860
mov ebx, dword [esp + 0x20]
add esp, 0xc
jmp 0x1010c8c6
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + ebx*8 + 4]
test ecx, ecx
je 0x1010c82f
mov eax, ecx
and eax, 0xffffff7f
cmp eax, dword [esp + 0x2c]
jg 0x1010c913
mov eax, dword [esp + 0x30]
mov ebx, 0x73
not eax
and eax, dword [esp + 0x18]
or eax, ecx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x20]
inc edx
add edx, edi
cmp byte [edx], 0
jne 0x1010c6d0
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
push esi
call fcn.1002f210
mov ecx, eax
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
test ecx, ecx
jne 0x1010c8fa
push esi
push str.no_such_vfs:__s
mov dword [esp + 0x2c], 1
call fcn.10033860
add esp, 8
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test ebx, ebx
je 0x1010c8f8
nop
mov eax, ebx
cmp byte [eax - 1], 0
lea ebx, [eax - 1]
jne 0x1010c8d0
cmp byte [eax - 2], 0
jne 0x1010c8d0
cmp byte [eax - 3], 0
jne 0x1010c8d0
add eax, 0xfffffffc
cmp byte [eax], 0
jne 0x1010c8d0
push eax
call fcn.10030700
add esp, 4
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x20]
mov dword [esp + 0x28], 3
push dword [esp + 0x2c]
push str._s_mode_not_allowed:__s
call fcn.10033860
mov ebx, dword [esp + 0x20]
add esp, 0xc
jmp 0x1010c8c6
cmp dword [0x102451bc], 0
je 0x1010c949
add dword [0x102549bc], 0x2a8ea
push 0x101f8cf4
push 0x2a5d8
jmp 0x1010c9b8
call fcn.10108160
test eax, eax
jne 0x1010c99b
lea eax, [esi + 8]
push 0
push eax
call fcn.100302f0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1010c99b
mov dword [ebx], 0
add ebx, 4
test esi, esi
je 0x1010c98a
push esi
push edi
push ebx
call fcn.10190960
add esp, 0xc
and dword [esp + 0x18], 0xffffffbf
mov dword [ebx + esi], 0
jmp 0x1010c898
cmp dword [0x102451bc], 0
je 0x1010c9ae
add dword [0x102549bc], 0x2a8ea
push 0x101f8cf4
push 0x2a687
push 0x10236394
push str._s_at_line__d_of___.10s_
push 7
call fcn.10033a50
add esp, 0x14
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret