Function at 0x4c6520
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x4c6533
xor eax, eax
pop ebp
add esp, 8
ret
push ebx
push edi
mov ebx, 0x50
push 0x51
mov dword [esp + 0x10], ebx
call dword [0x6b21a4]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4c6580
push str.saving_URI_n
push str.Memory_allocation_failed_:__s_n
push eax
push eax
push eax
push eax
push str.saving_URI_n
push eax
push eax
push 3
push 2
push 0x1e
push eax
push eax
push eax
push eax
push eax
call fcn.004b77e0
add esp, 0x44
xor eax, eax
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov ebp, dword [ebp]
push esi
xor esi, esi
test ebp, ebp
je 0x4c65e3
cmp byte [ebp], 0
je 0x4c65de
cmp esi, ebx
jl 0x4c65b0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c6590
cmp esi, ebx
jl 0x4c65de
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3a
inc esi
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 4]
test ebp, ebp
je 0x4c66fa
cmp byte [ebp], 0
je 0x4c6d40
nop dword [eax]
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6623
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x3b
je 0x4c66e6
cmp al, 0x2f
je 0x4c66e6
cmp al, 0x3f
je 0x4c66e6
cmp al, 0x3a
je 0x4c66e6
cmp al, 0x40
je 0x4c66e6
cmp al, 0x26
je 0x4c66e6
cmp al, 0x3d
je 0x4c66e6
cmp al, 0x2b
je 0x4c66e6
cmp al, 0x24
je 0x4c66e6
cmp al, 0x2c
je 0x4c66e6
cmp al, 0x5b
je 0x4c66e6
cmp al, 0x5d
je 0x4c66e6
cmp al, 0x61
jl 0x4c667e
cmp al, 0x7a
jle 0x4c66e6
cmp al, 0x41
jl 0x4c6686
cmp al, 0x5a
jle 0x4c66e6
cmp al, 0x30
jl 0x4c668e
cmp al, 0x39
jle 0x4c66e6
cmp al, 0x2d
je 0x4c66e6
cmp al, 0x5f
je 0x4c66e6
cmp al, 0x2e
je 0x4c66e6
cmp al, 0x21
je 0x4c66e6
cmp al, 0x7e
je 0x4c66e6
cmp al, 0x2a
je 0x4c66e6
cmp al, 0x27
je 0x4c66e6
cmp al, 0x28
je 0x4c66e6
cmp al, 0x29
je 0x4c66e6
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c6600
jmp 0x4c6d40
mov ebp, dword [esp + 0x1c]
cmp dword [ebp + 0xc], 0
jne 0x4c6861
cmp dword [ebp + 0x14], 0xffffffff
je 0x4c6861
cmp dword [ebp + 8], 0
je 0x4c682b
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c673f
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov word [esi + edi], 0x2f2f
add esi, 2
mov ebp, dword [ebp + 8]
cmp byte [ebp], 0
je 0x4c6822
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6778
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4c6787
cmp al, 0x7a
jle 0x4c6813
cmp al, 0x41
jl 0x4c6793
cmp al, 0x5a
jle 0x4c6813
cmp al, 0x30
jl 0x4c679b
cmp al, 0x39
jle 0x4c6813
cmp al, 0x2d
je 0x4c6813
cmp al, 0x5f
je 0x4c6813
cmp al, 0x2e
je 0x4c6813
cmp al, 0x21
je 0x4c6813
cmp al, 0x7e
je 0x4c6813
cmp al, 0x2a
je 0x4c6813
cmp al, 0x27
je 0x4c6813
cmp al, 0x28
je 0x4c6813
cmp al, 0x29
je 0x4c6813
cmp al, 0x24
je 0x4c6813
cmp al, 0x2c
je 0x4c6813
cmp al, 0x3b
je 0x4c6813
cmp al, 0x3a
je 0x4c6813
cmp al, 0x40
je 0x4c6813
cmp al, 0x26
je 0x4c6813
cmp al, 0x3d
je 0x4c6813
cmp al, 0x2b
je 0x4c6813
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c6755
mov ebp, dword [esp + 0x1c]
jmp 0x4c6a20
cmp dword [ebp], 0
je 0x4c6a20
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6a20
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
jmp 0x4c6a20
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6884
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov word [esi + edi], 0x2f2f
add esi, 2
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x4c698f
cmp byte [ebp], 0
je 0x4c6967
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c68c5
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4c68d4
cmp al, 0x7a
jle 0x4c6958
cmp al, 0x41
jl 0x4c68dc
cmp al, 0x5a
jle 0x4c6958
cmp al, 0x30
jl 0x4c68e4
cmp al, 0x39
jle 0x4c6958
cmp al, 0x2d
je 0x4c6958
cmp al, 0x5f
je 0x4c6958
cmp al, 0x2e
je 0x4c6958
cmp al, 0x21
je 0x4c6958
cmp al, 0x7e
je 0x4c6958
cmp al, 0x2a
je 0x4c6958
cmp al, 0x27
je 0x4c6958
cmp al, 0x28
je 0x4c6958
cmp al, 0x29
je 0x4c6958
cmp al, 0x3b
je 0x4c6958
cmp al, 0x3a
je 0x4c6958
cmp al, 0x26
je 0x4c6958
cmp al, 0x3d
je 0x4c6958
cmp al, 0x2b
je 0x4c6958
cmp al, 0x24
je 0x4c6958
cmp al, 0x2c
je 0x4c6958
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c68a2
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c698a
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x40
inc esi
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 0xc]
test ebp, ebp
je 0x4c6a1e
cmp byte [ebp], 0
je 0x4c69d2
cmp esi, ebx
jl 0x4c69c4
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c69a4
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jle 0x4c6a20
lea eax, [esi + 0xa]
cmp eax, ebx
jl 0x4c6a03
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ecx, dword [ebp + 0x14]
mov edi, eax
mov ebx, dword [esp + 0x10]
push ecx
mov eax, ebx
sub eax, esi
push 0x5d806c
push eax
lea eax, [esi + edi]
push eax
call fcn.0045f690
add esp, 0x10
add esi, eax
jmp 0x4c6a20
mov ebp, eax
mov ebp, dword [ebp + 0x18]
test ebp, ebp
je 0x4c6b85
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x4c6aae
cmp byte [ebp], 0x2f
jne 0x4c6aae
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
mov al, byte [eax]
cmp al, 0x61
jl 0x4c6a4c
cmp al, 0x7a
jle 0x4c6a52
sub al, 0x41
cmp al, 0x19
ja 0x4c6aae
cmp byte [ebp + 2], 0x3a
jne 0x4c6aae
push str.file
push ecx
call fcn.004b90d0
add esp, 8
test eax, eax
je 0x4c6aae
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6a8d
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
movzx eax, byte [ebp]
mov ebp, dword [esp + 0x14]
mov byte [esi + edi], al
movzx eax, byte [ebp]
mov byte [esi + edi + 1], al
movzx eax, byte [ebp + 1]
mov byte [esi + edi + 2], al
add esi, 3
add ebp, 2
cmp byte [ebp], 0
je 0x4c6b85
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6adb
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4c6aea
cmp al, 0x7a
jle 0x4c6b76
cmp al, 0x41
jl 0x4c6af6
cmp al, 0x5a
jle 0x4c6b76
cmp al, 0x30
jl 0x4c6afe
cmp al, 0x39
jle 0x4c6b76
cmp al, 0x2d
je 0x4c6b76
cmp al, 0x5f
je 0x4c6b76
cmp al, 0x2e
je 0x4c6b76
cmp al, 0x21
je 0x4c6b76
cmp al, 0x7e
je 0x4c6b76
cmp al, 0x2a
je 0x4c6b76
cmp al, 0x27
je 0x4c6b76
cmp al, 0x28
je 0x4c6b76
cmp al, 0x29
je 0x4c6b76
cmp al, 0x2f
je 0x4c6b76
cmp al, 0x3b
je 0x4c6b76
cmp al, 0x40
je 0x4c6b76
cmp al, 0x26
je 0x4c6b76
cmp al, 0x3d
je 0x4c6b76
cmp al, 0x2b
je 0x4c6b76
cmp al, 0x24
je 0x4c6b76
cmp al, 0x2c
je 0x4c6b76
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c6ab8
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x28], 0
je 0x4c6c10
lea ebp, [esi + 1]
cmp ebp, ebx
jl 0x4c6bb6
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov byte [esi + edi], 0x3f
mov esi, ebp
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x28]
cmp byte [ebp], 0
je 0x4c6d40
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
cmp eax, ebx
jl 0x4c6bf4
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
inc ebp
mov byte [esi + edi], al
inc esi
mov eax, dword [esp + 0x14]
inc eax
cmp byte [ebp], 0
mov dword [esp + 0x14], eax
jne 0x4c6bd4
jmp 0x4c6d40
cmp dword [ecx + 0x1c], 0
je 0x4c6d44
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6c41
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov byte [esi + edi], 0x3f
inc esi
mov ebp, dword [ecx + 0x1c]
cmp byte [ebp], 0
je 0x4c6d44
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6c76
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4c6c85
cmp al, 0x7a
jle 0x4c6d31
cmp al, 0x41
jl 0x4c6c91
cmp al, 0x5a
jle 0x4c6d31
cmp al, 0x30
jl 0x4c6c9d
cmp al, 0x39
jle 0x4c6d31
cmp al, 0x2d
je 0x4c6d31
cmp al, 0x5f
je 0x4c6d31
cmp al, 0x2e
je 0x4c6d31
cmp al, 0x21
je 0x4c6d31
cmp al, 0x7e
je 0x4c6d31
cmp al, 0x2a
je 0x4c6d31
cmp al, 0x27
je 0x4c6d31
cmp al, 0x28
je 0x4c6d31
cmp al, 0x29
je 0x4c6d31
cmp al, 0x3b
je 0x4c6d31
cmp al, 0x2f
je 0x4c6d31
cmp al, 0x3f
je 0x4c6d31
cmp al, 0x3a
je 0x4c6d31
cmp al, 0x40
je 0x4c6d31
cmp al, 0x26
je 0x4c6d31
cmp al, 0x3d
je 0x4c6d31
cmp al, 0x2b
je 0x4c6d31
cmp al, 0x24
je 0x4c6d31
cmp al, 0x2c
je 0x4c6d31
cmp al, 0x5b
je 0x4c6d31
cmp al, 0x5d
je 0x4c6d31
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c6c53
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x20], 0
je 0x4c6e78
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6d71
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x1c]
mov byte [esi + edi], 0x23
inc esi
mov ebp, dword [eax + 0x20]
cmp byte [ebp], 0
je 0x4c6e78
lea eax, [esi + 3]
cmp eax, ebx
jl 0x4c6daa
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
je 0x4c6e8e
mov ebx, dword [esp + 0x10]
mov edi, eax
mov al, byte [ebp]
cmp al, 0x61
jl 0x4c6db9
cmp al, 0x7a
jle 0x4c6e69
cmp al, 0x41
jl 0x4c6dc5
cmp al, 0x5a
jle 0x4c6e69
cmp al, 0x30
jl 0x4c6dd1
cmp al, 0x39
jle 0x4c6e69
cmp al, 0x2d
je 0x4c6e69
cmp al, 0x5f
je 0x4c6e69
cmp al, 0x2e
je 0x4c6e69
cmp al, 0x21
je 0x4c6e69
cmp al, 0x7e
je 0x4c6e69
cmp al, 0x2a
je 0x4c6e69
cmp al, 0x27
je 0x4c6e69
cmp al, 0x28
je 0x4c6e69
cmp al, 0x29
je 0x4c6e69
cmp al, 0x3b
je 0x4c6e69
cmp al, 0x2f
je 0x4c6e69
cmp al, 0x3f
je 0x4c6e69
cmp al, 0x3a
je 0x4c6e69
cmp al, 0x40
je 0x4c6e69
cmp al, 0x26
je 0x4c6e69
cmp al, 0x3d
je 0x4c6e69
cmp al, 0x2b
je 0x4c6e69
cmp al, 0x24
je 0x4c6e69
cmp al, 0x2c
je 0x4c6e69
cmp al, 0x5b
je 0x4c6e69
cmp al, 0x5d
je 0x4c6e69
movzx edx, al
mov eax, 9
mov ecx, edx
mov byte [esi + edi], 0x25
shr ecx, 4
and edx, 0xf
cmp eax, ecx
sbb al, al
and al, 7
add al, 0x30
add al, cl
mov byte [esi + edi + 1], al
mov eax, 9
add esi, 2
cmp eax, edx
sbb al, al
and al, 7
add al, 0x30
add al, dl
inc ebp
mov byte [esi + edi], al
inc esi
cmp byte [ebp], 0
jne 0x4c6d87
cmp esi, ebx
jl 0x4c6ea4
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004c6ec0
add esp, 8
test eax, eax
jne 0x4c6ea2
push edi
call dword [0x6b21ac]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret
mov edi, eax
mov byte [esi + edi], 0
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
add esp, 8
ret