Function at 0x1001e190
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d009b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1001e54f
jmp 0x1001e1c0
cmp eax, 0x7c
je 0x1001e54f
cmp eax, 0x29
jne 0x1001e1e5
cmp dword [esi + 0x10], 0
jne 0x1001e54f
test dword [esi + 0x50], 0x10000000
je 0x1001e561
cmp eax, 0x2e
jne 0x1001e2a2
push 0x14
call fcn.100aa4d1
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1001e22c
mov dword [ecx], 0x100fb6f0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1001e22e
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1001e251
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e296
cmp byte [eax], 0x5c
jne 0x1001e294
inc eax
cmp eax, ecx
je 0x1001e294
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e281
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e292
cmp dl, 0x29
je 0x1001e292
test cl, 0x10
jne 0x1001e294
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e292
cmp cl, 0x7d
jne 0x1001e294
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
jmp 0x1001e53a
cmp eax, 0x5c
jne 0x1001e3bf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e2e7
cmp byte [eax], 0x5c
jne 0x1001e2e5
inc eax
cmp eax, ecx
je 0x1001e2e5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e2d2
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e2e3
cmp dl, 0x29
je 0x1001e2e3
test cl, 0x10
jne 0x1001e2e5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e2e3
cmp cl, 0x7d
jne 0x1001e2e5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1001e350
cmp byte [esi + 0x48], 0x62
jne 0x1001e350
push 4
lea ecx, [esi + 0x24]
call fcn.1001e7b0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e344
cmp byte [eax], 0x5c
jne 0x1001e342
inc eax
cmp eax, ecx
je 0x1001e342
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001e32f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001e340
cmp cl, 0x29
je 0x1001e340
test dl, 0x10
jne 0x1001e342
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e340
cmp cl, 0x7d
jne 0x1001e342
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
jmp 0x1001e541
test eax, eax
je 0x1001e3b3
cmp byte [esi + 0x48], 0x42
jne 0x1001e3b3
push 4
lea ecx, [esi + 0x24]
call fcn.1001e7b0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e3a7
cmp byte [eax], 0x5c
jne 0x1001e3a5
inc eax
cmp eax, ecx
je 0x1001e3a5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001e392
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001e3a3
cmp cl, 0x29
je 0x1001e3a3
test dl, 0x10
jne 0x1001e3a5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e3a3
cmp cl, 0x7d
jne 0x1001e3a5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
jmp 0x1001e541
mov ecx, esi
call fcn.100203d0
jmp 0x1001e53a
cmp eax, 0x5b
jne 0x1001e464
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e404
cmp byte [eax], 0x5c
jne 0x1001e402
inc eax
cmp eax, ecx
je 0x1001e402
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e3ef
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e400
cmp dl, 0x29
je 0x1001e400
test cl, 0x10
jne 0x1001e402
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e400
cmp cl, 0x7d
jne 0x1001e402
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
mov ecx, esi
call fcn.10020320
cmp dword [esi + 0x4c], 0x5d
jne 0x1001e568
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e458
cmp byte [eax], 0x5c
jne 0x1001e456
inc eax
cmp eax, ecx
je 0x1001e456
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e443
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e454
cmp dl, 0x29
je 0x1001e454
test cl, 0x10
jne 0x1001e456
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e454
cmp cl, 0x7d
jne 0x1001e456
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
jmp 0x1001e53a
cmp eax, 0x28
jne 0x1001e4c6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e4a5
cmp byte [eax], 0x5c
jne 0x1001e4a3
inc eax
cmp eax, ecx
je 0x1001e4a3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e490
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e4a1
cmp dl, 0x29
je 0x1001e4a1
test cl, 0x10
jne 0x1001e4a3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e4a1
cmp cl, 0x7d
jne 0x1001e4a3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b740
mov ecx, esi
call fcn.10020490
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.100202c0
test bl, bl
je 0x1001e541
jmp 0x1001e53a
cmp eax, 0x5e
jne 0x1001e4de
push 2
lea ecx, [esi + 0x24]
call fcn.1001e7b0
mov ecx, esi
call fcn.1001e140
jmp 0x1001e541
cmp eax, 0x24
jne 0x1001e4f6
push 3
lea ecx, [esi + 0x24]
call fcn.1001e7b0
mov ecx, esi
call fcn.1001e140
jmp 0x1001e541
cmp eax, 0x2a
je 0x1001e576
cmp eax, 0x2b
je 0x1001e576
cmp eax, 0x3f
je 0x1001e576
cmp eax, 0x7b
je 0x1001e576
cmp eax, 0x7d
jne 0x1001e518
test dword [esi + 0x50], 0x10000000
je 0x1001e56f
cmp eax, 0x5d
jne 0x1001e526
test dword [esi + 0x50], 0x10000000
je 0x1001e568
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10020680
mov ecx, esi
call fcn.1001e140
mov ecx, esi
call fcn.10020550
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1001e1c0
mov al, cl
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 5
call fcn.100a5b23
push 4
call fcn.100a5b23
push 6
call fcn.100a5b23
push 0xa
call fcn.100a5b23
int3