Function at 0x4db16c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x33
push 0
push 0
dec ecx
jne 0x4db175
push ecx
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.00405140
xor eax, eax
push ebp
push 0x4db642
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x2c], 0xffffffff
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004d8c18
push 0
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 0x88], 0x2f
lea ecx, [ebp - 0x88]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004d7060
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 8]
call fcn.00404d58
push 0
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 0x88], 0x2f
lea ecx, [ebp - 0x88]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.004d7060
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 8]
call fcn.00404d58
push 0
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 0x88], 0x2f
lea ecx, [ebp - 0x88]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.004d7060
mov edx, dword [ebp - 0x90]
lea eax, [ebp - 8]
call fcn.00404d58
push 0
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 0x88], 0x2f
lea ecx, [ebp - 0x88]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004d7060
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 8]
call fcn.00404d58
push 0
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 0x88], 0x2f
lea ecx, [ebp - 0x88]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.004d7060
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 8]
call fcn.00404d58
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 8]
call fcn.00409760
cmp dword [ebp - 0x9c], 0
je 0x4db2b9
xor eax, eax
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 0x10]
call fcn.00409760
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0x10]
call fcn.00404d58
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4db2e1
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jge 0x4db2eb
xor eax, eax
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
call fcn.004dbc24
test al, al
jne 0x4db301
mov dword [ebp - 0x2c], 2
mov eax, dword [ebp - 0x10]
call fcn.004eb1f8
test al, al
jne 0x4db312
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [0x4f240c]
cmp byte [eax], 0
jne 0x4db408
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4db32c
sub eax, 4
mov eax, dword [eax]
mov ecx, eax
test ecx, ecx
jle 0x4db408
mov eax, 1
mov edx, dword [ebp - 0x10]
movzx edx, byte [edx + eax - 1]
cmp dl, 0xa1
je 0x4db3fb
cmp dl, 0x20
je 0x4db3fb
cmp dl, 0x2f
je 0x4db3fb
cmp dl, 0x40
je 0x4db3fb
cmp dl, 0x3f
je 0x4db3fb
cmp dl, 0x27
je 0x4db3fb
cmp dl, 0x22
je 0x4db3fb
cmp dl, 0x5c
je 0x4db3fb
cmp dl, 0x2e
je 0x4db3fb
cmp dl, 0x2c
je 0x4db3fb
cmp dl, 0x3a
je 0x4db3fb
cmp dl, 0x3b
je 0x4db3fb
cmp dl, 0x60
je 0x4db3fb
cmp dl, 0x7e
je 0x4db3fb
cmp dl, 0x21
je 0x4db3fb
cmp dl, 0x23
je 0x4db3fb
cmp dl, 0x24
je 0x4db3fb
cmp dl, 0x25
je 0x4db3fb
cmp dl, 0x5e
je 0x4db3fb
cmp dl, 0x26
je 0x4db3fb
cmp dl, 0x2a
je 0x4db3fb
cmp dl, 0x28
je 0x4db3fb
cmp dl, 0x29
je 0x4db3fb
cmp dl, 0x2d
je 0x4db3fb
cmp dl, 0x5f
je 0x4db3fb
cmp dl, 0x2b
je 0x4db3fb
cmp dl, 0x3d
je 0x4db3fb
cmp dl, 0x7c
je 0x4db3fb
cmp dl, 0x5b
je 0x4db3fb
cmp dl, 0x7b
je 0x4db3fb
cmp dl, 0x5d
je 0x4db3fb
cmp dl, 0x7d
jne 0x4db400
xor edx, edx
mov dword [ebp - 0x2c], edx
inc eax
dec ecx
jne 0x4db33b
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x4db463
xor eax, eax
push ebp
push 0x4db45c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f2850]
mov eax, dword [eax]
call fcn.004ecc40
mov eax, dword [0x4f2850]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
call fcn.004ece14
test eax, eax
jl 0x4db442
mov dword [ebp - 0x2c], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4db463
mov eax, dword [0x4f2850]
mov eax, dword [eax]
call fcn.004ecc4c
ret
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x4db5b2
xor eax, eax
push ebp
push 0x4db555
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f2294]
mov eax, dword [eax]
call fcn.004ebce4
test al, al
je 0x4db53b
lea eax, [ebp - 0x80]
xor ecx, ecx
mov edx, 0x48
call fcn.00403634
lea eax, [ebp - 0x1a0]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.00404f5c
lea edx, [ebp - 0x1a0]
lea eax, [ebp - 0x64]
mov cl, 0xe
call fcn.00403524
lea eax, [ebp - 0x1a0]
mov edx, dword [ebp - 0xc]
mov ecx, 0xff
call fcn.00404f5c
lea edx, [ebp - 0x1a0]
lea eax, [ebp - 0x55]
mov cl, 0xa
call fcn.00403524
mov byte [ebp - 0x4a], 0
mov byte [ebp - 0x40], 0
lea eax, [ebp - 0x1a0]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.00404f5c
lea edx, [ebp - 0x1a0]
lea eax, [ebp - 0x74]
mov cl, 0xf
call fcn.00403524
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
movzx eax, byte [eax + 0x28]
mov byte [ebp - 0x7f], al
cmp byte [ebp - 0x74], 0
je 0x4db53b
mov eax, dword [0x4f2294]
mov eax, dword [eax]
lea edx, [ebp - 0x80]
call fcn.004ec1b4
test al, al
jne 0x4db53b
mov dword [ebp - 0x2c], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4db55c
mov eax, dword [0x4f2294]
mov eax, dword [eax]
call fcn.004ebcb8
ret
cmp dword [ebp - 0x2c], 1
jne 0x4db5cf
push 0
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x209
call fcn.004d8f14
jmp 0x4db5e5
push 0
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0x2c]
mov ax, 0x20a
call fcn.004d8f14
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x38]
call fcn.004d8d50
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x24]
call fcn.004dbb74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4db649
lea eax, [ebp - 0xa0]
mov edx, 6
call fcn.00404ce4
lea eax, [ebp - 0x84]
call fcn.00404cc0
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00404ce4
ret