Function at 0x40cd20
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 0x40d22f
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x40d22f
nop
cmp eax, 0x29
jne 0x40cd65
cmp dword [esi + 0x10], 0
jne 0x40d22f
test dword [esi + 0x50], 0x10000000
je 0x40d23c
nop dword [eax]
jmp 0x40d1ba
cmp eax, 0x2e
jne 0x40cdc5
push 5
lea ecx, [esi + 0x24]
call fcn.0040d260
mov eax, dword ds:[esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40d210
cmp word [eax], 0x5c
jne 0x40cfc0
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40cfc0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40cdba
movzx edx, word [ecx]
cmp edx, 0x28
je 0x40cfbe
cmp edx, 0x29
je 0x40cfbe
test bl, 0x10
jmp 0x40cfaf
cmp eax, 0x5c
jne 0x40cf0a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40ce12
cmp word [eax], 0x5c
jne 0x40ce0d
lea ecx, ds:[eax + 2]
cmp ecx, edx
je 0x40ce0d
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40cdf9
movzx edx, word [ecx]
cmp edx, 0x28
je 0x40ce0b
cmp edx, 0x29
je 0x40ce0b
test bl, 0x10
jne 0x40ce0d
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40ce0b
cmp edx, 0x7d
jne 0x40ce0d
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040c2c0
test byte ds:[esi + 0x50], 0x80
je 0x40cefd
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x40ce8f
push 4
lea ecx, [esi + 0x24]
call fcn.0040d260
mov eax, dword ds:[esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40ce83
cmp word [eax], 0x5c
jne 0x40ce7e
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40ce7e
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40ce6a
movzx edx, word ds:[ecx]
cmp edx, 0x28
je 0x40ce7c
cmp edx, 0x29
je 0x40ce7c
test bl, 0x10
jne 0x40ce7e
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40ce7c
cmp edx, 0x7d
jne 0x40ce7e
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040c2c0
jmp 0x40d221
cmp ecx, 0x42
jne 0x40cefd
push 4
lea ecx, [esi + 0x24]
call fcn.0040d260
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40cef1
cmp word [eax], 0x5c
jne 0x40ceec
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40ceec
mov edx, dword ds:[esi + 0x50]
test dl, 8
jne 0x40ced4
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40ceea
cmp eax, 0x29
je 0x40ceea
mov eax, dword [esi]
test dl, 0x10
jne 0x40ceec
movzx edx, word ds:[ecx]
cmp edx, 0x7b
je 0x40ceea
cmp edx, 0x7d
jne 0x40ceec
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040c2c0
jmp 0x40d221
mov ecx, esi
call fcn.0040dc00
jmp 0x40d217
cmp eax, 0x5b
jne 0x40cfca
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40cf59
cmp word ds:[eax], 0x5c
jne 0x40cf54
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40cf54
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40cf40
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40cf52
cmp eax, 0x29
je 0x40cf52
mov eax, dword [esi]
test dl, 0x10
jne 0x40cf54
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40cf52
cmp edx, 0x7d
jne 0x40cf54
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040c2c0
mov ecx, esi
call fcn.0040daa0
cmp dword [esi + 0x4c], 0x5d
jne 0x40d24c
mov eax, dword ds:[esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40d210
cmp word [eax], 0x5c
jne 0x40cfc0
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40cfc0
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40cfac
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40cfbe
cmp eax, 0x29
je 0x40cfbe
mov eax, dword [esi]
test dl, 0x10
jne 0x40cfc0
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40cfbe
cmp edx, 0x7d
jne 0x40cfc0
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x40d210
cmp eax, 0x28
jne 0x40d099
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40d019
cmp word ds:[eax], 0x5c
jne 0x40d014
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40d014
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40d000
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40d012
cmp eax, 0x29
je 0x40d012
mov eax, dword [esi]
test dl, 0x10
jne 0x40d014
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40d012
cmp edx, 0x7d
jne 0x40d014
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040c2c0
mov ecx, esi
call fcn.0040dd80
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x40d23c
mov eax, dword ds:[esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40d085
cmp word [eax], 0x5c
jne 0x40d080
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40d080
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40d06c
movzx eax, word ds:[ecx]
cmp eax, 0x28
je 0x40d07e
cmp eax, 0x29
je 0x40d07e
mov eax, dword [esi]
test dl, 0x10
jne 0x40d080
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40d07e
cmp edx, 0x7d
jne 0x40d080
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040c2c0
test bl, bl
je 0x40d221
jmp 0x40d217
nop dword [eax]
cmp eax, 0x5e
jne 0x40d105
push 2
lea ecx, [esi + 0x24]
call fcn.0040d260
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40d0f7
cmp word ds:[eax], 0x5c
jne 0x40d0f4
add eax, 2
cmp eax, ecx
je 0x40d0f4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40d0de
movzx edx, word [eax]
cmp edx, 0x28
je 0x40d0f2
cmp edx, 0x29
je 0x40d0f2
nop
test cl, 0x10
jne 0x40d0f4
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40d0f2
cmp ecx, 0x7d
jne 0x40d0f4
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040c2c0
nop
jmp 0x40d221
cmp eax, 0x24
jne 0x40d16d
push 3
lea ecx, [esi + 0x24]
call fcn.0040d260
mov eax, dword ds:[esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40d161
cmp word [eax], 0x5c
jne 0x40d15e
add eax, 2
cmp eax, ecx
je 0x40d15e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40d14a
movzx edx, word ds:[eax]
cmp edx, 0x28
je 0x40d15c
cmp edx, 0x29
je 0x40d15c
test cl, 0x10
jne 0x40d15e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40d15c
cmp ecx, 0x7d
jne 0x40d15e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040c2c0
jmp 0x40d221
cmp eax, 0x2a
je 0x40d235
cmp eax, 0x2b
je 0x40d235
nop
cmp eax, 0x3f
je 0x40d235
cmp eax, 0x7b
je 0x40d235
cmp eax, 0x7d
jne 0x40d1a8
test dword ds:[esi + 0x50], 0x10000000
je 0x40d245
jmp 0x40d1ba
cmp eax, 0x5d
jne 0x40d1ba
test dword [esi + 0x50], 0x10000000
je 0x40d24c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0040e380
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40d210
cmp word [eax], 0x5c
jne 0x40d20d
add eax, 2
cmp eax, ecx
je 0x40d20d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40d1f9
movzx edx, word [eax]
cmp edx, 0x28
je 0x40d20b
cmp edx, 0x29
je 0x40d20b
test cl, 0x10
jne 0x40d20d
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40d20b
cmp ecx, 0x7d
jne 0x40d20d
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040c2c0
mov ecx, esi
call fcn.0040e100
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x40cd36
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0040c2b0
push 5
call fcn.0040c2b0
push 6
call fcn.0040c2b0
push 4
call fcn.0040c2b0
int3