Function at 0x100b0c70
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 0x100b1172
cmp eax, 0x7c
je 0x100b1172
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x100b0cb4
cmp dword [esi + 0x10], 0
jne 0x100b1172
test dword [esi + 0x50], 0x10000000
je 0x100b1182
jmp 0x100b1107
cmp eax, 0x2e
jne 0x100b0d24
push 5
lea ecx, [esi + 0x24]
call fcn.100b11a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100b114e
cmp byte [eax], 0x5c
jne 0x100b0f34
lea edx, [eax + 1]
cmp edx, ecx
je 0x100b0f34
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100b0cfe
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x100b0d19
cmp byte [ebp - 1], 0x29
je 0x100b0d19
test bl, 0x10
jne 0x100b0f34
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x100b0d19
cmp dl, 0x7d
jne 0x100b0f34
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x100b114e
cmp eax, 0x5c
jne 0x100b0e6f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100b0d75
cmp byte [eax], 0x5c
jne 0x100b0d72
lea edx, [eax + 1]
cmp edx, ecx
je 0x100b0d72
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100b0d5c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x100b0d6f
cmp byte [ebp - 1], 0x29
je 0x100b0d6f
test bl, 0x10
jne 0x100b0d72
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x100b0d6f
cmp dl, 0x7d
jne 0x100b0d72
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100afae0
test byte [esi + 0x50], 0x80
je 0x100b0e63
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100b0de9
push 4
lea ecx, [esi + 0x24]
call fcn.100b11a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100b0ddd
cmp byte [eax], 0x5c
jne 0x100b0dda
lea edx, [eax + 1]
cmp edx, ecx
je 0x100b0dda
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b0dc4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x100b0dd7
cmp bl, 0x29
je 0x100b0dd7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x100b0dda
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x100b0dd7
cmp dl, 0x7d
jne 0x100b0dda
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100afae0
jmp 0x100b115f
cmp al, 0x42
jne 0x100b0e63
push 4
lea ecx, [esi + 0x24]
call fcn.100b11a0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100b0e57
cmp byte [eax], 0x5c
jne 0x100b0e54
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x100b0e52
test byte [esi + 0x50], 8
jne 0x100b0e2a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x100b0e40
cmp cl, 0x29
je 0x100b0e40
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x100b0e52
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x100b0e40
mov edx, ecx
cmp bl, 0x7d
jne 0x100b0e52
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.100afae0
jmp 0x100b115f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100afae0
jmp 0x100b115f
mov ecx, esi
call fcn.100b1760
jmp 0x100b1155
cmp eax, 0x5b
jne 0x100b0f3c
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100b0ec8
cmp byte [eax], 0x5c
jne 0x100b0ec2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x100b0ec0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100b0ea6
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x100b0ebb
cmp cl, 0x29
je 0x100b0ebb
mov ecx, eax
test bl, 0x10
jne 0x100b0ec0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x100b0ebb
mov edx, ecx
cmp bl, 0x7d
jne 0x100b0ec0
lea eax, [edx + 1]
jmp 0x100b0ec2
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.100afae0
mov ecx, esi
call fcn.100b1620
cmp dword [esi + 0x4c], 0x5d
jne 0x100b1190
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100b114e
cmp byte [eax], 0x5c
jne 0x100b0f34
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x100b0f32
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100b0f12
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x100b0f27
cmp cl, 0x29
je 0x100b0f27
mov ecx, eax
test bl, 0x10
jne 0x100b0f32
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x100b0f27
mov edx, ecx
cmp bl, 0x7d
jne 0x100b0f32
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x100b114e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x100b114e
cmp eax, 0x28
jne 0x100b1012
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100b0f91
cmp byte [eax], 0x5c
jne 0x100b0f8e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x100b0f8c
test byte [esi + 0x50], 8
jne 0x100b0f71
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x100b0f87
cmp cl, 0x29
je 0x100b0f87
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x100b0f8c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x100b0f87
mov edx, ecx
cmp bl, 0x7d
jne 0x100b0f8c
lea eax, [edx + 1]
jmp 0x100b0f8e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100afae0
mov ecx, esi
call fcn.100b18b0
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x100b1182
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x100b0ffe
cmp byte [eax], 0x5c
jne 0x100b0ffb
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x100b0ff6
test byte [esi + 0x50], 8
jne 0x100b0fdb
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x100b0ff1
cmp cl, 0x29
je 0x100b0ff1
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x100b0ff6
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x100b0ff1
mov edx, ecx
cmp bl, 0x7d
jne 0x100b0ff6
lea eax, [edx + 1]
jmp 0x100b0ff8
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100afae0
test bl, bl
je 0x100b115f
jmp 0x100b1155
cmp eax, 0x5e
jne 0x100b1066
push 2
lea ecx, [esi + 0x24]
call fcn.100b11a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100b105a
cmp byte [eax], 0x5c
jne 0x100b1058
inc eax
cmp eax, ecx
je 0x100b1058
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b1047
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b1056
cmp dl, 0x29
je 0x100b1056
test cl, 0x10
jne 0x100b1058
mov al, byte [eax]
cmp al, 0x7b
je 0x100b1056
cmp al, 0x7d
jne 0x100b1058
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.100afae0
jmp 0x100b115f
cmp eax, 0x24
jne 0x100b10bd
push 3
lea ecx, [esi + 0x24]
call fcn.100b11a0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100b10b1
cmp byte [eax], 0x5c
jne 0x100b10af
inc eax
cmp eax, ecx
je 0x100b10af
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b109e
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b10ad
cmp dl, 0x29
je 0x100b10ad
test cl, 0x10
jne 0x100b10af
mov al, byte [eax]
cmp al, 0x7b
je 0x100b10ad
cmp al, 0x7d
jne 0x100b10af
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.100afae0
jmp 0x100b115f
cmp eax, 0x2a
je 0x100b117b
cmp eax, 0x2b
je 0x100b117b
cmp eax, 0x3f
je 0x100b117b
cmp eax, 0x7b
je 0x100b117b
cmp eax, 0x7d
jne 0x100b10f5
test dword [esi + 0x50], 0x10000000
je 0x100b1189
jmp 0x100b1107
cmp eax, 0x5d
jne 0x100b1107
test dword [esi + 0x50], 0x10000000
je 0x100b1190
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100b1c70
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b114e
cmp byte [eax], 0x5c
jne 0x100b114c
inc eax
cmp eax, ecx
je 0x100b114c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b113b
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b114a
cmp dl, 0x29
je 0x100b114a
test cl, 0x10
jne 0x100b114c
mov al, byte [eax]
cmp al, 0x7b
je 0x100b114a
cmp al, 0x7d
jne 0x100b114c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.100afae0
mov ecx, esi
call fcn.100b1a50
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x100b1172
cmp eax, 0x7c
jne 0x100b0c93
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.100afad0
push 5
call fcn.100afad0
push 6
call fcn.100afad0
push 4
call fcn.100afad0
int3