Function at 0x100138d0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c3e0b
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 0x10013c8f
jmp 0x10013900
cmp eax, 0x7c
je 0x10013c8f
cmp eax, 0x29
jne 0x10013925
cmp dword [esi + 0x10], 0
jne 0x10013c8f
test dword [esi + 0x50], 0x10000000
je 0x10013ca1
cmp eax, 0x2e
jne 0x100139e2
push 0x14
call fcn.1009dc11
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1001396c
mov dword [ecx], 0x100ea5e0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1001396e
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 0x10013991
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 0x100139d6
cmp byte [eax], 0x5c
jne 0x100139d4
inc eax
cmp eax, ecx
je 0x100139d4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100139c1
mov dl, byte [eax]
cmp dl, 0x28
je 0x100139d2
cmp dl, 0x29
je 0x100139d2
test cl, 0x10
jne 0x100139d4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100139d2
cmp cl, 0x7d
jne 0x100139d4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
jmp 0x10013c7a
cmp eax, 0x5c
jne 0x10013aff
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013a27
cmp byte [eax], 0x5c
jne 0x10013a25
inc eax
cmp eax, ecx
je 0x10013a25
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013a12
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013a23
cmp dl, 0x29
je 0x10013a23
test cl, 0x10
jne 0x10013a25
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013a23
cmp cl, 0x7d
jne 0x10013a25
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10013a90
cmp byte [esi + 0x48], 0x62
jne 0x10013a90
push 4
lea ecx, [esi + 0x24]
call fcn.10013ef0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013a84
cmp byte [eax], 0x5c
jne 0x10013a82
inc eax
cmp eax, ecx
je 0x10013a82
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10013a6f
mov cl, byte [eax]
cmp cl, 0x28
je 0x10013a80
cmp cl, 0x29
je 0x10013a80
test dl, 0x10
jne 0x10013a82
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013a80
cmp cl, 0x7d
jne 0x10013a82
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
jmp 0x10013c81
test eax, eax
je 0x10013af3
cmp byte [esi + 0x48], 0x42
jne 0x10013af3
push 4
lea ecx, [esi + 0x24]
call fcn.10013ef0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013ae7
cmp byte [eax], 0x5c
jne 0x10013ae5
inc eax
cmp eax, ecx
je 0x10013ae5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10013ad2
mov cl, byte [eax]
cmp cl, 0x28
je 0x10013ae3
cmp cl, 0x29
je 0x10013ae3
test dl, 0x10
jne 0x10013ae5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013ae3
cmp cl, 0x7d
jne 0x10013ae5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
jmp 0x10013c81
mov ecx, esi
call fcn.10015ea0
jmp 0x10013c7a
cmp eax, 0x5b
jne 0x10013ba4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013b44
cmp byte [eax], 0x5c
jne 0x10013b42
inc eax
cmp eax, ecx
je 0x10013b42
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013b2f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013b40
cmp dl, 0x29
je 0x10013b40
test cl, 0x10
jne 0x10013b42
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013b40
cmp cl, 0x7d
jne 0x10013b42
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
mov ecx, esi
call fcn.10015df0
cmp dword [esi + 0x4c], 0x5d
jne 0x10013ca8
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013b98
cmp byte [eax], 0x5c
jne 0x10013b96
inc eax
cmp eax, ecx
je 0x10013b96
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013b83
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013b94
cmp dl, 0x29
je 0x10013b94
test cl, 0x10
jne 0x10013b96
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013b94
cmp cl, 0x7d
jne 0x10013b96
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
jmp 0x10013c7a
cmp eax, 0x28
jne 0x10013c06
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013be5
cmp byte [eax], 0x5c
jne 0x10013be3
inc eax
cmp eax, ecx
je 0x10013be3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013bd0
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013be1
cmp dl, 0x29
je 0x10013be1
test cl, 0x10
jne 0x10013be3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013be1
cmp cl, 0x7d
jne 0x10013be3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105a0
mov ecx, esi
call fcn.10015f60
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10015d90
test bl, bl
je 0x10013c81
jmp 0x10013c7a
cmp eax, 0x5e
jne 0x10013c1e
push 2
lea ecx, [esi + 0x24]
call fcn.10013ef0
mov ecx, esi
call fcn.10013880
jmp 0x10013c81
cmp eax, 0x24
jne 0x10013c36
push 3
lea ecx, [esi + 0x24]
call fcn.10013ef0
mov ecx, esi
call fcn.10013880
jmp 0x10013c81
cmp eax, 0x2a
je 0x10013cb6
cmp eax, 0x2b
je 0x10013cb6
cmp eax, 0x3f
je 0x10013cb6
cmp eax, 0x7b
je 0x10013cb6
cmp eax, 0x7d
jne 0x10013c58
test dword [esi + 0x50], 0x10000000
je 0x10013caf
cmp eax, 0x5d
jne 0x10013c66
test dword [esi + 0x50], 0x10000000
je 0x10013ca8
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10016150
mov ecx, esi
call fcn.10013880
mov ecx, esi
call fcn.10016020
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10013900
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.10099263
push 4
call fcn.10099263
push 6
call fcn.10099263
push 0xa
call fcn.10099263
int3