Function at 0x10035f39
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x100360be
je 0x100360aa
cmp ecx, 0x26
jg 0x1003602d
je 0x10036025
cmp ecx, 0x22
jg 0x10035fcf
je 0x1003630d
cmp ecx, 9
jl 0x100360f5
cmp ecx, 0xa
jle 0x10035fad
cmp ecx, 0xb
jle 0x100360f5
cmp ecx, 0xd
jle 0x10035fad
cmp ecx, 0x20
je 0x10035fad
cmp ecx, 0x21
jne 0x100360f5
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x10036479
mov dword [esi], 0x49
jmp 0x1003647f
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x10035fbb
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10040d90], 1
jne 0x10035fb6
mov dword [esi], 0x94
jmp 0x1003647f
mov eax, ecx
sub eax, 0x23
je 0x10035fef
dec eax
je 0x10036405
dec eax
jne 0x100360f5
mov dword [esi], 0x58
jmp 0x1003607a
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x10040d90], dl
je 0x10036405
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10040d90], dl
jne 0x10036004
cmp eax, 1
jle 0x10036405
mov dword [esi], 0x84
jmp 0x1003647f
mov dword [esi], 0x50
jmp 0x1003607a
mov eax, ecx
sub eax, 0x27
je 0x1003630d
dec eax
je 0x100360a2
dec eax
je 0x1003609a
dec eax
je 0x10036092
dec eax
je 0x1003608a
dec eax
je 0x10036082
dec eax
jne 0x100360f5
cmp byte [ebx + 1], 0x2d
jne 0x10036074
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x1003606b
cmp ecx, 0xa
je 0x10035fc4
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x1003605d
jmp 0x10035fc4
mov dword [esi], 0x55
xor eax, eax
inc eax
jmp 0x1003647f
mov dword [esi], 0x19
jmp 0x1003607a
mov dword [esi], 0x54
jmp 0x1003607a
mov dword [esi], 0x56
jmp 0x1003607a
mov dword [esi], 0x17
jmp 0x1003607a
mov dword [esi], 0x16
jmp 0x1003607a
movzx eax, byte [ebx + 1]
test byte [eax + 0x10040d90], dl
jne 0x10036117
mov dword [esi], 0x76
jmp 0x1003607a
cmp ecx, 0x3f
jg 0x100362ae
je 0x1003628b
cmp ecx, 0x3b
jg 0x10036200
je 0x100361f6
cmp ecx, 0x2f
je 0x100361b8
jle 0x100360f5
cmp ecx, 0x39
jle 0x10036117
cmp ecx, 0x3a
je 0x10036405
test cl, cl
js 0x100363de
cmp ecx, 0x1f
jle 0x1003610f
cmp byte [ecx + 0x10044660], 0
jne 0x100363de
xor eax, eax
inc eax
jmp 0x10036479
mov dword [esi], 0x81
xor eax, eax
jmp 0x10036126
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10040d90], dl
jne 0x10036121
cmp byte [eax + ebx], 0x2e
jne 0x10036147
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10040d90], dl
jne 0x10036134
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x10036154
cmp cl, 0x45
jne 0x10036191
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x10040d90], dl
jne 0x1003617a
cmp cl, 0x2b
je 0x1003616d
cmp cl, 0x2d
jne 0x10036191
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x10040d90], dl
je 0x10036191
inc eax
inc eax
jmp 0x1003617f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10040d90], dl
jne 0x1003617e
mov dword [esi], 0x82
movzx ecx, byte [eax + ebx]
test cl, cl
js 0x100361af
cmp ecx, 0x1f
jle 0x1003647f
cmp byte [ecx + 0x10044660], 0
je 0x1003647f
mov dword [esi], 0x93
inc eax
jmp 0x10036191
cmp byte [ebx + 1], 0x2a
jne 0x100361eb
mov cl, byte [ebx + 2]
test cl, cl
je 0x100361eb
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x100361d6
cmp byte [eax + ebx], 0x2f
je 0x100361e5
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10035fc4
inc eax
jmp 0x100361cb
inc eax
jmp 0x10035fc4
mov dword [esi], 0x57
jmp 0x1003607a
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x1003647f
mov eax, ecx
sub eax, 0x3c
je 0x1003624f
dec eax
je 0x1003623a
dec eax
jne 0x100360f5
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x10036222
mov dword [esi], 0x4e
jmp 0x1003625e
cmp eax, 0x3e
jne 0x1003622f
mov dword [esi], 0x53
jmp 0x1003625e
mov dword [esi], 0x4b
jmp 0x1003607a
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4a
sete al
inc eax
jmp 0x1003647f
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x10036266
mov dword [esi], 0x4c
push 2
pop eax
jmp 0x1003647f
cmp eax, 0x3e
jne 0x10036273
mov dword [esi], 0x49
jmp 0x1003625e
cmp eax, 0x3c
jne 0x10036280
mov dword [esi], 0x52
jmp 0x1003625e
mov dword [esi], 0x4d
jmp 0x1003607a
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
mov dl, 4
jmp 0x100362a1
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10040d90], dl
jne 0x1003629c
jmp 0x1003647f
mov eax, ecx
sub eax, 0x40
je 0x10036405
sub eax, 0x18
je 0x1003637c
sub eax, 3
je 0x10036350
sub eax, 5
je 0x1003630d
sub eax, 0x18
je 0x1003637c
sub eax, 4
je 0x100362f1
dec eax
dec eax
jne 0x100360f5
mov dword [esi], 0x5d
jmp 0x1003607a
cmp byte [ebx + 1], 0x7c
je 0x10036302
mov dword [esi], 0x51
jmp 0x1003607a
mov dword [esi], 0x59
jmp 0x1003625e
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x10036329
cmp edx, ecx
jne 0x10036324
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x1003632d
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x10036316
cmp edx, 0x27
jne 0x1003633d
mov dword [esi], 0x5e
jmp 0x10036249
test edx, edx
je 0x10036479
mov dword [esi], 0x1a
jmp 0x10036249
xor eax, eax
inc eax
jmp 0x1003635e
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10036363
inc eax
cmp ecx, 0x5d
jne 0x10036355
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff87
add edx, 0x93
mov dword [esi], edx
jmp 0x1003647f
cmp byte [ebx + 1], 0x27
jne 0x100360f5
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x93
jmp 0x100363b2
cmp ecx, 0x27
je 0x100363b6
movzx ecx, cl
test byte [ecx + 0x10040d90], 8
jne 0x100363ad
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x1003639a
mov edi, eax
and edi, 0x80000001
jns 0x100363c5
dec edi
or edi, 0xfffffffe
inc edi
jne 0x100363cf
test ecx, ecx
jne 0x10036249
test ecx, ecx
mov dword [esi], edx
je 0x1003647f
jmp 0x10036249
xor edi, edi
inc edi
movzx eax, byte [edi + ebx]
test al, al
js 0x100363f7
cmp eax, 0x1f
jle 0x100363fa
cmp byte [eax + 0x10044660], 0
je 0x100363fa
inc edi
jmp 0x100363e1
call fcn.10035ec3
mov dword [esi], eax
mov eax, edi
jmp 0x1003647f
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
mov dword [esi], 0x85
je 0x10036479
test cl, cl
js 0x10036441
cmp ecx, 0x1f
jle 0x1003642a
cmp byte [ecx + 0x10044660], 0
jne 0x10036441
cmp ecx, 0x28
jne 0x10036433
test edx, edx
jg 0x1003644d
cmp ecx, 0x3a
jne 0x10036475
cmp byte [ebx + eax + 1], cl
jne 0x10036475
inc eax
jmp 0x10036442
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x10036418
jmp 0x10036475
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10036467
movzx edi, cl
test byte [edi + 0x10040d90], 1
jne 0x10036467
cmp ecx, 0x29
jne 0x1003644d
cmp ecx, 0x29
jne 0x1003646f
inc eax
jmp 0x10036475
mov dword [esi], 0x93
test edx, edx
jne 0x1003647f
mov dword [esi], 0x93
pop edi
pop ebx
ret