Function at 0x1001e210
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d148b
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 0x1001e5cf
jmp 0x1001e240
cmp eax, 0x7c
je 0x1001e5cf
cmp eax, 0x29
jne 0x1001e265
cmp dword [esi + 0x10], 0
jne 0x1001e5cf
test dword [esi + 0x50], 0x10000000
je 0x1001e5e1
cmp eax, 0x2e
jne 0x1001e322
push 0x14
call fcn.100ab6b1
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1001e2ac
mov dword [ecx], 0x100fd5ec
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1001e2ae
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 0x1001e2d1
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 0x1001e316
cmp byte [eax], 0x5c
jne 0x1001e314
inc eax
cmp eax, ecx
je 0x1001e314
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e301
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e312
cmp dl, 0x29
je 0x1001e312
test cl, 0x10
jne 0x1001e314
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e312
cmp cl, 0x7d
jne 0x1001e314
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
jmp 0x1001e5ba
cmp eax, 0x5c
jne 0x1001e43f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e367
cmp byte [eax], 0x5c
jne 0x1001e365
inc eax
cmp eax, ecx
je 0x1001e365
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e352
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e363
cmp dl, 0x29
je 0x1001e363
test cl, 0x10
jne 0x1001e365
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e363
cmp cl, 0x7d
jne 0x1001e365
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1001e3d0
cmp byte [esi + 0x48], 0x62
jne 0x1001e3d0
push 4
lea ecx, [esi + 0x24]
call fcn.1001e830
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e3c4
cmp byte [eax], 0x5c
jne 0x1001e3c2
inc eax
cmp eax, ecx
je 0x1001e3c2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001e3af
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001e3c0
cmp cl, 0x29
je 0x1001e3c0
test dl, 0x10
jne 0x1001e3c2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e3c0
cmp cl, 0x7d
jne 0x1001e3c2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
jmp 0x1001e5c1
test eax, eax
je 0x1001e433
cmp byte [esi + 0x48], 0x42
jne 0x1001e433
push 4
lea ecx, [esi + 0x24]
call fcn.1001e830
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e427
cmp byte [eax], 0x5c
jne 0x1001e425
inc eax
cmp eax, ecx
je 0x1001e425
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1001e412
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001e423
cmp cl, 0x29
je 0x1001e423
test dl, 0x10
jne 0x1001e425
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e423
cmp cl, 0x7d
jne 0x1001e425
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
jmp 0x1001e5c1
mov ecx, esi
call fcn.10020450
jmp 0x1001e5ba
cmp eax, 0x5b
jne 0x1001e4e4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e484
cmp byte [eax], 0x5c
jne 0x1001e482
inc eax
cmp eax, ecx
je 0x1001e482
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e46f
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e480
cmp dl, 0x29
je 0x1001e480
test cl, 0x10
jne 0x1001e482
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e480
cmp cl, 0x7d
jne 0x1001e482
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
mov ecx, esi
call fcn.100203a0
cmp dword [esi + 0x4c], 0x5d
jne 0x1001e5e8
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e4d8
cmp byte [eax], 0x5c
jne 0x1001e4d6
inc eax
cmp eax, ecx
je 0x1001e4d6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e4c3
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e4d4
cmp dl, 0x29
je 0x1001e4d4
test cl, 0x10
jne 0x1001e4d6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e4d4
cmp cl, 0x7d
jne 0x1001e4d6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
jmp 0x1001e5ba
cmp eax, 0x28
jne 0x1001e546
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e525
cmp byte [eax], 0x5c
jne 0x1001e523
inc eax
cmp eax, ecx
je 0x1001e523
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1001e510
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001e521
cmp dl, 0x29
je 0x1001e521
test cl, 0x10
jne 0x1001e523
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e521
cmp cl, 0x7d
jne 0x1001e523
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001b7c0
mov ecx, esi
call fcn.10020510
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10020340
test bl, bl
je 0x1001e5c1
jmp 0x1001e5ba
cmp eax, 0x5e
jne 0x1001e55e
push 2
lea ecx, [esi + 0x24]
call fcn.1001e830
mov ecx, esi
call fcn.1001e1c0
jmp 0x1001e5c1
cmp eax, 0x24
jne 0x1001e576
push 3
lea ecx, [esi + 0x24]
call fcn.1001e830
mov ecx, esi
call fcn.1001e1c0
jmp 0x1001e5c1
cmp eax, 0x2a
je 0x1001e5f6
cmp eax, 0x2b
je 0x1001e5f6
cmp eax, 0x3f
je 0x1001e5f6
cmp eax, 0x7b
je 0x1001e5f6
cmp eax, 0x7d
jne 0x1001e598
test dword [esi + 0x50], 0x10000000
je 0x1001e5ef
cmp eax, 0x5d
jne 0x1001e5a6
test dword [esi + 0x50], 0x10000000
je 0x1001e5e8
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10020700
mov ecx, esi
call fcn.1001e1c0
mov ecx, esi
call fcn.100205d0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1001e240
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.100a6cfe
push 4
call fcn.100a6cfe
push 6
call fcn.100a6cfe
push 0xa
call fcn.100a6cfe
int3