Function at 0x1000e220
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000e629
cmp eax, 0x7c
je 0x1000e629
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x1000e264
cmp dword [esi + 0x10], 0
jne 0x1000e627
test dword [esi + 0x50], 0x10000000
je 0x1000e639
jmp 0x1000e5bc
cmp eax, 0x2e
jne 0x1000e2c4
push 5
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000e603
cmp byte [eax], 0x5c
jne 0x1000e2bc
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000e2bc
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000e2a6
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x1000e2b9
cmp byte [ebp - 1], 0x29
je 0x1000e2b9
test bl, 0x10
jne 0x1000e2bc
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000e2b9
cmp dl, 0x7d
jne 0x1000e2bc
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x1000e603
cmp eax, 0x5c
jne 0x1000e40f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000e315
cmp byte [eax], 0x5c
jne 0x1000e312
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000e312
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000e2fc
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x1000e30f
cmp byte [ebp - 1], 0x29
je 0x1000e30f
test bl, 0x10
jne 0x1000e312
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000e30f
cmp dl, 0x7d
jne 0x1000e312
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010d70
test byte [esi + 0x50], 0x80
je 0x1000e403
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1000e389
push 4
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000e37d
cmp byte [eax], 0x5c
jne 0x1000e37a
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000e37a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000e364
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x1000e377
cmp bl, 0x29
je 0x1000e377
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000e37a
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000e377
cmp dl, 0x7d
jne 0x1000e37a
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010d70
jmp 0x1000e614
cmp al, 0x42
jne 0x1000e403
push 4
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x1000e3f7
cmp byte [eax], 0x5c
jne 0x1000e3f4
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1000e3f2
test byte [esi + 0x50], 8
jne 0x1000e3ca
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x1000e3e0
cmp cl, 0x29
je 0x1000e3e0
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000e3f2
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x1000e3e0
mov edx, ecx
cmp bl, 0x7d
jne 0x1000e3f2
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.10010d70
jmp 0x1000e614
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010d70
jmp 0x1000e614
mov ecx, esi
call fcn.1000e660
jmp 0x1000e60a
cmp eax, 0x5b
jne 0x1000e4c8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000e465
cmp byte [eax], 0x5c
jne 0x1000e462
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x1000e460
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000e446
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x1000e45b
cmp cl, 0x29
je 0x1000e45b
mov ecx, eax
test bl, 0x10
jne 0x1000e460
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x1000e45b
mov edx, ecx
cmp bl, 0x7d
jne 0x1000e460
lea eax, [edx + 1]
jmp 0x1000e462
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010d70
lea ecx, [esi + 0x24]
call fcn.1000da80
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000e48d
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.100108c0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000e4ab
cmp eax, 0x5d
jne 0x1000e4ab
push eax
lea ecx, [esi + 0x24]
call fcn.1000da10
mov ecx, esi
call fcn.100108c0
mov ecx, esi
call fcn.1000f030
cmp dword [esi + 0x4c], 0x5d
jne 0x1000e64b
mov ecx, esi
call fcn.100108c0
jmp 0x1000e60a
cmp eax, 0x28
jne 0x1000e547
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000e519
cmp byte [eax], 0x5c
jne 0x1000e516
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1000e514
test byte [esi + 0x50], 8
jne 0x1000e4f9
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x1000e50f
cmp cl, 0x29
je 0x1000e50f
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000e514
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x1000e50f
mov edx, ecx
cmp bl, 0x7d
jne 0x1000e514
lea eax, [edx + 1]
jmp 0x1000e516
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010d70
mov ecx, esi
call fcn.10010f70
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000e639
mov ecx, esi
call fcn.100108c0
test bl, bl
je 0x1000e614
jmp 0x1000e60a
cmp eax, 0x5e
jne 0x1000e55b
push 2
lea ecx, [esi + 0x24]
call fcn.10010850
jmp 0x1000e39e
cmp eax, 0x24
jne 0x1000e572
push 3
lea ecx, [esi + 0x24]
call fcn.10010850
lea edi, [esi + 8]
jmp 0x1000e39e
cmp eax, 0x2a
je 0x1000e630
cmp eax, 0x2b
je 0x1000e630
cmp eax, 0x3f
je 0x1000e630
cmp eax, 0x7b
je 0x1000e630
cmp eax, 0x7d
jne 0x1000e5aa
test dword [esi + 0x50], 0x10000000
je 0x1000e642
jmp 0x1000e5bc
cmp eax, 0x5d
jne 0x1000e5bc
test dword [esi + 0x50], 0x10000000
je 0x1000e64b
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000d860
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000e603
cmp byte [eax], 0x5c
jne 0x1000e601
inc eax
cmp eax, ecx
je 0x1000e601
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000e5f0
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000e5ff
cmp dl, 0x29
je 0x1000e5ff
test cl, 0x10
jne 0x1000e601
mov al, byte [eax]
cmp al, 0x7b
je 0x1000e5ff
cmp al, 0x7d
jne 0x1000e601
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10010d70
mov ecx, esi
call fcn.10010920
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x1000e627
cmp eax, 0x7c
jne 0x1000e243
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.1000fd90
push 5
mov ecx, esi
call fcn.1000fd90
push 6
mov ecx, esi
call fcn.1000fd90
push 4
mov ecx, esi
call fcn.1000fd90
int3