Function at 0x536865
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x5369b0
je 0x53699c
cmp ecx, 0x26
jg 0x53691f
je 0x536917
cmp ecx, 0x21
jg 0x5368f5
je 0x5368dd
cmp ecx, 9
jl 0x5369e7
cmp ecx, 0xa
jle 0x5368ba
cmp ecx, 0xb
jle 0x5369e7
cmp ecx, 0xd
jle 0x5368ba
cmp ecx, 0x20
jne 0x5369e7
movzx edx, byte [ebx + 1]
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x5368ca
inc eax
movzx edx, byte [eax + ebx]
test byte [edx + 0x627fc0], cl
jne 0x5368c5
mov dword [esi], 0x97
jmp 0x536d48
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x536d42
mov dword [esi], 0x4e
jmp 0x536d48
mov eax, ecx
sub eax, 0x22
je 0x536c26
dec eax
je 0x536d15
dec eax
dec eax
jne 0x5369e7
mov dword [esi], 0x5d
jmp 0x53696c
mov dword [esi], 0x55
jmp 0x53696c
mov eax, ecx
sub eax, 0x27
je 0x536c26
dec eax
je 0x536994
dec eax
je 0x53698c
dec eax
je 0x536984
dec eax
je 0x53697c
dec eax
je 0x536974
dec eax
jne 0x5369e7
cmp byte [ebx + 1], 0x2d
jne 0x536966
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x53695d
cmp ecx, 0xa
je 0x5368d2
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x53694f
jmp 0x5368d2
mov dword [esi], 0x5a
xor eax, eax
inc eax
jmp 0x536d48
mov dword [esi], 0x1a
jmp 0x53696c
mov dword [esi], 0x59
jmp 0x53696c
mov dword [esi], 0x5b
jmp 0x53696c
mov dword [esi], 0x17
jmp 0x53696c
mov dword [esi], 0x16
jmp 0x53696c
movzx eax, byte [ebx + 1]
test byte [eax + 0x627fc0], dl
jne 0x5369fc
mov dword [esi], 0x7a
jmp 0x53696c
cmp ecx, 0x3f
jg 0x536bc7
je 0x536ba4
cmp ecx, 0x3b
jg 0x536b19
je 0x536b0d
cmp ecx, 0x2f
je 0x536acf
jle 0x5369e7
cmp ecx, 0x39
jle 0x5369fc
cmp ecx, 0x3a
je 0x536d15
test byte [ecx + 0x627fc0], 0x46
jne 0x536cf3
xor eax, eax
inc eax
jmp 0x536d42
mov dword [esi], 0x84
mov cl, byte [ebx]
cmp cl, 0x30
jne 0x536a3d
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x536a14
cmp al, 0x58
jne 0x536a3d
movzx eax, byte [ebx + 2]
test byte [eax + 0x627fc0], 8
je 0x536a3d
movzx ecx, byte [ebx + 3]
push 3
pop eax
jmp 0x536a2f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], 8
jne 0x536a2a
jmp 0x536d48
xor eax, eax
movzx ecx, cl
jmp 0x536a49
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], dl
jne 0x536a44
cmp byte [eax + ebx], 0x2e
jne 0x536a6a
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], dl
jne 0x536a57
mov dword [esi], 0x85
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x536a77
cmp cl, 0x45
jne 0x536abd
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x627fc0], dl
jne 0x536a9d
cmp cl, 0x2b
je 0x536a90
cmp cl, 0x2d
jne 0x536abd
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x627fc0], dl
je 0x536abd
inc eax
inc eax
jmp 0x536aa2
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], dl
jne 0x536aa1
mov dword [esi], 0x85
jmp 0x536abd
mov dword [esi], 0x96
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], 0x46
jne 0x536ab6
jmp 0x536d48
cmp byte [ebx + 1], 0x2a
jne 0x536b02
mov cl, byte [ebx + 2]
test cl, cl
je 0x536b02
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x536aed
cmp byte [eax + ebx], 0x2f
je 0x536afc
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x5368d2
inc eax
jmp 0x536ae2
inc eax
jmp 0x5368d2
mov dword [esi], 0x5c
jmp 0x53696c
xor ecx, ecx
inc ecx
mov dword [esi], ecx
mov eax, ecx
jmp 0x536d48
mov eax, ecx
sub eax, 0x3c
je 0x536b68
dec eax
je 0x536b53
dec eax
jne 0x5369e7
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x536b3b
mov dword [esi], 0x53
jmp 0x536b77
cmp eax, 0x3e
jne 0x536b48
mov dword [esi], 0x58
jmp 0x536b77
mov dword [esi], 0x50
jmp 0x53696c
xor eax, eax
mov dword [esi], 0x4f
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x536d48
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x536b7f
mov dword [esi], 0x51
push 2
pop eax
jmp 0x536d48
cmp eax, 0x3e
jne 0x536b8c
mov dword [esi], 0x4e
jmp 0x536b77
cmp eax, 0x3c
jne 0x536b99
mov dword [esi], 0x57
jmp 0x536b77
mov dword [esi], 0x52
jmp 0x53696c
xor eax, eax
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x536bba
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], dl
jne 0x536bb5
jmp 0x536d48
mov eax, ecx
sub eax, 0x40
je 0x536d15
sub eax, 0x18
je 0x536c95
sub eax, 3
je 0x536c69
sub eax, 5
je 0x536c26
sub eax, 0x18
je 0x536c95
sub eax, 4
je 0x536c0a
dec eax
dec eax
jne 0x5369e7
mov dword [esi], 0x60
jmp 0x53696c
cmp byte [ebx + 1], 0x7c
je 0x536c1b
mov dword [esi], 0x56
jmp 0x53696c
mov dword [esi], 0x5e
jmp 0x536b77
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x536c42
cmp edx, ecx
jne 0x536c3d
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x536c46
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x536c2f
cmp edx, 0x27
jne 0x536c56
mov dword [esi], 0x61
jmp 0x536b62
test edx, edx
je 0x536d42
mov dword [esi], 0x1b
jmp 0x536b62
xor eax, eax
inc eax
jmp 0x536c77
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x536c7c
inc eax
cmp ecx, 0x5d
jne 0x536c6e
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff85
add edx, 0x96
mov dword [esi], edx
jmp 0x536d48
cmp byte [ebx + 1], 0x27
jne 0x5369e7
push 2
mov dword [esi], 0x86
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x536cb3
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x627fc0], 8
jne 0x536cae
cmp byte [eax + ebx], 0x27
jne 0x536cd3
mov ecx, eax
and ecx, 0x80000001
jns 0x536cd1
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x536ce8
mov dword [esi], 0x96
jmp 0x536ce1
cmp cl, 0x27
je 0x536ce8
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x536cdb
cmp byte [eax + ebx], 0
je 0x536d48
jmp 0x536b62
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x536d01
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x627fc0], 0x46
jne 0x536cfc
call fcn.005367ed
mov dword [esi], eax
mov eax, edi
jmp 0x536d48
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x536d42
movzx ecx, cl
test byte [ecx + 0x627fc0], 0x46
je 0x536d3e
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x536d28
test edx, edx
jne 0x536d48
mov dword [esi], 0x96
pop edi
pop ebx
ret