Function at 0x430420
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
xor esi, esi
mov dword [ebp - 0xc], edi
xor ebx, ebx
cmp dword [edi + 0x6c], edx
je 0x430692
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 0x6c]
mov dword [ebp - 4], eax
nop word [eax + eax]
mov al, byte [eax + edx]
movzx ecx, al
movzx ecx, byte [ecx + 0x5d5a20]
test ecx, ecx
jne 0x4304cb
cmp al, 0x41
jb 0x430469
cmp al, 0x5a
jbe 0x4304d0
cmp al, 0x61
jb 0x430471
cmp al, 0x7a
jbe 0x4304d0
cmp al, 0x30
jb 0x430479
cmp al, 0x39
jbe 0x4304d0
cmp al, 0x3d
je 0x4304d0
cmp al, 0x24
je 0x4304d0
cmp al, 0x21
je 0x4304d0
cmp al, 0x3f
je 0x4304d0
cmp al, 0x26
je 0x4304d0
cmp al, 0x40
je 0x4304d0
cmp al, 0x27
je 0x4304d0
cmp al, 0x3e
je 0x4304d0
cmp al, 0x3c
je 0x4304d0
cmp al, 0x28
je 0x4304d0
cmp al, 0x29
je 0x4304d0
cmp al, 0x3a
je 0x4304d0
cmp al, 0x2f
je 0x4304d0
cmp al, 0x2d
je 0x4304d0
cmp al, 0x5f
je 0x4304d0
cmp al, 0x25
je 0x4304d0
cmp al, 0x2e
je 0x4304d0
cmp al, 0x7e
je 0x4304d0
cmp al, 0x20
jne 0x4304c8
inc ebx
jmp 0x4304d0
inc esi
jmp 0x4304d0
inc esi
add esi, ecx
add edx, ecx
mov eax, dword [ebp - 4]
inc edx
cmp edx, edi
jb 0x430450
mov edi, dword [ebp - 0xc]
test esi, esi
jne 0x43050c
test ebx, ebx
je 0x430692
xor ecx, ecx
nop dword [eax]
mov eax, dword [edi + 0xc]
cmp byte [eax + ecx], 0x20
jne 0x4304fd
mov byte [eax + ecx], 0x2b
inc ecx
cmp ecx, dword [edi + 0x6c]
jb 0x4304f0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x6c]
lea ebx, [esi*2 + 4]
add eax, ebx
mov dword [ebp - 0x18], ebx
push eax
call fcn.0040dfe0
mov edx, eax
add esp, 4
mov dword [ebp - 8], edx
test edx, edx
jne 0x430536
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
xor esi, esi
mov dword [ebp - 4], ecx
cmp dword [edi + 0x6c], ecx
jbe 0x430646
mov eax, dword [edi + 0xc]
mov al, byte [ecx + eax]
movzx ebx, al
mov dword [ebp - 0x10], ebx
movzx ebx, byte [ebx + 0x5d5a20]
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x4305fb
cmp al, 0x41
jb 0x430570
cmp al, 0x5a
jbe 0x4305f5
cmp al, 0x61
jb 0x430578
cmp al, 0x7a
jbe 0x4305f5
cmp al, 0x30
jb 0x430580
cmp al, 0x39
jbe 0x4305f5
cmp al, 0x3d
je 0x4305f5
cmp al, 0x24
je 0x4305f5
cmp al, 0x21
je 0x4305f5
cmp al, 0x3f
je 0x4305f5
cmp al, 0x26
je 0x4305f5
cmp al, 0x40
je 0x4305f5
cmp al, 0x27
je 0x4305f5
cmp al, 0x3c
je 0x4305f5
cmp al, 0x3e
je 0x4305f5
cmp al, 0x28
je 0x4305f5
cmp al, 0x29
je 0x4305f5
cmp al, 0x3a
je 0x4305f5
cmp al, 0x2f
je 0x4305f5
cmp al, 0x2d
je 0x4305f5
cmp al, 0x5f
je 0x4305f5
cmp al, 0x25
je 0x4305f5
cmp al, 0x2e
je 0x4305f5
cmp al, 0x7e
je 0x4305f5
lea ecx, [esi + edx]
inc esi
cmp al, 0x20
jne 0x4305d8
mov byte [ecx], 0x2b
mov ecx, dword [ebp - 4]
jmp 0x430636
lea eax, [esi + edx]
mov byte [ecx], 0x25
push eax
push dword [ebp - 0x10]
call fcn.0040e8c0
mov edx, dword [ebp - 8]
add esp, 8
mov ecx, dword [ebp - 4]
add esi, 2
jmp 0x430636
mov byte [esi + edx], al
inc esi
jmp 0x430636
xor edi, edi
add ebx, 1
je 0x430630
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
add eax, edi
mov cl, byte [eax + ecx]
mov byte [esi + edx], 0x25
inc esi
lea eax, [esi + edx]
push eax
movzx eax, cl
push eax
call fcn.0040e8c0
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 4]
add esp, 8
add esi, 2
cmp edi, ebx
jb 0x430602
add ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, dword [edi + 0x6c]
jb 0x430546
mov ebx, dword [ebp - 0x18]
mov byte [esi + edx], 0
cmp byte [edi + 9], 0
mov dword [edi + 0x6c], esi
je 0x43066a
test esi, esi
je 0x43066a
mov eax, dword [edi + 0xc]
test eax, eax
je 0x43066a
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x64]
test eax, eax
je 0x430681
push eax
call fcn.005b34d6
add esp, 4
mov dword [edi + 0x68], 0
mov eax, dword [ebp - 8]
mov dword [edi + 0x64], eax
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x6c]
add eax, ebx
mov dword [edi + 0x68], eax
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret