Function at 0x1001b1e0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1001b647
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x1001b647
cmp eax, 0x29
jne 0x1001b220
cmp dword [esi + 0x10], 0
jne 0x1001b647
test dword [esi + 0x50], 0x10000000
je 0x1001b654
jmp 0x1001b5e0
cmp eax, 0x2e
jne 0x1001b273
push 5
lea ecx, [esi + 0x24]
call fcn.1001b670
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b628
cmp byte [eax], 0x5c
jne 0x1001b42f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b42f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1001b26b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1001b42d
cmp dl, 0x29
je 0x1001b42d
test bl, 0x10
jmp 0x1001b41f
cmp eax, 0x5c
jne 0x1001b391
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b2ba
cmp byte [eax], 0x5c
jne 0x1001b2b7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b2b7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1001b2a4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1001b2b5
cmp dl, 0x29
je 0x1001b2b5
test bl, 0x10
jne 0x1001b2b7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b2b5
cmp dl, 0x7d
jne 0x1001b2b7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10019be0
test byte [esi + 0x50], 0x80
je 0x1001b385
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1001b326
push 4
lea ecx, [esi + 0x24]
call fcn.1001b670
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b31a
cmp byte [eax], 0x5c
jne 0x1001b317
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b317
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1001b304
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1001b315
cmp dl, 0x29
je 0x1001b315
test bl, 0x10
jne 0x1001b317
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b315
cmp dl, 0x7d
jne 0x1001b317
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10019be0
jmp 0x1001b639
cmp al, 0x42
jne 0x1001b385
push 4
lea ecx, [esi + 0x24]
call fcn.1001b670
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b379
cmp byte [eax], 0x5c
jne 0x1001b376
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b376
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001b363
mov al, byte [ecx]
cmp al, 0x28
je 0x1001b374
cmp al, 0x29
je 0x1001b374
mov eax, dword [esi]
test dl, 0x10
jne 0x1001b376
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b374
cmp dl, 0x7d
jne 0x1001b376
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10019be0
jmp 0x1001b639
mov ecx, esi
call fcn.1001bdb0
jmp 0x1001b62f
cmp eax, 0x5b
jne 0x1001b437
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b3d8
cmp byte [eax], 0x5c
jne 0x1001b3d5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b3d5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001b3c2
mov al, byte [ecx]
cmp al, 0x28
je 0x1001b3d3
cmp al, 0x29
je 0x1001b3d3
mov eax, dword [esi]
test dl, 0x10
jne 0x1001b3d5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b3d3
cmp dl, 0x7d
jne 0x1001b3d5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10019be0
mov ecx, esi
call fcn.1001bc80
cmp dword [esi + 0x4c], 0x5d
jne 0x1001b662
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b628
cmp byte [eax], 0x5c
jne 0x1001b42f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b42f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001b41c
mov al, byte [ecx]
cmp al, 0x28
je 0x1001b42d
cmp al, 0x29
je 0x1001b42d
mov eax, dword [esi]
test dl, 0x10
jne 0x1001b42f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b42d
cmp dl, 0x7d
jne 0x1001b42f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1001b628
cmp eax, 0x28
jne 0x1001b4ea
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b47e
cmp byte [eax], 0x5c
jne 0x1001b47b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b47b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001b468
mov al, byte [ecx]
cmp al, 0x28
je 0x1001b479
cmp al, 0x29
je 0x1001b479
mov eax, dword [esi]
test dl, 0x10
jne 0x1001b47b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b479
cmp dl, 0x7d
jne 0x1001b47b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10019be0
mov ecx, esi
call fcn.1001bf00
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1001b654
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001b4d6
cmp byte [eax], 0x5c
jne 0x1001b4d3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1001b4d3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001b4c0
mov al, byte [ecx]
cmp al, 0x28
je 0x1001b4d1
cmp al, 0x29
je 0x1001b4d1
mov eax, dword [esi]
test dl, 0x10
jne 0x1001b4d3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1001b4d1
cmp dl, 0x7d
jne 0x1001b4d3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10019be0
test bl, bl
je 0x1001b639
jmp 0x1001b62f
cmp eax, 0x5e
jne 0x1001b540
push 2
lea ecx, [esi + 0x24]
call fcn.1001b670
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1001b534
cmp byte [eax], 0x5c
jne 0x1001b532
inc eax
cmp eax, ecx
je 0x1001b532
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001b51f
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001b530
cmp dl, 0x29
je 0x1001b530
test cl, 0x10
jne 0x1001b532
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b530
cmp cl, 0x7d
jne 0x1001b532
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10019be0
jmp 0x1001b639
cmp eax, 0x24
jne 0x1001b596
push 3
lea ecx, [esi + 0x24]
call fcn.1001b670
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1001b58a
cmp byte [eax], 0x5c
jne 0x1001b588
inc eax
cmp eax, ecx
je 0x1001b588
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001b575
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001b586
cmp dl, 0x29
je 0x1001b586
test cl, 0x10
jne 0x1001b588
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b586
cmp cl, 0x7d
jne 0x1001b588
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10019be0
jmp 0x1001b639
cmp eax, 0x2a
je 0x1001b64d
cmp eax, 0x2b
je 0x1001b64d
cmp eax, 0x3f
je 0x1001b64d
cmp eax, 0x7b
je 0x1001b64d
cmp eax, 0x7d
jne 0x1001b5ce
test dword [esi + 0x50], 0x10000000
je 0x1001b65b
jmp 0x1001b5e0
cmp eax, 0x5d
jne 0x1001b5e0
test dword [esi + 0x50], 0x10000000
je 0x1001b662
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1001c290
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1001b628
cmp byte [eax], 0x5c
jne 0x1001b626
inc eax
cmp eax, ecx
je 0x1001b626
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001b613
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001b624
cmp dl, 0x29
je 0x1001b624
test cl, 0x10
jne 0x1001b626
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b624
cmp cl, 0x7d
jne 0x1001b626
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10019be0
mov ecx, esi
call fcn.1001c060
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1001b1f6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.10019bd0
push 5
call fcn.10019bd0
push 6
call fcn.10019bd0
push 4
call fcn.10019bd0
int3