Function at 0x40fcb0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x41008b
nop word [eax + eax]
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x41008b
cmp eax, 0x29
jne 0x40fcf8
cmp dword [esi + 0x10], 0
jne 0x41008b
test dword [esi + 0x50], 0x10000000
je 0x410093
cmp eax, 0x2e
jne 0x40fdba
push 0x14
call fcn.00430c3f
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x40fd45
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x449a44
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x40fd47
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40fd63
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40fdae
cmp word [eax], 0x5c
jne 0x40fdab
add eax, 2
cmp eax, ecx
je 0x40fdab
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40fd97
movzx edx, word [eax]
cmp edx, 0x28
je 0x40fda9
cmp edx, 0x29
je 0x40fda9
test cl, 0x10
jne 0x40fdab
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40fda9
cmp ecx, 0x7d
jne 0x40fdab
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
jmp 0x410078
cmp eax, 0x5c
jne 0x40feeb
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40fe05
cmp word [eax], 0x5c
jne 0x40fe02
add eax, 2
cmp eax, ecx
je 0x40fe02
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40fdee
movzx edx, word [eax]
cmp edx, 0x28
je 0x40fe00
cmp edx, 0x29
je 0x40fe00
test cl, 0x10
jne 0x40fe02
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40fe00
cmp ecx, 0x7d
jne 0x40fe02
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x40fe75
cmp word [esi + 0x48], 0x62
jne 0x40fe75
push 4
lea ecx, [esi + 0x24]
call fcn.004102a0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40fe69
cmp word [eax], 0x5c
jne 0x40fe66
add eax, 2
cmp eax, ecx
je 0x40fe66
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40fe52
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x40fe64
cmp ecx, 0x29
je 0x40fe64
test dl, 0x10
jne 0x40fe66
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40fe64
cmp ecx, 0x7d
jne 0x40fe66
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
jmp 0x41007f
test eax, eax
je 0x40fedf
cmp word [esi + 0x48], 0x42
jne 0x40fedf
push 4
lea ecx, [esi + 0x24]
call fcn.004102a0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40fed3
cmp word [eax], 0x5c
jne 0x40fed0
add eax, 2
cmp eax, ecx
je 0x40fed0
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40febc
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x40fece
cmp ecx, 0x29
je 0x40fece
test dl, 0x10
jne 0x40fed0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40fece
cmp ecx, 0x7d
jne 0x40fed0
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
jmp 0x41007f
mov ecx, esi
call fcn.00411360
jmp 0x410078
cmp eax, 0x5b
jne 0x40ff9c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40ff36
cmp word [eax], 0x5c
jne 0x40ff33
add eax, 2
cmp eax, ecx
je 0x40ff33
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40ff1f
movzx edx, word [eax]
cmp edx, 0x28
je 0x40ff31
cmp edx, 0x29
je 0x40ff31
test cl, 0x10
jne 0x40ff33
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40ff31
cmp ecx, 0x7d
jne 0x40ff33
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
mov ecx, esi
call fcn.004112b0
cmp dword [esi + 0x4c], 0x5d
jne 0x41009a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40ff90
cmp word [eax], 0x5c
jne 0x40ff8d
add eax, 2
cmp eax, ecx
je 0x40ff8d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40ff79
movzx edx, word [eax]
cmp edx, 0x28
je 0x40ff8b
cmp edx, 0x29
je 0x40ff8b
test cl, 0x10
jne 0x40ff8d
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40ff8b
cmp ecx, 0x7d
jne 0x40ff8d
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
jmp 0x410078
cmp eax, 0x28
jne 0x410004
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40ffe3
cmp word [eax], 0x5c
jne 0x40ffe0
add eax, 2
cmp eax, ecx
je 0x40ffe0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40ffcc
movzx edx, word [eax]
cmp edx, 0x28
je 0x40ffde
cmp edx, 0x29
je 0x40ffde
test cl, 0x10
jne 0x40ffe0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40ffde
cmp ecx, 0x7d
jne 0x40ffe0
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040e9d0
mov ecx, esi
call fcn.00411440
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00411240
test bl, bl
je 0x41007f
jmp 0x410078
cmp eax, 0x5e
jne 0x41001c
push 2
lea ecx, [esi + 0x24]
call fcn.004102a0
mov ecx, esi
call fcn.0040fc60
jmp 0x41007f
cmp eax, 0x24
jne 0x410034
push 3
lea ecx, [esi + 0x24]
call fcn.004102a0
mov ecx, esi
call fcn.0040fc60
jmp 0x41007f
cmp eax, 0x2a
je 0x4100a8
cmp eax, 0x2b
je 0x4100a8
cmp eax, 0x3f
je 0x4100a8
cmp eax, 0x7b
je 0x4100a8
cmp eax, 0x7d
jne 0x410056
test dword [esi + 0x50], 0x10000000
je 0x4100a1
cmp eax, 0x5d
jne 0x410064
test dword [esi + 0x50], 0x10000000
je 0x41009a
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00411630
mov ecx, esi
call fcn.0040fc60
mov ecx, esi
call fcn.00411500
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x40fcd0
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 5
call fcn.00430bc5
push 4
call fcn.00430bc5
push 6
call fcn.00430bc5
push 0xa
call fcn.00430bc5
int3