Function at 0x10091ff7
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x1009217c
je 0x10092168
cmp ecx, 0x26
jg 0x100920eb
je 0x100920e3
cmp ecx, 0x22
jg 0x1009208d
je 0x100923cb
cmp ecx, 9
jl 0x100921b3
cmp ecx, 0xa
jle 0x1009206b
cmp ecx, 0xb
jle 0x100921b3
cmp ecx, 0xd
jle 0x1009206b
cmp ecx, 0x20
je 0x1009206b
cmp ecx, 0x21
jne 0x100921b3
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x10092537
mov dword [esi], 0x48
jmp 0x1009253d
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x10092079
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10103320], 1
jne 0x10092074
mov dword [esi], 0x94
jmp 0x1009253d
mov eax, ecx
sub eax, 0x23
je 0x100920ad
dec eax
je 0x100924c3
dec eax
jne 0x100921b3
mov dword [esi], 0x57
jmp 0x10092138
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x10103320], dl
je 0x100924c3
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10103320], dl
jne 0x100920c2
cmp eax, 1
jle 0x100924c3
mov dword [esi], 0x84
jmp 0x1009253d
mov dword [esi], 0x4f
jmp 0x10092138
mov eax, ecx
sub eax, 0x27
je 0x100923cb
dec eax
je 0x10092160
dec eax
je 0x10092158
dec eax
je 0x10092150
dec eax
je 0x10092148
dec eax
je 0x10092140
dec eax
jne 0x100921b3
cmp byte [ebx + 1], 0x2d
jne 0x10092132
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x10092129
cmp ecx, 0xa
je 0x10092082
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x1009211b
jmp 0x10092082
mov dword [esi], 0x54
xor eax, eax
inc eax
jmp 0x1009253d
mov dword [esi], 0x19
jmp 0x10092138
mov dword [esi], 0x53
jmp 0x10092138
mov dword [esi], 0x55
jmp 0x10092138
mov dword [esi], 0x17
jmp 0x10092138
mov dword [esi], 0x16
jmp 0x10092138
movzx eax, byte [ebx + 1]
test byte [eax + 0x10103320], dl
jne 0x100921d5
mov dword [esi], 0x75
jmp 0x10092138
cmp ecx, 0x3f
jg 0x1009236c
je 0x10092349
cmp ecx, 0x3b
jg 0x100922be
je 0x100922b4
cmp ecx, 0x2f
je 0x10092276
jle 0x100921b3
cmp ecx, 0x39
jle 0x100921d5
cmp ecx, 0x3a
je 0x100924c3
test cl, cl
js 0x1009249c
cmp ecx, 0x1f
jle 0x100921cd
cmp byte [ecx + 0x10106168], 0
jne 0x1009249c
xor eax, eax
inc eax
jmp 0x10092537
mov dword [esi], 0x81
xor eax, eax
jmp 0x100921e4
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10103320], dl
jne 0x100921df
cmp byte [eax + ebx], 0x2e
jne 0x10092205
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10103320], dl
jne 0x100921f2
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x10092212
cmp cl, 0x45
jne 0x1009224f
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x10103320], dl
jne 0x10092238
cmp cl, 0x2b
je 0x1009222b
cmp cl, 0x2d
jne 0x1009224f
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x10103320], dl
je 0x1009224f
inc eax
inc eax
jmp 0x1009223d
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10103320], dl
jne 0x1009223c
mov dword [esi], 0x82
movzx ecx, byte [eax + ebx]
test cl, cl
js 0x1009226d
cmp ecx, 0x1f
jle 0x1009253d
cmp byte [ecx + 0x10106168], 0
je 0x1009253d
mov dword [esi], 0x93
inc eax
jmp 0x1009224f
cmp byte [ebx + 1], 0x2a
jne 0x100922a9
mov cl, byte [ebx + 2]
test cl, cl
je 0x100922a9
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x10092294
cmp byte [eax + ebx], 0x2f
je 0x100922a3
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10092082
inc eax
jmp 0x10092289
inc eax
jmp 0x10092082
mov dword [esi], 0x56
jmp 0x10092138
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x1009253d
mov eax, ecx
sub eax, 0x3c
je 0x1009230d
dec eax
je 0x100922f8
dec eax
jne 0x100921b3
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x100922e0
mov dword [esi], 0x4d
jmp 0x1009231c
cmp eax, 0x3e
jne 0x100922ed
mov dword [esi], 0x52
jmp 0x1009231c
mov dword [esi], 0x4a
jmp 0x10092138
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x49
sete al
inc eax
jmp 0x1009253d
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x10092324
mov dword [esi], 0x4b
push 2
pop eax
jmp 0x1009253d
cmp eax, 0x3e
jne 0x10092331
mov dword [esi], 0x48
jmp 0x1009231c
cmp eax, 0x3c
jne 0x1009233e
mov dword [esi], 0x51
jmp 0x1009231c
mov dword [esi], 0x4c
jmp 0x10092138
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
mov dl, 4
jmp 0x1009235f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x10103320], dl
jne 0x1009235a
jmp 0x1009253d
mov eax, ecx
sub eax, 0x40
je 0x100924c3
sub eax, 0x18
je 0x1009243a
sub eax, 3
je 0x1009240e
sub eax, 5
je 0x100923cb
sub eax, 0x18
je 0x1009243a
sub eax, 4
je 0x100923af
dec eax
dec eax
jne 0x100921b3
mov dword [esi], 0x5c
jmp 0x10092138
cmp byte [ebx + 1], 0x7c
je 0x100923c0
mov dword [esi], 0x50
jmp 0x10092138
mov dword [esi], 0x58
jmp 0x1009231c
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x100923e7
cmp edx, ecx
jne 0x100923e2
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x100923eb
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x100923d4
cmp edx, 0x27
jne 0x100923fb
mov dword [esi], 0x5d
jmp 0x10092307
test edx, edx
je 0x10092537
mov dword [esi], 0x1a
jmp 0x10092307
xor eax, eax
inc eax
jmp 0x1009241c
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10092421
inc eax
cmp ecx, 0x5d
jne 0x10092413
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff87
add edx, 0x93
mov dword [esi], edx
jmp 0x1009253d
cmp byte [ebx + 1], 0x27
jne 0x100921b3
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x93
jmp 0x10092470
cmp ecx, 0x27
je 0x10092474
movzx ecx, cl
test byte [ecx + 0x10103320], 8
jne 0x1009246b
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x10092458
mov edi, eax
and edi, 0x80000001
jns 0x10092483
dec edi
or edi, 0xfffffffe
inc edi
jne 0x1009248d
test ecx, ecx
jne 0x10092307
mov dword [esi], edx
test ecx, ecx
je 0x1009253d
jmp 0x10092307
xor edi, edi
inc edi
movzx eax, byte [edi + ebx]
test al, al
js 0x100924b5
cmp eax, 0x1f
jle 0x100924b8
cmp byte [eax + 0x10106168], 0
je 0x100924b8
inc edi
jmp 0x1009249f
call fcn.10091f81
mov dword [esi], eax
mov eax, edi
jmp 0x1009253d
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
mov dword [esi], 0x85
test ecx, ecx
je 0x10092537
test cl, cl
js 0x100924ff
cmp ecx, 0x1f
jle 0x100924e8
cmp byte [ecx + 0x10106168], 0
jne 0x100924ff
cmp ecx, 0x28
jne 0x100924f1
test edx, edx
jg 0x1009250b
cmp ecx, 0x3a
jne 0x10092533
cmp byte [ebx + eax + 1], cl
jne 0x10092533
inc eax
jmp 0x10092500
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x100924d6
jmp 0x10092533
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10092525
movzx edi, cl
test byte [edi + 0x10103320], 1
jne 0x10092525
cmp ecx, 0x29
jne 0x1009250b
cmp ecx, 0x29
jne 0x1009252d
inc eax
jmp 0x10092533
mov dword [esi], 0x93
test edx, edx
jne 0x1009253d
mov dword [esi], 0x93
pop edi
pop ebx
ret