Function at 0x6b48d4a0
Capabilities:
Parse credit card information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov ebp, dword [esp + 0x30]
test ebp, ebp
je 0x6b48d5ba
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
test esi, esi
je 0x6b48d5c4
cmp eax, 0xa
ja case.default.0x6b48d5c9
mov ebx, dword [esp + 0x3c]
shr ebx, 7
and ebx, 1
jmp dword [eax*4 + 0x6b7371d8]
mov bl, byte [esi]
mov eax, ebx
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x6b48d975
cmp byte [esi + 1], 0x3a
jne 0x6b48d975
lea eax, [esp + 0x14]
push dword [esp + 0x3c]
push eax
push 0
push ebp
call sym.libcurl.dll_curl_url_get
add esp, 0x10
test eax, eax
je 0x6b48da53
mov eax, dword [0x6b83acf0]
push 1
push 0x34
call dword [eax]
add esp, 8
test eax, eax
je 0x6b48d96b
mov ebp, eax
mov ecx, esi
mov edx, eax
push dword [esp + 0x3c]
call fcn.6b48dfc0
add esp, 4
test eax, eax
mov ebx, dword [0x6b83acf4]
mov ecx, dword [ebx]
je 0x6b48db1b
push dword [ebp]
mov esi, eax
call ecx
add esp, 4
push dword [ebp + 4]
call dword [ebx]
add esp, 4
push dword [ebp + 8]
call dword [ebx]
add esp, 4
push dword [ebp + 0xc]
call dword [ebx]
add esp, 4
push dword [ebp + 0x10]
call dword [ebx]
add esp, 4
push dword [ebp + 0x14]
call dword [ebx]
add esp, 4
push dword [ebp + 0x18]
call dword [ebx]
add esp, 4
push dword [ebp + 0x1c]
call dword [ebx]
add esp, 4
push dword [ebp + 0x20]
call dword [ebx]
add esp, 4
push dword [ebp + 0x24]
call dword [ebx]
add esp, 4
push dword [ebp + 0x28]
call dword [ebx]
add esp, 4
push dword [ebp + 0x2c]
call dword [ebx]
add esp, 4
push ebp
call dword [ebx]
mov ecx, esi
add esp, 4
jmp 0x6b48da1c
mov ecx, 1
jmp 0x6b48da1c
cmp eax, 0xa
ja case.default.0x6b48d5c9
jmp dword [eax*4 + 0x6b737204]
xor ecx, ecx
jmp 0x6b48da1c
mov ecx, 9
jmp 0x6b48da1c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, 3
cmp eax, 0x28
ja 0x6b48da1c
mov eax, dword [esp + 0x3c]
test al, 8
jne 0x6b48d611
push esi
call fcn.6b488c00
add esp, 4
test eax, eax
je 0x6b48dba6
mov dword [esp + 4], 0
mov dword [esp], 0
xor edi, edi
xor ebx, ebx
jmp 0x6b48d6c6
add ebp, 4
jmp 0x6b48d6b5
add ebp, 8
jmp 0x6b48d6b5
add ebp, 0xc
jmp 0x6b48d6b5
lea edi, [ebp + 0x10]
mov eax, dword [0x6b83acf4]
push dword [ebp + 0x14]
call dword [eax]
add esp, 4
mov dword [ebp + 0x14], 0
mov ebp, edi
jmp 0x6b48d6b5
lea eax, [esp + 0x18]
push 0xa
push eax
push esi
call sub.msvcrt.dll_strtol
add esp, 0xc
lea ecx, [eax - 1]
cmp ecx, 0xffff
jb 0x6b48da26
mov ecx, 4
jmp 0x6b48da1c
add ebp, 0x1c
mov al, 1
mov dword [esp], eax
mov dword [esp + 4], 0
jmp 0x6b48d6c4
mov eax, dword [esp + 0x3c]
shr eax, 8
and eax, 1
mov dword [esp + 4], eax
add ebp, 0x20
mov dword [esp], 0
mov edi, ebx
jmp 0x6b48d6c6
add ebp, 0x24
jmp 0x6b48d6b5
add ebp, 0x14
mov dword [esp + 4], 0
mov dword [esp], 0
xor edi, edi
mov dword [esp + 8], 0
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, 3
cmp eax, 0x7a1200
ja 0x6b48da1c
test ebx, ebx
je 0x6b48d8c2
mov ecx, dword [0x6b83acf8]
lea eax, [eax + eax*2 + 1]
push eax
call dword [ecx]
add esp, 4
test eax, eax
je 0x6b48d96b
mov dword [esp + 0xc], ebp
mov cl, byte [esi]
test cl, cl
mov dword [esp + 0x10], eax
mov ebx, eax
je 0x6b48d7b0
inc esi
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
test edi, edi
je 0x6b48d740
cmp cl, 0x20
jne 0x6b48d740
mov byte [ebx], 0x2b
jmp 0x6b48d784
movzx eax, cl
push eax
call fcn.6b44f0e0
add esp, 4
test eax, eax
movzx eax, byte [esi - 1]
je 0x6b48d758
mov ecx, eax
jmp 0x6b48d770
cmp al, 0x2f
sete dl
mov cl, 0x2f
test byte [esp], dl
jne 0x6b48d770
test ebp, ebp
je 0x6b48d795
mov cl, 0x3d
cmp al, 0x3d
jne 0x6b48d795
nop
nop
cmp cl, 0x3d
mov eax, ebp
mov edx, 0
cmove eax, edx
test ebp, ebp
cmovne ebp, eax
mov byte [ebx], cl
mov eax, 1
add ebx, eax
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x6b48d730
jmp 0x6b48d7b0
movzx eax, al
push eax
push 0x6b737295
push 4
push ebx
call sym.libcurl.dll_curl_msnprintf
add esp, 0x10
mov eax, 3
jmp 0x6b48d789
mov byte [ebx], 0
cmp dword [esp + 4], 0
mov ebp, dword [esp + 0x30]
je 0x6b48d85e
mov ebx, dword [ebp + 0x20]
test ebx, ebx
je 0x6b48d85e
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
test eax, eax
je 0x6b48d85e
mov esi, eax
mov al, byte [eax + ebx - 1]
xor ebx, ebx
mov byte [esp], al
cmp al, 0x26
setne bl
push dword [esp + 0x10]
call sub.msvcrt.dll_strlen
add esp, 4
mov ecx, dword [0x6b83acf8]
add ebx, esi
lea eax, [eax + ebx + 1]
push eax
call dword [ecx]
add esp, 4
test eax, eax
je 0x6b48db0b
mov edi, eax
push dword [ebp + 0x20]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
cmp byte [esp], 0x26
je 0x6b48d82c
mov byte [edi + esi], 0x26
mov eax, edi
add eax, ebx
mov ebx, dword [esp + 0x10]
push ebx
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
mov esi, dword [0x6b83acf4]
push ebx
call dword [esi]
add esp, 4
mov ebx, dword [esp + 0xc]
push dword [ebx]
call dword [esi]
add esp, 4
mov dword [ebx], edi
xor ecx, ecx
jmp 0x6b48da1c
cmp dword [esp + 0x34], 5
mov ebx, dword [esp + 0x10]
jne 0x6b48d89a
test dword [esp + 0x3c], 0x400
je 0x6b48d878
cmp byte [ebx], 0
je 0x6b48d89a
mov ecx, ebp
mov edx, ebx
call fcn.6b48ec30
test eax, eax
je 0x6b48d89a
mov eax, dword [0x6b83acf4]
push ebx
call dword [eax]
add esp, 4
mov ecx, 3
jmp 0x6b48da1c
mov eax, dword [0x6b83acf4]
mov esi, dword [esp + 0xc]
push dword [esi]
call dword [eax]
add esp, 4
mov dword [esi], ebx
xor ecx, ecx
mov eax, dword [esp + 8]
test eax, eax
je 0x6b48da1c
mov dword [ebp + 0x30], eax
jmp 0x6b48da1c
mov eax, dword [0x6b83ad00]
push esi
call dword [eax]
add esp, 4
test eax, eax
je 0x6b48d96b
mov dword [esp + 0xc], ebp
mov esi, dword [sym.imp.msvcrt.dll_tolower]
mov dword [esp + 0x10], eax
mov ebx, eax
jmp 0x6b48d8fa
test al, al
je 0x6b48d7b3
add ebx, ebp
movzx eax, byte [ebx]
mov ebp, 1
cmp al, 0x25
jne 0x6b48d8f0
movzx eax, byte [ebx + 1]
push eax
call fcn.6b4499b0
add esp, 4
test eax, eax
je 0x6b48d8f8
movzx eax, byte [ebx + 2]
push eax
call fcn.6b4499b0
add esp, 4
test eax, eax
je 0x6b48d8f8
movzx eax, byte [ebx + 1]
push eax
call fcn.6b449a30
add esp, 4
test eax, eax
jne 0x6b48d94a
movzx eax, byte [ebx + 2]
push eax
call fcn.6b449a30
add esp, 4
test eax, eax
je 0x6b48d8f8
movzx eax, byte [ebx + 1]
push eax
call esi
add esp, 4
mov byte [ebx + 1], al
movzx eax, byte [ebx + 2]
push eax
call esi
add esp, 4
mov byte [ebx + 2], al
mov ebp, 3
jmp 0x6b48d8f8
mov ecx, 7
jmp 0x6b48da1c
mov edi, 0xffffffd8
cmp bl, 0x3a
je 0x6b48d988
test bl, bl
jne 0x6b48d993
jmp 0x6b48d4f7
cmp byte [esi + edi + 0x29], 0x2f
je 0x6b48d513
movzx eax, bl
push eax
call fcn.6b449990
add esp, 4
test eax, eax
jne 0x6b48d9b8
add bl, 0xd5
cmp bl, 3
ja 0x6b48d4f7
cmp bl, 1
je 0x6b48d4f7
test edi, edi
je 0x6b48d4f7
mov bl, byte [esi + edi + 0x29]
inc edi
cmp bl, 0x3a
jne 0x6b48d97f
jmp 0x6b48d988
add ebp, 4
jmp case.0x6b48d5c9.1
add ebp, 8
jmp case.0x6b48d5c9.1
add ebp, 0xc
jmp case.0x6b48d5c9.1
add ebp, 0x10
jmp case.0x6b48d5c9.1
mov dword [ebp + 0x30], 0
add ebp, 0x18
jmp case.0x6b48d5c9.1
add ebp, 0x1c
jmp case.0x6b48d5c9.1
add ebp, 0x20
jmp case.0x6b48d5c9.1
add ebp, 0x24
jmp case.0x6b48d5c9.1
add ebp, 0x14
mov eax, dword [ebp]
xor ecx, ecx
test eax, eax
je 0x6b48da1c
mov ecx, dword [0x6b83acf4]
push eax
call dword [ecx]
xor ecx, ecx
add esp, 4
mov dword [ebp], 0
mov eax, ecx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 0
mov ecx, 3
jne 0x6b48da1c
mov dword [esp + 8], eax
add ebp, 0x18
mov dword [esp + 4], 0
mov dword [esp], 0
xor edi, edi
xor ebx, ebx
jmp 0x6b48d6ce
mov eax, dword [0x6b83ad00]
push dword [esp + 0x14]
call dword [eax]
add esp, 4
test eax, eax
je 0x6b48de5e
push 0x6b737318
push eax
mov dword [esp + 0x10], eax
call sub.msvcrt.dll_strstr
add esp, 8
lea ebp, [eax + 2]
test eax, eax
cmove ebp, dword [esp + 8]
mov bl, byte [esi]
cmp bl, 0x2f
jne 0x6b48db28
cmp byte [esi + 1], 0x2f
jne 0x6b48dbb0
mov dword [esp + 0x10], ebp
mov byte [ebp], 0
add esi, 2
push 0x6b737318
push esi
call sub.msvcrt.dll_strstr
add esp, 8
lea edi, [eax + 2]
test eax, eax
cmove edi, esi
push 0x3f
push edi
call sub.msvcrt.dll_strchr
add esp, 8
mov ebx, eax
push 0x2f
push edi
call sub.msvcrt.dll_strchr
add esp, 8
mov ebp, eax
test eax, eax
jne 0x6b48dae6
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ebp, eax
add ebp, esi
test ebx, ebx
jne 0x6b48daf7
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, esi
cmp ebp, ebx
cmovb ebx, ebp
mov al, 1
mov dword [esp + 0xc], eax
mov ebp, dword [esp + 0x10]
jmp 0x6b48dc39
mov eax, dword [0x6b83acf4]
push dword [esp + 0x10]
call dword [eax]
jmp 0x6b48df22
mov edi, dword [esp + 0x30]
push dword [edi]
call ecx
jmp 0x6b48df37
push 0x3f
push ebp
call sub.msvcrt.dll_strchr
add esp, 8
test eax, eax
je 0x6b48db3c
mov byte [eax], 0
mov bl, byte [esi]
mov bh, 0x3f
cmp bl, 0x3f
je 0x6b48db59
push 0x2f
push ebp
call sub.msvcrt.dll_strrchr
add esp, 8
test eax, eax
mov bh, bl
je 0x6b48db59
mov byte [eax], 0
mov bh, byte [esi]
push 0x2f
push ebp
call sub.msvcrt.dll_strchr
add esp, 8
lea ecx, [eax + 1]
test eax, eax
mov edi, ecx
cmove edi, eax
xor ebp, ebp
cmp bh, 0x2e
jne 0x6b48dbe0
lea edx, [esi + 2]
xor ebx, ebx
cmp byte [esi + 1], 0x2f
sete bl
cmovne edx, esi
cmp byte [esi + ebx*2], 0x2e
jne 0x6b48dbe4
xor ebx, ebx
cmp byte [edx + 1], 0x2e
jne 0x6b48dbf3
cmp byte [edx + 2], 0x2f
jne 0x6b48dbf3
inc ebx
lea esi, [edx + 3]
cmp byte [edx + 3], 0x2e
mov edx, esi
je 0x6b48db8c
jmp 0x6b48dbf5
mov ecx, 5
jmp 0x6b48da1c
push 0x2f
push ebp
call sub.msvcrt.dll_strchr
add esp, 8
mov ebx, eax
push 0x3f
push ebp
call sub.msvcrt.dll_strchr
add esp, 8
test ebx, ebx
je 0x6b48dbea
test eax, eax
sete cl
cmp eax, ebx
setb dl
xor dl, cl
cmovne ebx, eax
mov byte [ebx], 0
jmp 0x6b48dc14
xor ebx, ebx
jmp 0x6b48dbf5
mov esi, edx
xor ebx, ebx
jmp 0x6b48dbf5
test eax, eax
je 0x6b48dc14
mov byte [eax], 0
jmp 0x6b48dc14
mov esi, edx
test eax, eax
je 0x6b48dc14
test ebx, ebx
je 0x6b48dc1e
push 0x2f
push edi
call sub.msvcrt.dll_strrchr
add esp, 8
test eax, eax
je 0x6b48dc2a
dec ebx
mov byte [eax], 0
jne 0x6b48dbfd
jmp 0x6b48dc2d
mov dword [esp + 0xc], 0
jmp 0x6b48dc37
mov dword [esp + 0xc], 0
mov ebp, ecx
jmp 0x6b48dc37
mov byte [edi], 0
mov dword [esp + 0xc], 0
mov ebp, edi
mov ebx, esi
mov dword [esp + 0x10], ebp
mov al, byte [esi]
xor edi, edi
test al, al
je 0x6b48dcc0
mov dword [esp], 1
mov ebp, esi
mov dword [esp + 4], ebx
jmp 0x6b48dc62
mov ebx, dword [esp + 4]
inc edi
movzx eax, byte [ebp + 1]
inc ebp
test al, al
je 0x6b48dcc0
cmp ebp, ebx
jb 0x6b48dc58
cmp al, 0x20
je 0x6b48dca4
cmp al, 0x3f
jne 0x6b48dc75
mov dword [esp], 0
movzx ebx, al
push ebx
call fcn.6b449a70
add esp, 4
test eax, eax
jne 0x6b48dc54
push ebx
call fcn.6b449950
add esp, 4
test eax, eax
jne 0x6b48dc54
push ebx
call fcn.6b4499d0
add esp, 4
test eax, eax
jne 0x6b48dc54
add edi, 2
jmp 0x6b48dc54
cmp dword [esp], 0
je 0x6b48dcb6
add edi, 3
mov dword [esp], 1
jmp 0x6b48dc59
inc edi
mov dword [esp], 0
jmp 0x6b48dc59
mov ebx, dword [esp + 8]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
mov edx, dword [0x6b83acf8]
lea ecx, [edi + eax + 2]
mov edi, eax
push ecx
call dword [edx]
add esp, 4
test eax, eax
je 0x6b48de53
mov ebp, eax
push edi
push ebx
mov dword [esp + 0xc], ebp
push ebp
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, byte [esi]
cmp al, 0x2f
je 0x6b48dd23
cmp dword [esp + 0x10], 0
je 0x6b48dfa8
cmp al, 0x3f
je 0x6b48dd23
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
je 0x6b48dd23
mov eax, dword [esp + 4]
mov byte [eax + edi], 0x2f
mov eax, edi
inc eax
mov edi, eax
cmp byte [esp + 0xc], 0
mov ebx, esi
je 0x6b48dd89
mov dword [esp], edi
push 0x6b737318
push esi
call sub.msvcrt.dll_strstr
add esp, 8
lea edi, [eax + 2]
test eax, eax
cmove edi, esi
push 0x3f
push edi
call sub.msvcrt.dll_strchr
add esp, 8
mov ebx, eax
push 0x2f
push edi
call sub.msvcrt.dll_strchr
add esp, 8
mov edi, eax
test eax, eax
jne 0x6b48dd70
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov edi, eax
add edi, esi
test ebx, ebx
jne 0x6b48dd81
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov ebx, eax
add ebx, esi
cmp edi, ebx
cmovb ebx, edi
mov edi, dword [esp]
add ebp, edi
mov al, byte [esi]
test al, al
je 0x6b48de3b
mov dword [esp], 1
jmp 0x6b48ddb2
movzx eax, byte [esi]
mov byte [ebp], al
inc ebp
movzx eax, byte [esi + 1]
inc esi
test al, al
je 0x6b48de3b
cmp esi, ebx
jb 0x6b48dda1
cmp al, 0x20
je 0x6b48de0b
cmp al, 0x3f
jne 0x6b48ddc5
mov dword [esp], 0
movzx edi, al
push edi
call fcn.6b449a70
add esp, 4
test eax, eax
jne 0x6b48dd9e
push edi
call fcn.6b449950
add esp, 4
test eax, eax
jne 0x6b48dd9e
push edi
call fcn.6b4499d0
add esp, 4
test eax, eax
movzx eax, byte [esi]
jne 0x6b48dda1
movzx eax, al
push eax
push 0x6b737295
push 4
push ebp
call sym.libcurl.dll_curl_msnprintf
add esp, 0x10
add ebp, 3
jmp 0x6b48dda5
cmp dword [esp], 0
je 0x6b48de2a
mov word [ebp], 0x3225
mov byte [ebp + 2], 0x30
add ebp, 3
mov dword [esp], 1
jmp 0x6b48dda5
mov byte [ebp], 0x2b
inc ebp
mov dword [esp], 0
jmp 0x6b48dda5
mov byte [ebp], 0
mov eax, dword [0x6b83acf4]
push dword [esp + 8]
call dword [eax]
add esp, 4
mov esi, dword [esp + 4]
jmp 0x6b48de60
mov eax, dword [0x6b83acf4]
push ebx
call dword [eax]
add esp, 4
xor esi, esi
mov ebx, dword [0x6b83acf4]
push dword [esp + 0x14]
call dword [ebx]
add esp, 4
mov ecx, 7
test esi, esi
je 0x6b48da1c
mov eax, dword [0x6b83acf0]
push 1
push 0x34
call dword [eax]
add esp, 8
test eax, eax
je 0x6b48df1f
mov ebp, eax
mov ecx, esi
mov edx, eax
push dword [esp + 0x3c]
call fcn.6b48dfc0
add esp, 4
mov edi, eax
push esi
call dword [ebx]
add esp, 4
test edi, edi
mov eax, dword [ebx]
je 0x6b48df2f
push dword [ebp]
call eax
add esp, 4
push dword [ebp + 4]
call dword [ebx]
add esp, 4
push dword [ebp + 8]
call dword [ebx]
add esp, 4
push dword [ebp + 0xc]
call dword [ebx]
add esp, 4
push dword [ebp + 0x10]
call dword [ebx]
add esp, 4
push dword [ebp + 0x14]
call dword [ebx]
add esp, 4
push dword [ebp + 0x18]
call dword [ebx]
add esp, 4
push dword [ebp + 0x1c]
call dword [ebx]
add esp, 4
push dword [ebp + 0x20]
call dword [ebx]
add esp, 4
push dword [ebp + 0x24]
call dword [ebx]
add esp, 4
push dword [ebp + 0x28]
call dword [ebx]
add esp, 4
push dword [ebp + 0x2c]
call dword [ebx]
add esp, 4
push ebp
call dword [ebx]
mov ecx, edi
add esp, 4
jmp 0x6b48da1c
push esi
call dword [ebx]
add esp, 4
mov ecx, 7
jmp 0x6b48da1c
mov edi, dword [esp + 0x30]
push dword [edi]
call eax
add esp, 4
push dword [edi + 4]
call dword [ebx]
add esp, 4
push dword [edi + 8]
call dword [ebx]
add esp, 4
push dword [edi + 0xc]
call dword [ebx]
add esp, 4
push dword [edi + 0x10]
call dword [ebx]
add esp, 4
push dword [edi + 0x14]
call dword [ebx]
add esp, 4
push dword [edi + 0x18]
call dword [ebx]
add esp, 4
push dword [edi + 0x1c]
call dword [ebx]
add esp, 4
push dword [edi + 0x20]
call dword [ebx]
add esp, 4
push dword [edi + 0x24]
call dword [ebx]
add esp, 4
push dword [edi + 0x28]
call dword [ebx]
add esp, 4
push dword [edi + 0x2c]
call dword [ebx]
add esp, 4
mov ecx, 0xd
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call dword [ebx]
add esp, 4
xor ecx, ecx
jmp 0x6b48da1c
cmp al, 0x3f
jne 0x6b48dd16
jmp 0x6b48dd23