Function at 0x430120
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 0x430392
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 + 0x5d09e8]
test ecx, ecx
jne 0x4301cb
cmp al, 0x41
jb 0x430169
cmp al, 0x5a
jbe 0x4301d0
cmp al, 0x61
jb 0x430171
cmp al, 0x7a
jbe 0x4301d0
cmp al, 0x30
jb 0x430179
cmp al, 0x39
jbe 0x4301d0
cmp al, 0x3d
je 0x4301d0
cmp al, 0x24
je 0x4301d0
cmp al, 0x21
je 0x4301d0
cmp al, 0x3f
je 0x4301d0
cmp al, 0x26
je 0x4301d0
cmp al, 0x40
je 0x4301d0
cmp al, 0x27
je 0x4301d0
cmp al, 0x3e
je 0x4301d0
cmp al, 0x3c
je 0x4301d0
cmp al, 0x28
je 0x4301d0
cmp al, 0x29
je 0x4301d0
cmp al, 0x3a
je 0x4301d0
cmp al, 0x2f
je 0x4301d0
cmp al, 0x2d
je 0x4301d0
cmp al, 0x5f
je 0x4301d0
cmp al, 0x25
je 0x4301d0
cmp al, 0x2e
je 0x4301d0
cmp al, 0x7e
je 0x4301d0
cmp al, 0x20
jne 0x4301c8
inc ebx
jmp 0x4301d0
inc esi
jmp 0x4301d0
inc esi
add esi, ecx
add edx, ecx
mov eax, dword [ebp - 4]
inc edx
cmp edx, edi
jb 0x430150
mov edi, dword [ebp - 0xc]
test esi, esi
jne 0x43020c
test ebx, ebx
je 0x430392
xor ecx, ecx
nop dword [eax]
mov eax, dword [edi + 0xc]
cmp byte [eax + ecx], 0x20
jne 0x4301fd
mov byte [eax + ecx], 0x2b
inc ecx
cmp ecx, dword [edi + 0x6c]
jb 0x4301f0
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.0040de50
mov edx, eax
add esp, 4
mov dword [ebp - 8], edx
test edx, edx
jne 0x430236
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 0x430346
mov eax, dword [edi + 0xc]
mov al, byte [ecx + eax]
movzx ebx, al
mov dword [ebp - 0x10], ebx
movzx ebx, byte [ebx + 0x5d09e8]
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x4302fb
cmp al, 0x41
jb 0x430270
cmp al, 0x5a
jbe 0x4302f5
cmp al, 0x61
jb 0x430278
cmp al, 0x7a
jbe 0x4302f5
cmp al, 0x30
jb 0x430280
cmp al, 0x39
jbe 0x4302f5
cmp al, 0x3d
je 0x4302f5
cmp al, 0x24
je 0x4302f5
cmp al, 0x21
je 0x4302f5
cmp al, 0x3f
je 0x4302f5
cmp al, 0x26
je 0x4302f5
cmp al, 0x40
je 0x4302f5
cmp al, 0x27
je 0x4302f5
cmp al, 0x3c
je 0x4302f5
cmp al, 0x3e
je 0x4302f5
cmp al, 0x28
je 0x4302f5
cmp al, 0x29
je 0x4302f5
cmp al, 0x3a
je 0x4302f5
cmp al, 0x2f
je 0x4302f5
cmp al, 0x2d
je 0x4302f5
cmp al, 0x5f
je 0x4302f5
cmp al, 0x25
je 0x4302f5
cmp al, 0x2e
je 0x4302f5
cmp al, 0x7e
je 0x4302f5
lea ecx, [esi + edx]
inc esi
cmp al, 0x20
jne 0x4302d8
mov byte [ecx], 0x2b
mov ecx, dword [ebp - 4]
jmp 0x430336
lea eax, [esi + edx]
mov byte [ecx], 0x25
push eax
push dword [ebp - 0x10]
call fcn.0040e730
mov edx, dword [ebp - 8]
add esp, 8
mov ecx, dword [ebp - 4]
add esi, 2
jmp 0x430336
mov byte [esi + edx], al
inc esi
jmp 0x430336
xor edi, edi
add ebx, 1
je 0x430330
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.0040e730
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 4]
add esp, 8
add esi, 2
cmp edi, ebx
jb 0x430302
add ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, dword [edi + 0x6c]
jb 0x430246
mov ebx, dword [ebp - 0x18]
mov byte [esi + edx], 0
cmp byte [edi + 9], 0
mov dword [edi + 0x6c], esi
je 0x43036a
test esi, esi
je 0x43036a
mov eax, dword [edi + 0xc]
test eax, eax
je 0x43036a
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x64]
test eax, eax
je 0x430381
push eax
call fcn.005af5b6
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