Function at 0x41e240
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 0x41e725
lea edi, [esi + 8]
nop word [eax + eax]
cmp eax, 0x7c
je 0x41e725
cmp eax, 0x29
jne 0x41e28a
cmp dword [esi + 0x10], 0
jne 0x41e725
test dword [esi + 0x50], 0x10000000
je 0x41e735
jmp 0x41e6bf
cmp eax, 0x2e
jne 0x41e2f9
push 5
lea ecx, [esi + 0x24]
call fcn.0041e750
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e706
cmp byte [eax], 0x5c
jne 0x41e4fb
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41e2ef
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41e2cf
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41e2e4
cmp cl, 0x29
je 0x41e2e4
mov ecx, eax
test bl, 0x10
jne 0x41e2ef
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41e2e4
mov edx, ecx
cmp bl, 0x7d
jne 0x41e2ef
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41e706
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41e706
cmp eax, 0x5c
jne 0x41e448
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e34e
cmp byte [eax], 0x5c
jne 0x41e34b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41e349
test byte [esi + 0x50], 8
jne 0x41e32e
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41e344
cmp cl, 0x29
je 0x41e344
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41e349
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41e344
mov edx, ecx
cmp bl, 0x7d
jne 0x41e349
lea eax, [edx + 1]
jmp 0x41e34b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
test byte [esi + 0x50], 0x80
je 0x41e43c
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x41e3d5
push 4
lea ecx, [esi + 0x24]
call fcn.0041e750
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e3c9
cmp byte [eax], 0x5c
jne 0x41e3c6
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41e3c4
test byte [esi + 0x50], 8
jne 0x41e39c
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41e3b2
cmp cl, 0x29
je 0x41e3b2
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41e3c4
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41e3b2
mov edx, ecx
cmp bl, 0x7d
jne 0x41e3c4
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041ab20
jmp 0x41e717
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
jmp 0x41e717
cmp al, 0x42
jne 0x41e43c
push 4
lea ecx, [esi + 0x24]
call fcn.0041e750
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e430
cmp byte [eax], 0x5c
jne 0x41e42d
lea ebx, [eax + 1]
cmp ebx, ecx
je 0x41e42d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e417
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x28
je 0x41e42a
cmp dl, 0x29
je 0x41e42a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41e42d
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x7b
je 0x41e42a
cmp dl, 0x7d
jne 0x41e42d
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
jmp 0x41e717
mov ecx, esi
call fcn.0041f520
jmp 0x41e70d
cmp eax, 0x5b
jne 0x41e503
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e499
cmp byte [eax], 0x5c
jne 0x41e496
lea edx, [eax + 1]
cmp edx, ecx
je 0x41e496
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41e480
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41e493
cmp byte [ebp - 1], 0x29
je 0x41e493
test bl, 0x10
jne 0x41e496
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41e493
cmp dl, 0x7d
jne 0x41e496
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
mov ecx, esi
call fcn.0041f3e0
cmp dword [esi + 0x4c], 0x5d
jne 0x41e743
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e706
cmp byte [eax], 0x5c
jne 0x41e4fb
lea edx, [eax + 1]
cmp edx, ecx
je 0x41e4fb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41e4e5
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41e4f8
cmp byte [ebp - 1], 0x29
je 0x41e4f8
test bl, 0x10
jne 0x41e4fb
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41e4f8
cmp dl, 0x7d
jne 0x41e4fb
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x41e706
cmp eax, 0x28
jne 0x41e5c7
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e552
cmp byte [eax], 0x5c
jne 0x41e54f
lea edx, [eax + 1]
cmp edx, ecx
je 0x41e54f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e539
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x41e54c
cmp bl, 0x29
je 0x41e54c
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41e54f
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41e54c
cmp dl, 0x7d
jne 0x41e54f
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
mov ecx, esi
call fcn.0041f670
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x41e735
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e5b3
cmp byte [eax], 0x5c
jne 0x41e5b0
lea edx, [eax + 1]
cmp edx, ecx
je 0x41e5b0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e59a
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x41e5ad
cmp bl, 0x29
je 0x41e5ad
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41e5b0
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41e5ad
cmp dl, 0x7d
jne 0x41e5b0
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
test bh, bh
je 0x41e717
jmp 0x41e70d
cmp eax, 0x5e
jne 0x41e61e
push 2
lea ecx, [esi + 0x24]
call fcn.0041e750
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e612
cmp byte [eax], 0x5c
jne 0x41e610
inc eax
cmp eax, ecx
je 0x41e610
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e5ff
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e60e
cmp dl, 0x29
je 0x41e60e
test cl, 0x10
jne 0x41e610
mov al, byte [eax]
cmp al, 0x7b
je 0x41e60e
cmp al, 0x7d
jne 0x41e610
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041ab20
jmp 0x41e717
cmp eax, 0x24
jne 0x41e675
push 3
lea ecx, [esi + 0x24]
call fcn.0041e750
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e669
cmp byte [eax], 0x5c
jne 0x41e667
inc eax
cmp eax, ecx
je 0x41e667
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e656
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e665
cmp dl, 0x29
je 0x41e665
test cl, 0x10
jne 0x41e667
mov al, byte [eax]
cmp al, 0x7b
je 0x41e665
cmp al, 0x7d
jne 0x41e667
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041ab20
jmp 0x41e717
cmp eax, 0x2a
je 0x41e72e
cmp eax, 0x2b
je 0x41e72e
cmp eax, 0x3f
je 0x41e72e
cmp eax, 0x7b
je 0x41e72e
cmp eax, 0x7d
jne 0x41e6ad
test dword [esi + 0x50], 0x10000000
je 0x41e73c
jmp 0x41e6bf
cmp eax, 0x5d
jne 0x41e6bf
test dword [esi + 0x50], 0x10000000
je 0x41e743
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041fa30
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e706
cmp byte [eax], 0x5c
jne 0x41e704
inc eax
cmp eax, ecx
je 0x41e704
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e6f3
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e702
cmp dl, 0x29
je 0x41e702
test cl, 0x10
jne 0x41e704
mov al, byte [eax]
cmp al, 0x7b
je 0x41e702
cmp al, 0x7d
jne 0x41e704
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041ab20
mov ecx, esi
call fcn.0041f800
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41e260
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0041ab10
push 5
call fcn.0041ab10
push 6
call fcn.0041ab10
push 4
call fcn.0041ab10
int3