Function at 0x415780
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x415c82
cmp eax, 0x7c
je 0x415c82
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x4157c4
cmp dword [esi + 0x10], 0
jne 0x415c82
test dword [esi + 0x50], 0x10000000
je 0x415c92
jmp 0x415c17
cmp eax, 0x2e
jne 0x415834
push 5
lea ecx, [esi + 0x24]
call fcn.00415cb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415c5e
cmp byte [eax], 0x5c
jne 0x415a44
lea edx, [eax + 1]
cmp edx, ecx
je 0x415a44
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41580e
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x415829
cmp byte [ebp - 1], 0x29
je 0x415829
test bl, 0x10
jne 0x415a44
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x415829
cmp dl, 0x7d
jne 0x415a44
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x415c5e
cmp eax, 0x5c
jne 0x41597f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415885
cmp byte [eax], 0x5c
jne 0x415882
lea edx, [eax + 1]
cmp edx, ecx
je 0x415882
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41586c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41587f
cmp byte [ebp - 1], 0x29
je 0x41587f
test bl, 0x10
jne 0x415882
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41587f
cmp dl, 0x7d
jne 0x415882
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00413bc0
test byte [esi + 0x50], 0x80
je 0x415973
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4158f9
push 4
lea ecx, [esi + 0x24]
call fcn.00415cb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4158ed
cmp byte [eax], 0x5c
jne 0x4158ea
lea edx, [eax + 1]
cmp edx, ecx
je 0x4158ea
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4158d4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x4158e7
cmp bl, 0x29
je 0x4158e7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x4158ea
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x4158e7
cmp dl, 0x7d
jne 0x4158ea
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00413bc0
jmp 0x415c6f
cmp al, 0x42
jne 0x415973
push 4
lea ecx, [esi + 0x24]
call fcn.00415cb0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415967
cmp byte [eax], 0x5c
jne 0x415964
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x415962
test byte [esi + 0x50], 8
jne 0x41593a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x415950
cmp cl, 0x29
je 0x415950
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415962
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x415950
mov edx, ecx
cmp bl, 0x7d
jne 0x415962
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.00413bc0
jmp 0x415c6f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00413bc0
jmp 0x415c6f
mov ecx, esi
call fcn.00417350
jmp 0x415c65
cmp eax, 0x5b
jne 0x415a4c
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4159d8
cmp byte [eax], 0x5c
jne 0x4159d2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x4159d0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4159b6
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x4159cb
cmp cl, 0x29
je 0x4159cb
mov ecx, eax
test bl, 0x10
jne 0x4159d0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x4159cb
mov edx, ecx
cmp bl, 0x7d
jne 0x4159d0
lea eax, [edx + 1]
jmp 0x4159d2
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.00413bc0
mov ecx, esi
call fcn.00417210
cmp dword [esi + 0x4c], 0x5d
jne 0x415ca0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415c5e
cmp byte [eax], 0x5c
jne 0x415a44
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x415a42
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415a22
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x415a37
cmp cl, 0x29
je 0x415a37
mov ecx, eax
test bl, 0x10
jne 0x415a42
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x415a37
mov edx, ecx
cmp bl, 0x7d
jne 0x415a42
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x415c5e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x415c5e
cmp eax, 0x28
jne 0x415b22
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415aa1
cmp byte [eax], 0x5c
jne 0x415a9e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x415a9c
test byte [esi + 0x50], 8
jne 0x415a81
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x415a97
cmp cl, 0x29
je 0x415a97
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415a9c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x415a97
mov edx, ecx
cmp bl, 0x7d
jne 0x415a9c
lea eax, [edx + 1]
jmp 0x415a9e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00413bc0
mov ecx, esi
call fcn.004174a0
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x415c92
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x415b0e
cmp byte [eax], 0x5c
jne 0x415b0b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x415b06
test byte [esi + 0x50], 8
jne 0x415aeb
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x415b01
cmp cl, 0x29
je 0x415b01
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415b06
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x415b01
mov edx, ecx
cmp bl, 0x7d
jne 0x415b06
lea eax, [edx + 1]
jmp 0x415b08
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00413bc0
test bl, bl
je 0x415c6f
jmp 0x415c65
cmp eax, 0x5e
jne 0x415b76
push 2
lea ecx, [esi + 0x24]
call fcn.00415cb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415b6a
cmp byte [eax], 0x5c
jne 0x415b68
inc eax
cmp eax, ecx
je 0x415b68
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415b57
mov dl, byte [eax]
cmp dl, 0x28
je 0x415b66
cmp dl, 0x29
je 0x415b66
test cl, 0x10
jne 0x415b68
mov al, byte [eax]
cmp al, 0x7b
je 0x415b66
cmp al, 0x7d
jne 0x415b68
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00413bc0
jmp 0x415c6f
cmp eax, 0x24
jne 0x415bcd
push 3
lea ecx, [esi + 0x24]
call fcn.00415cb0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415bc1
cmp byte [eax], 0x5c
jne 0x415bbf
inc eax
cmp eax, ecx
je 0x415bbf
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415bae
mov dl, byte [eax]
cmp dl, 0x28
je 0x415bbd
cmp dl, 0x29
je 0x415bbd
test cl, 0x10
jne 0x415bbf
mov al, byte [eax]
cmp al, 0x7b
je 0x415bbd
cmp al, 0x7d
jne 0x415bbf
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00413bc0
jmp 0x415c6f
cmp eax, 0x2a
je 0x415c8b
cmp eax, 0x2b
je 0x415c8b
cmp eax, 0x3f
je 0x415c8b
cmp eax, 0x7b
je 0x415c8b
cmp eax, 0x7d
jne 0x415c05
test dword [esi + 0x50], 0x10000000
je 0x415c99
jmp 0x415c17
cmp eax, 0x5d
jne 0x415c17
test dword [esi + 0x50], 0x10000000
je 0x415ca0
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00417860
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415c5e
cmp byte [eax], 0x5c
jne 0x415c5c
inc eax
cmp eax, ecx
je 0x415c5c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415c4b
mov dl, byte [eax]
cmp dl, 0x28
je 0x415c5a
cmp dl, 0x29
je 0x415c5a
test cl, 0x10
jne 0x415c5c
mov al, byte [eax]
cmp al, 0x7b
je 0x415c5a
cmp al, 0x7d
jne 0x415c5c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00413bc0
mov ecx, esi
call fcn.00417640
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x415c82
cmp eax, 0x7c
jne 0x4157a3
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.00413bb0
push 5
call fcn.00413bb0
push 6
call fcn.00413bb0
push 4
call fcn.00413bb0
int3