Function at 0x42d820
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x42dc87
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x42dc87
cmp eax, 0x29
jne 0x42d860
cmp dword [esi + 0x10], 0
jne 0x42dc87
test dword [esi + 0x50], 0x10000000
je 0x42dc94
jmp 0x42dc20
cmp eax, 0x2e
jne 0x42d8b3
push 5
lea ecx, [esi + 0x24]
call fcn.0042dcb0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42dc68
cmp byte [eax], 0x5c
jne 0x42da6f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42da6f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42d8ab
mov dl, byte [ecx]
cmp dl, 0x28
je 0x42da6d
cmp dl, 0x29
je 0x42da6d
test bl, 0x10
jmp 0x42da5f
cmp eax, 0x5c
jne 0x42d9d1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42d8fa
cmp byte [eax], 0x5c
jne 0x42d8f7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42d8f7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42d8e4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x42d8f5
cmp dl, 0x29
je 0x42d8f5
test bl, 0x10
jne 0x42d8f7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42d8f5
cmp dl, 0x7d
jne 0x42d8f7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0042c9a0
test byte [esi + 0x50], 0x80
je 0x42d9c5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x42d966
push 4
lea ecx, [esi + 0x24]
call fcn.0042dcb0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42d95a
cmp byte [eax], 0x5c
jne 0x42d957
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42d957
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42d944
mov dl, byte [ecx]
cmp dl, 0x28
je 0x42d955
cmp dl, 0x29
je 0x42d955
test bl, 0x10
jne 0x42d957
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42d955
cmp dl, 0x7d
jne 0x42d957
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0042c9a0
jmp 0x42dc79
cmp al, 0x42
jne 0x42d9c5
push 4
lea ecx, [esi + 0x24]
call fcn.0042dcb0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42d9b9
cmp byte [eax], 0x5c
jne 0x42d9b6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42d9b6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42d9a3
mov al, byte [ecx]
cmp al, 0x28
je 0x42d9b4
cmp al, 0x29
je 0x42d9b4
mov eax, dword [esi]
test dl, 0x10
jne 0x42d9b6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42d9b4
cmp dl, 0x7d
jne 0x42d9b6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0042c9a0
jmp 0x42dc79
mov ecx, esi
call fcn.0042e7a0
jmp 0x42dc6f
cmp eax, 0x5b
jne 0x42da77
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42da18
cmp byte [eax], 0x5c
jne 0x42da15
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42da15
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42da02
mov al, byte [ecx]
cmp al, 0x28
je 0x42da13
cmp al, 0x29
je 0x42da13
mov eax, dword [esi]
test dl, 0x10
jne 0x42da15
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42da13
cmp dl, 0x7d
jne 0x42da15
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0042c9a0
mov ecx, esi
call fcn.0042e670
cmp dword [esi + 0x4c], 0x5d
jne 0x42dca2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42dc68
cmp byte [eax], 0x5c
jne 0x42da6f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42da6f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42da5c
mov al, byte [ecx]
cmp al, 0x28
je 0x42da6d
cmp al, 0x29
je 0x42da6d
mov eax, dword [esi]
test dl, 0x10
jne 0x42da6f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42da6d
cmp dl, 0x7d
jne 0x42da6f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x42dc68
cmp eax, 0x28
jne 0x42db2a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42dabe
cmp byte [eax], 0x5c
jne 0x42dabb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42dabb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42daa8
mov al, byte [ecx]
cmp al, 0x28
je 0x42dab9
cmp al, 0x29
je 0x42dab9
mov eax, dword [esi]
test dl, 0x10
jne 0x42dabb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42dab9
cmp dl, 0x7d
jne 0x42dabb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0042c9a0
mov ecx, esi
call fcn.0042e8f0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x42dc94
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42db16
cmp byte [eax], 0x5c
jne 0x42db13
lea ecx, [eax + 1]
cmp ecx, edx
je 0x42db13
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42db00
mov al, byte [ecx]
cmp al, 0x28
je 0x42db11
cmp al, 0x29
je 0x42db11
mov eax, dword [esi]
test dl, 0x10
jne 0x42db13
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x42db11
cmp dl, 0x7d
jne 0x42db13
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0042c9a0
test bl, bl
je 0x42dc79
jmp 0x42dc6f
cmp eax, 0x5e
jne 0x42db80
push 2
lea ecx, [esi + 0x24]
call fcn.0042dcb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42db74
cmp byte [eax], 0x5c
jne 0x42db72
inc eax
cmp eax, ecx
je 0x42db72
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42db5f
mov dl, byte [eax]
cmp dl, 0x28
je 0x42db70
cmp dl, 0x29
je 0x42db70
test cl, 0x10
jne 0x42db72
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42db70
cmp cl, 0x7d
jne 0x42db72
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0042c9a0
jmp 0x42dc79
cmp eax, 0x24
jne 0x42dbd6
push 3
lea ecx, [esi + 0x24]
call fcn.0042dcb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42dbca
cmp byte [eax], 0x5c
jne 0x42dbc8
inc eax
cmp eax, ecx
je 0x42dbc8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42dbb5
mov dl, byte [eax]
cmp dl, 0x28
je 0x42dbc6
cmp dl, 0x29
je 0x42dbc6
test cl, 0x10
jne 0x42dbc8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42dbc6
cmp cl, 0x7d
jne 0x42dbc8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0042c9a0
jmp 0x42dc79
cmp eax, 0x2a
je 0x42dc8d
cmp eax, 0x2b
je 0x42dc8d
cmp eax, 0x3f
je 0x42dc8d
cmp eax, 0x7b
je 0x42dc8d
cmp eax, 0x7d
jne 0x42dc0e
test dword [esi + 0x50], 0x10000000
je 0x42dc9b
jmp 0x42dc20
cmp eax, 0x5d
jne 0x42dc20
test dword [esi + 0x50], 0x10000000
je 0x42dca2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0042ec80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42dc68
cmp byte [eax], 0x5c
jne 0x42dc66
inc eax
cmp eax, ecx
je 0x42dc66
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42dc53
mov dl, byte [eax]
cmp dl, 0x28
je 0x42dc64
cmp dl, 0x29
je 0x42dc64
test cl, 0x10
jne 0x42dc66
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42dc64
cmp cl, 0x7d
jne 0x42dc66
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0042c9a0
mov ecx, esi
call fcn.0042ea50
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x42d836
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0042c990
push 5
call fcn.0042c990
push 6
call fcn.0042c990
push 4
call fcn.0042c990
int3