Function at 0x100138e0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c3e2b
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 0x10013c9f
jmp 0x10013910
cmp eax, 0x7c
je 0x10013c9f
cmp eax, 0x29
jne 0x10013935
cmp dword [esi + 0x10], 0
jne 0x10013c9f
test dword [esi + 0x50], 0x10000000
je 0x10013cb1
cmp eax, 0x2e
jne 0x100139f2
push 0x14
call fcn.1009dc41
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1001397c
mov dword [ecx], 0x100ea6a0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1001397e
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 0x100139a1
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 0x100139e6
cmp byte [eax], 0x5c
jne 0x100139e4
inc eax
cmp eax, ecx
je 0x100139e4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100139d1
mov dl, byte [eax]
cmp dl, 0x28
je 0x100139e2
cmp dl, 0x29
je 0x100139e2
test cl, 0x10
jne 0x100139e4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100139e2
cmp cl, 0x7d
jne 0x100139e4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
jmp 0x10013c8a
cmp eax, 0x5c
jne 0x10013b0f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013a37
cmp byte [eax], 0x5c
jne 0x10013a35
inc eax
cmp eax, ecx
je 0x10013a35
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013a22
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013a33
cmp dl, 0x29
je 0x10013a33
test cl, 0x10
jne 0x10013a35
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013a33
cmp cl, 0x7d
jne 0x10013a35
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10013aa0
cmp byte [esi + 0x48], 0x62
jne 0x10013aa0
push 4
lea ecx, [esi + 0x24]
call fcn.10013f00
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013a94
cmp byte [eax], 0x5c
jne 0x10013a92
inc eax
cmp eax, ecx
je 0x10013a92
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10013a7f
mov cl, byte [eax]
cmp cl, 0x28
je 0x10013a90
cmp cl, 0x29
je 0x10013a90
test dl, 0x10
jne 0x10013a92
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013a90
cmp cl, 0x7d
jne 0x10013a92
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
jmp 0x10013c91
test eax, eax
je 0x10013b03
cmp byte [esi + 0x48], 0x42
jne 0x10013b03
push 4
lea ecx, [esi + 0x24]
call fcn.10013f00
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013af7
cmp byte [eax], 0x5c
jne 0x10013af5
inc eax
cmp eax, ecx
je 0x10013af5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10013ae2
mov cl, byte [eax]
cmp cl, 0x28
je 0x10013af3
cmp cl, 0x29
je 0x10013af3
test dl, 0x10
jne 0x10013af5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013af3
cmp cl, 0x7d
jne 0x10013af5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
jmp 0x10013c91
mov ecx, esi
call fcn.10015eb0
jmp 0x10013c8a
cmp eax, 0x5b
jne 0x10013bb4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013b54
cmp byte [eax], 0x5c
jne 0x10013b52
inc eax
cmp eax, ecx
je 0x10013b52
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013b3f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013b50
cmp dl, 0x29
je 0x10013b50
test cl, 0x10
jne 0x10013b52
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013b50
cmp cl, 0x7d
jne 0x10013b52
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
mov ecx, esi
call fcn.10015e00
cmp dword [esi + 0x4c], 0x5d
jne 0x10013cb8
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013ba8
cmp byte [eax], 0x5c
jne 0x10013ba6
inc eax
cmp eax, ecx
je 0x10013ba6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013b93
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013ba4
cmp dl, 0x29
je 0x10013ba4
test cl, 0x10
jne 0x10013ba6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013ba4
cmp cl, 0x7d
jne 0x10013ba6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
jmp 0x10013c8a
cmp eax, 0x28
jne 0x10013c16
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013bf5
cmp byte [eax], 0x5c
jne 0x10013bf3
inc eax
cmp eax, ecx
je 0x10013bf3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013be0
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013bf1
cmp dl, 0x29
je 0x10013bf1
test cl, 0x10
jne 0x10013bf3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013bf1
cmp cl, 0x7d
jne 0x10013bf3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100105b0
mov ecx, esi
call fcn.10015f70
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10015da0
test bl, bl
je 0x10013c91
jmp 0x10013c8a
cmp eax, 0x5e
jne 0x10013c2e
push 2
lea ecx, [esi + 0x24]
call fcn.10013f00
mov ecx, esi
call fcn.10013890
jmp 0x10013c91
cmp eax, 0x24
jne 0x10013c46
push 3
lea ecx, [esi + 0x24]
call fcn.10013f00
mov ecx, esi
call fcn.10013890
jmp 0x10013c91
cmp eax, 0x2a
je 0x10013cc6
cmp eax, 0x2b
je 0x10013cc6
cmp eax, 0x3f
je 0x10013cc6
cmp eax, 0x7b
je 0x10013cc6
cmp eax, 0x7d
jne 0x10013c68
test dword [esi + 0x50], 0x10000000
je 0x10013cbf
cmp eax, 0x5d
jne 0x10013c76
test dword [esi + 0x50], 0x10000000
je 0x10013cb8
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10016160
mov ecx, esi
call fcn.10013890
mov ecx, esi
call fcn.10016030
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10013910
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.10099293
push 4
call fcn.10099293
push 6
call fcn.10099293
push 0xa
call fcn.10099293
int3