Function at 0x4ef7c0
Capabilities:
Parse credit card information

Disassembly:
mov eax, 0x20d4
call fcn.005d9990
push esi
push edi
mov edi, dword [esp + 0x20e0]
push 0x21
push edi
call fcn.005d9b20
mov esi, eax
add esp, 8
test esi, esi
je 0x4ef7f3
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [esp + 8], esi
jne 0x4ef7fe
pop edi
xor eax, eax
pop esi
add esp, 0x20d4
ret
push ebx
push 0x40
push esi
call fcn.005d9b20
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4ef81c
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x20d4
ret
mov byte [ebx], 0
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x4ef810
push 0x20
push edi
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4ef839
mov byte [eax], 0
push 0x20
push esi
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4ef84b
mov byte [eax], 0
push 0x20
push ebx
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4ef85d
mov byte [eax], 0
push ebp
mov ebp, dword [esp + 0x20ec]
xor edi, edi
cmp ebp, 0xa
jl 0x4ef874
sub ebp, 0xa
mov edi, 1
cmp ebp, 1
je 0x4ef888
cmp ebp, 3
je 0x4ef888
cmp ebp, 6
je 0x4ef888
cmp ebp, 8
jne 0x4ef8ba
mov al, byte [esi]
cmp al, 0x2b
je 0x4ef8a2
cmp al, 0x2d
je 0x4ef8a2
cmp al, 0x2a
je 0x4ef8a2
cmp al, 0x7e
je 0x4ef8a2
cmp al, 0x5e
je 0x4ef8a2
cmp al, 0x3d
jne 0x4ef8ba
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ef8a7
sub eax, edx
cmp eax, 1
jbe 0x4ef8ba
inc esi
mov dword [esp + 0x10], esi
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ef8c0
sub eax, edx
cmp eax, 0xa
jbe 0x4ef8e8
mov edi, edi
inc esi
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ef8d6
sub eax, edx
cmp eax, 0xa
ja 0x4ef8d0
mov dword [esp + 0x10], esi
cmp ebp, 3
je 0x4ef900
cmp ebp, 4
je 0x4ef900
cmp ebp, 8
je 0x4ef900
cmp ebp, 9
jne 0x4ef9ce
push 0x3d
push ebx
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4ef95d
cmp eax, ebx
jbe 0x4ef923
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
je 0x4ef922
cmp eax, ebx
ja 0x4ef913
jmp 0x4ef923
inc eax
mov byte [eax], 0x2a
mov dl, byte [eax + 1]
inc eax
test dl, dl
mov ecx, eax
je 0x4ef93d
mov dl, byte [ecx + 1]
inc ecx
cmp dl, 0x2e
je 0x4ef946
test dl, dl
jne 0x4ef930
cmp byte [ecx], 0x2e
jne 0x4ef9cb
mov dl, byte [ecx]
test dl, dl
je 0x4ef9cb
lea esp, [esp]
mov byte [eax], dl
mov dl, byte [ecx + 1]
inc eax
inc ecx
test dl, dl
jne 0x4ef950
jmp 0x4ef9cb
mov eax, dword [esp + 0x20f0]
test eax, eax
je 0x4ef9ce
test byte [eax + 0x6898], 0x20
je 0x4ef9ce
push 0x5fb638
push ebx
call fcn.005da9a0
add esp, 8
test eax, eax
je 0x4ef9ce
cmp eax, ebx
jbe 0x4ef997
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
je 0x4ef996
cmp eax, ebx
ja 0x4ef987
jmp 0x4ef997
inc eax
mov byte [eax], 0x2a
mov dl, byte [eax + 1]
inc eax
test dl, dl
mov ecx, eax
je 0x4ef9b1
mov dl, byte [ecx + 1]
inc ecx
cmp dl, 0x2e
je 0x4ef9b6
test dl, dl
jne 0x4ef9a4
cmp byte [ecx], 0x2e
jne 0x4ef9cb
mov dl, byte [ecx]
test dl, dl
je 0x4ef9cb
lea esp, [esp]
mov byte [eax], dl
mov dl, byte [ecx + 1]
inc eax
inc ecx
test dl, dl
jne 0x4ef9c0
mov byte [eax], 0
cmp byte [ebx], 0
mov esi, ebx
je 0x4ef9fb
mov al, byte [esi]
cmp al, 0x2e
je 0x4ef9f3
cmp al, 0x2a
je 0x4ef9f3
cmp al, 0x3f
je 0x4ef9f3
movzx eax, al
push eax
call fcn.005daff5
add esp, 4
test eax, eax
je 0x4efa53
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4ef9d5
push 0x2e
push ebx
call fcn.005da7f0
add esp, 8
test eax, eax
je 0x4efb7c
lea esi, [esp + 0x14]
mov byte [eax], 0
mov ecx, ebx
sub esi, ebx
lea esp, [esp]
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x4efa20
lea edi, [esp + 0x14]
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4efa30
mov cx, word [0x5fb634]
mov dl, byte [0x5fb636]
mov word [edi], cx
mov byte [edi + 2], dl
mov byte [eax], 0x2e
jmp 0x4efb8e
test edi, edi
push 0x2e
push ebx
je 0x4efad1
xor edi, edi
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4efa80
mov cl, byte [eax + 1]
inc edi
inc eax
test cl, cl
je 0x4efa80
push 0x2e
push eax
call fcn.005d9b20
add esp, 8
test eax, eax
jne 0x4efa68
lea edx, [esp + 0x14]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4efa88
mov al, byte [esp + 0x14]
test al, al
lea esi, [esp + 0x14]
je 0x4efac8
mov edi, edi
movzx ecx, byte [esi]
push ecx
call fcn.005daff5
add esp, 4
test eax, eax
je 0x4efab5
mov byte [esi], 0x3f
jmp 0x4efac0
cmp byte [esi], 0x2e
jne 0x4efac0
dec edi
cmp edi, 1
je 0x4efac8
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4efaa0
lea ebx, [esp + 0x14]
jmp 0x4efb8e
call fcn.005d9b20
mov esi, eax
add esp, 8
test esi, esi
je 0x4efb63
mov al, byte [esi + 1]
inc esi
test al, al
je 0x4efb4f
push 0x2e
push esi
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4efb3b
mov al, byte [0x5f4e1a]
mov dx, word [0x5f4e18]
mov byte [esp + 0x16], al
mov eax, esi
mov word [esp + 0x14], dx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efb13
lea edi, [esp + 0x14]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4efb21
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4efb8e
lea edx, [esp + 0x14]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4efb43
jmp 0x4efb8e
lea edx, [esp + 0x14]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4efb57
jmp 0x4efb8e
lea edx, [esp + 0x14]
mov eax, ebx
sub edx, ebx
jmp 0x4efb70
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4efb70
jmp 0x4efb8e
lea edx, [esp + 0x14]
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4efb84
test ebp, ebp
jne 0x4efbb2
mov eax, dword [esp + 0x10]
push ebx
push eax
lea ecx, [esp + 0x1084]
push 0x5fb628
push ecx
call fcn.005d9929
add esp, 0x10
jmp 0x4efe02
cmp ebp, 1
jne 0x4efc14
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efbc0
sub eax, edx
cmp eax, 0xa
jb 0x4efbe4
mov edi, edi
inc esi
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efbd6
sub eax, edx
cmp eax, 0xa
jae 0x4efbd0
push 0x5f5984
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4efbf8
mov byte [esi], al
push ebx
push esi
lea edx, [esp + 0x1084]
push 0x5fb61c
push edx
call fcn.005d9929
add esp, 0x10
jmp 0x4efe02
cmp ebp, 2
jne 0x4efc34
push ebx
lea eax, [esp + 0x1080]
push 0x5f5970
push eax
call fcn.005d9929
add esp, 0xc
jmp 0x4efe02
cmp ebp, 3
jne 0x4efc82
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efc42
sub eax, edx
cmp eax, 0xa
jb 0x4efc64
inc esi
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efc56
sub eax, edx
cmp eax, 0xa
jae 0x4efc50
push 0x5f5984
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4efc78
mov byte [esi], al
lea ecx, [esp + 0x14]
push ecx
jmp 0x4efbf9
cmp ebp, 4
jne 0x4efca6
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1080]
push 0x5f5970
push ecx
call fcn.005d9929
add esp, 0xc
jmp 0x4efe02
cmp ebp, 5
jne 0x4efccb
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20e8]
push ebx
push edx
push eax
push 0x5fb004
lea ecx, [esp + 0x108c]
push ecx
jmp 0x4efdfa
cmp ebp, 6
jne 0x4efd34
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efce0
sub eax, edx
cmp eax, 0xa
jb 0x4efd04
mov edi, edi
inc esi
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efcf6
sub eax, edx
cmp eax, 0xa
jae 0x4efcf0
push 0x5f5984
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4efd18
mov byte [esi], al
mov edx, dword [esp + 0x20e8]
push ebx
push esi
push edx
push str._s__s__s
lea eax, [esp + 0x108c]
push eax
jmp 0x4efdfa
cmp ebp, 7
jne 0x4efd5c
mov ecx, dword [esp + 0x20e8]
push ebx
push ecx
lea edx, [esp + 0x1084]
push 0x5fb604
push edx
call fcn.005d9929
add esp, 0x10
jmp 0x4efe02
cmp ebp, 8
jne 0x4efdbd
mov esi, dword [esp + 0x10]
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efd70
sub eax, edx
cmp eax, 0xa
jb 0x4efd94
mov edi, edi
inc esi
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4efd86
sub eax, edx
cmp eax, 0xa
jae 0x4efd80
push 0x5f5984
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4efda8
mov byte [esi], al
mov ecx, dword [esp + 0x20e8]
lea eax, [esp + 0x14]
push eax
push esi
push ecx
push str._s__s__s
jmp 0x4efdf2
cmp ebp, 9
mov ecx, dword [esp + 0x20e8]
jne 0x4efde6
lea eax, [esp + 0x14]
push eax
push ecx
lea edx, [esp + 0x1084]
push 0x5fb604
push edx
call fcn.005d9929
add esp, 0x10
jmp 0x4efe02
mov eax, dword [esp + 0x10]
push ebx
push eax
push ecx
push 0x5fb004
lea edx, [esp + 0x108c]
push edx
call fcn.005d9929
add esp, 0x14
mov edx, dword [esp + 0x20e8]
lea ecx, [esp + 0x107c]
lea eax, [esp + 0x107c]
sub edx, ecx
pop ebp
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4efe20
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x20d4
ret