Function at 0x42bb20
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x519008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, edx
mov esi, ecx
cmp edi, 0xffffffff
jne 0x42bb49
mov edi, esi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x42bb40
sub edi, ecx
xor eax, eax
test edi, edi
je 0x42bb5f
nop
cmp byte [esi + eax], 0x5c
jne 0x42bb5a
mov byte [esi + eax], 0x2f
inc eax
cmp eax, edi
jb 0x42bb50
cmp edi, 2
jbe 0x42bc8c
lea eax, [edi - 2]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x42bc8c
mov ecx, esi
not ecx
push ebx
mov dword [ebp - 0x10], ecx
lea ebx, [esi + 1]
mov ecx, eax
cmp byte [ebx - 1], 0x25
jne 0x42bc7d
mov edx, dword [ebp - 0x10]
add edx, ebx
mov cl, byte [edx + esi + 1]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x42bbdd
cmp cl, 0x41
je 0x42bbdd
cmp cl, 0x61
je 0x42bbdd
cmp cl, 0x42
je 0x42bbdd
cmp cl, 0x62
je 0x42bbdd
cmp cl, 0x43
je 0x42bbdd
cmp cl, 0x63
je 0x42bbdd
cmp cl, 0x44
je 0x42bbdd
cmp cl, 0x64
je 0x42bbdd
cmp cl, 0x45
je 0x42bbdd
cmp cl, 0x65
je 0x42bbdd
cmp cl, 0x46
je 0x42bbdd
cmp cl, 0x66
jne 0x42bc7a
mov cl, byte [edx + esi + 2]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x42bc24
cmp cl, 0x41
je 0x42bc24
cmp cl, 0x61
je 0x42bc24
cmp cl, 0x42
je 0x42bc24
cmp cl, 0x62
je 0x42bc24
cmp cl, 0x43
je 0x42bc24
cmp cl, 0x63
je 0x42bc24
cmp cl, 0x44
je 0x42bc24
cmp cl, 0x64
je 0x42bc24
cmp cl, 0x45
je 0x42bc24
cmp cl, 0x65
je 0x42bc24
cmp cl, 0x46
je 0x42bc24
cmp cl, 0x66
jne 0x42bc7a
movzx eax, byte [ebx]
lea edx, [ebp - 0x14]
mov byte [ebp - 7], cl
lea ecx, [ebp - 8]
push 0xffffffffffffffff
mov byte [ebp - 8], al
mov word [ebp - 6], 0
mov dword [ebp - 0x14], 0x20
call fcn.0042d4c0
mov edx, dword [ebp - 0x10]
movzx eax, byte [ebp - 0x14]
mov byte [ebx - 1], al
mov eax, edi
lea ecx, [edx + ebx]
sub eax, ecx
sub eax, 3
push eax
lea eax, [ebx + 2]
push eax
push ebx
call fcn.00407040
mov eax, dword [ebp - 0xc]
add esp, 0x10
sub edi, 2
sub eax, 2
mov dword [ebp - 0xc], eax
mov byte [eax + esi + 2], 0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
inc ebx
add eax, ebx
cmp eax, ecx
jb 0x42bb83
pop ebx
xor ecx, ecx
xor eax, eax
test edi, edi
je 0x42bd28
mov dl, byte [esi + ecx]
cmp dl, 0x2f
jne 0x42bcb9
inc ecx
mov byte [esi + eax], dl
inc eax
cmp byte [esi + ecx], dl
jne 0x42bd20
lea ebx, [ebx]
inc ecx
cmp byte [esi + ecx], 0x2f
je 0x42bcb0
jmp 0x42bd20
cmp dl, 0x2e
jne 0x42bd1b
test ecx, ecx
je 0x42bd0d
mov dl, byte [esi + ecx - 1]
cmp dl, 0x2f
jne 0x42bd0d
cmp byte [esi + ecx + 1], dl
jne 0x42bcda
mov edx, 2
add ecx, edx
jmp 0x42bd20
cmp dl, 0x2f
jne 0x42bd0d
cmp byte [esi + ecx + 1], 0x2e
jne 0x42bd0d
cmp eax, 2
jb 0x42bcee
sub eax, 2
test eax, eax
je 0x42bcfd
cmp byte [esi + eax], 0x2f
je 0x42bd03
sub eax, 1
jne 0x42bcf2
cmp byte [esi + eax], 0x2f
jne 0x42bd04
inc eax
mov edx, 3
add ecx, edx
jmp 0x42bd20
mov byte [esi + eax], 0x2e
mov edx, 1
inc eax
add ecx, edx
jmp 0x42bd20
mov byte [esi + eax], dl
inc eax
inc ecx
cmp ecx, edi
jb 0x42bc98
mov byte [esi + eax], 0
cmp eax, 1
jbe 0x42bd3d
cmp byte [esi + eax - 1], 0x2f
jne 0x42bd3d
mov byte [esi + eax - 1], 0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00403d8c
mov esp, ebp
pop ebp
ret