Function at 0x1003dbf0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d1ffb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x1003dfb0
lea esp, [esp]
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x1003dfb0
cmp eax, 0x29
jne 0x1003dc48
cmp dword [esi + 0x10], 0
jne 0x1003dfb0
test dword [esi + 0x50], 0x10000000
je 0x1003dfc2
cmp eax, 0x2e
jne 0x1003dd05
push 0x14
call fcn.100abc51
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1003dc8f
mov dword [ecx], 0x100fd600
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1003dc91
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 0x1003dcb4
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 0x1003dcf9
cmp byte [eax], 0x5c
jne 0x1003dcf7
inc eax
cmp eax, ecx
je 0x1003dcf7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003dce4
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003dcf5
cmp dl, 0x29
je 0x1003dcf5
test cl, 0x10
jne 0x1003dcf7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003dcf5
cmp cl, 0x7d
jne 0x1003dcf7
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
jmp 0x1003df9d
cmp eax, 0x5c
jne 0x1003de22
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003dd4a
cmp byte [eax], 0x5c
jne 0x1003dd48
inc eax
cmp eax, ecx
je 0x1003dd48
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003dd35
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003dd46
cmp dl, 0x29
je 0x1003dd46
test cl, 0x10
jne 0x1003dd48
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003dd46
cmp cl, 0x7d
jne 0x1003dd48
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1003ddb3
cmp byte [esi + 0x48], 0x62
jne 0x1003ddb3
push 4
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003dda7
cmp byte [eax], 0x5c
jne 0x1003dda5
inc eax
cmp eax, ecx
je 0x1003dda5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003dd92
mov cl, byte [eax]
cmp cl, 0x28
je 0x1003dda3
cmp cl, 0x29
je 0x1003dda3
test dl, 0x10
jne 0x1003dda5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003dda3
cmp cl, 0x7d
jne 0x1003dda5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
jmp 0x1003dfa4
test eax, eax
je 0x1003de16
cmp byte [esi + 0x48], 0x42
jne 0x1003de16
push 4
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003de0a
cmp byte [eax], 0x5c
jne 0x1003de08
inc eax
cmp eax, ecx
je 0x1003de08
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003ddf5
mov cl, byte [eax]
cmp cl, 0x28
je 0x1003de06
cmp cl, 0x29
je 0x1003de06
test dl, 0x10
jne 0x1003de08
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003de06
cmp cl, 0x7d
jne 0x1003de08
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
jmp 0x1003dfa4
mov ecx, esi
call fcn.1003e900
jmp 0x1003df9d
cmp eax, 0x5b
jne 0x1003dec7
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003de67
cmp byte [eax], 0x5c
jne 0x1003de65
inc eax
cmp eax, ecx
je 0x1003de65
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003de52
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003de63
cmp dl, 0x29
je 0x1003de63
test cl, 0x10
jne 0x1003de65
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003de63
cmp cl, 0x7d
jne 0x1003de65
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
mov ecx, esi
call fcn.1003e850
cmp dword [esi + 0x4c], 0x5d
jne 0x1003dfc9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003debb
cmp byte [eax], 0x5c
jne 0x1003deb9
inc eax
cmp eax, ecx
je 0x1003deb9
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003dea6
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003deb7
cmp dl, 0x29
je 0x1003deb7
test cl, 0x10
jne 0x1003deb9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003deb7
cmp cl, 0x7d
jne 0x1003deb9
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
jmp 0x1003df9d
cmp eax, 0x28
jne 0x1003df29
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003df08
cmp byte [eax], 0x5c
jne 0x1003df06
inc eax
cmp eax, ecx
je 0x1003df06
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003def3
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003df04
cmp dl, 0x29
je 0x1003df04
test cl, 0x10
jne 0x1003df06
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003df04
cmp cl, 0x7d
jne 0x1003df06
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003cb60
mov ecx, esi
call fcn.1003e9c0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.1003e7f0
test bl, bl
je 0x1003dfa4
jmp 0x1003df9d
cmp eax, 0x5e
jne 0x1003df41
push 2
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov ecx, esi
call fcn.1003dba0
jmp 0x1003dfa4
cmp eax, 0x24
jne 0x1003df59
push 3
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov ecx, esi
call fcn.1003dba0
jmp 0x1003dfa4
cmp eax, 0x2a
je 0x1003dfd7
cmp eax, 0x2b
je 0x1003dfd7
cmp eax, 0x3f
je 0x1003dfd7
cmp eax, 0x7b
je 0x1003dfd7
cmp eax, 0x7d
jne 0x1003df7b
test dword [esi + 0x50], 0x10000000
je 0x1003dfd0
cmp eax, 0x5d
jne 0x1003df89
test dword [esi + 0x50], 0x10000000
je 0x1003dfc9
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10022cc0
mov ecx, esi
call fcn.1003dba0
mov ecx, esi
call fcn.1003ea80
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x1003dc20
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.100a72a4
push 4
call fcn.100a72a4
push 6
call fcn.100a72a4
push 0xa
call fcn.100a72a4
int3