Function at 0x52bd3c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2f
push 0
push 0
dec ecx
jne 0x52bd44
push ebx
push esi
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.00405ac8
xor eax, eax
push ebp
push 0x52c631
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.0048ff68
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 4]
call fcn.004056d0
push 0
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 0x44], 0x2f
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0048d080
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 4]
call fcn.004056d0
push 0
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 0x44], 0x2f
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0048d080
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 4]
call fcn.004056d0
push 0
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 0x44], 0x2f
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0048d080
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 4]
call fcn.004056d0
push 0
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 0x44], 0x2f
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0048d080
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 4]
call fcn.004056d0
cmp dword [ebp - 0xc], 0
je 0x52c5c8
cmp dword [ebp - 0x10], 0
je 0x52c5c8
mov eax, dword [0x5437f4]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00491b0c
test al, al
je 0x52c5a2
mov eax, dword [0x5437f4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
call fcn.00491b0c
test al, al
jne 0x52c57c
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.004056d0
mov esi, 1
mov ebx, dword [ebp - 8]
mov eax, ebx
test eax, eax
je 0x52be6b
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jge 0x52be75
mov esi, 2
mov eax, dword [ebp - 8]
call fcn.00497abc
test al, al
jne 0x52be86
mov esi, 2
mov eax, dword [ebp - 8]
call fcn.00497e58
test al, al
jne 0x52be97
mov esi, 2
mov eax, dword [ebp - 8]
call fcn.00497b54
test al, al
je 0x52bea8
mov esi, 2
mov eax, ebx
test eax, eax
je 0x52beb3
sub eax, 4
mov eax, dword [eax]
cmp eax, 1
jl 0x52bed4
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax - 1]
add dl, 0xe0
sub dl, 0xe0
jb 0x52becf
mov esi, 2
jmp 0x52bed4
dec eax
test eax, eax
jne 0x52beb8
mov eax, dword [0x54369c]
cmp byte [eax], 0
jne 0x52bfd5
cmp esi, 1
jne 0x52bfd5
mov eax, dword [ebp - 8]
test eax, eax
je 0x52bef7
sub eax, 4
mov eax, dword [eax]
mov ecx, eax
test ecx, ecx
jle 0x52bfd5
mov eax, 1
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax - 1]
cmp dl, 0x20
je 0x52bfc6
cmp dl, 0x2f
je 0x52bfc6
cmp dl, 0x40
je 0x52bfc6
cmp dl, 0x3f
je 0x52bfc6
cmp dl, 0x27
je 0x52bfc6
cmp dl, 0x22
je 0x52bfc6
cmp dl, 0x5c
je 0x52bfc6
cmp dl, 0x2e
je 0x52bfc6
cmp dl, 0x2c
je 0x52bfc6
cmp dl, 0x3a
je 0x52bfc6
cmp dl, 0x3b
je 0x52bfc6
cmp dl, 0x60
je 0x52bfc6
cmp dl, 0x7e
je 0x52bfc6
cmp dl, 0x21
je 0x52bfc6
cmp dl, 0x23
je 0x52bfc6
cmp dl, 0x24
je 0x52bfc6
cmp dl, 0x25
je 0x52bfc6
cmp dl, 0x5e
je 0x52bfc6
cmp dl, 0x26
je 0x52bfc6
cmp dl, 0x2a
je 0x52bfc6
cmp dl, 0x28
je 0x52bfc6
cmp dl, 0x29
je 0x52bfc6
cmp dl, 0x2d
je 0x52bfc6
cmp dl, 0x5f
je 0x52bfc6
cmp dl, 0x2b
je 0x52bfc6
cmp dl, 0x3d
je 0x52bfc6
cmp dl, 0x7c
je 0x52bfc6
cmp dl, 0x5b
je 0x52bfc6
cmp dl, 0x7b
je 0x52bfc6
cmp dl, 0x5d
je 0x52bfc6
cmp dl, 0x5d
je 0x52bfc6
cmp dl, 0x7d
jne 0x52bfcd
mov esi, 2
jmp 0x52bfd5
inc eax
dec ecx
jne 0x52bf06
cmp esi, 1
jne 0x52c018
mov eax, dword [ebp - 8]
test eax, eax
je 0x52bfe6
sub eax, 4
mov eax, dword [eax]
mov ecx, eax
test ecx, ecx
jle 0x52c018
mov eax, 1
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax - 1]
cmp dl, 0x40
je 0x52c00d
cmp dl, 0x24
je 0x52c00d
cmp dl, 0x5c
je 0x52c00d
cmp dl, 0x2f
jne 0x52c014
mov esi, 2
jmp 0x52c018
inc eax
dec ecx
jne 0x52bff1
cmp esi, 1
jne 0x52c038
mov eax, dword [0x5430cc]
cmp byte [eax], 0
je 0x52c038
mov eax, dword [ebp - 8]
call fcn.00497d0c
test al, al
je 0x52c038
mov esi, 2
cmp esi, 1
jne 0x52c058
mov eax, dword [0x543308]
cmp byte [eax], 0
je 0x52c058
mov eax, dword [ebp - 8]
call fcn.00497da8
test al, al
je 0x52c058
mov esi, 2
dec esi
jne 0x52c368
xor eax, eax
push ebp
push 0x52c0ac
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5437f4]
mov eax, dword [eax]
call fcn.00490e08
test al, al
je 0x52c092
mov eax, dword [0x5437f4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.0049124c
mov byte [ebp - 0x25], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52c0b3
mov eax, dword [0x5437f4]
mov eax, dword [eax]
call fcn.00491004
ret
movzx ebx, byte [ebp - 0x25]
and bl, byte [ebp - 0x26]
test bl, bl
je 0x52c539
mov eax, dword [0x5430d0]
cmp byte [eax], 0
je 0x52c539
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0xc]
call fcn.0040c380
mov edx, dword [ebp - 0x15c]
mov eax, dword [0x5432dc]
mov eax, dword [eax]
call fcn.004813dc
mov esi, eax
test esi, esi
je 0x52c410
lea eax, [ebp - 0x154]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.004058e4
lea edx, [ebp - 0x154]
lea eax, [esi + 4]
mov cl, 0x1e
call fcn.00403c98
lea edx, [ebp - 0x160]
mov eax, dword [ebp - 0xc]
call fcn.0040c380
mov edx, dword [ebp - 0x160]
mov eax, dword [0x5432dc]
mov eax, dword [eax]
call fcn.0048153c
lea edx, [ebp - 0x164]
mov eax, dword [ebp - 0x10]
call fcn.0040c380
mov edx, dword [ebp - 0x164]
mov eax, dword [0x5432dc]
mov eax, dword [eax]
mov ecx, esi
call fcn.004815c4
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0xc]
call fcn.0040c380
mov edx, dword [ebp - 0x168]
mov eax, dword [0x54356c]
mov eax, dword [eax]
call fcn.004813dc
mov esi, eax
test esi, esi
je 0x52c49b
lea eax, [ebp - 0x154]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.004058e4
lea edx, [ebp - 0x154]
lea eax, [esi + 4]
mov cl, 0x1e
call fcn.00403c98
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0xc]
call fcn.0040c380
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x54356c]
mov eax, dword [eax]
call fcn.0048153c
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x10]
call fcn.0040c380
mov edx, dword [ebp - 0x170]
mov eax, dword [0x54356c]
mov eax, dword [eax]
mov ecx, esi
call fcn.004815c4
cmp dword [ebp - 0x1c], 0
je 0x52c4ea
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 0x1c]
call fcn.0040c380
mov edx, dword [ebp - 0x174]
mov eax, dword [0x5433fc]
mov eax, dword [eax]
call fcn.004813dc
mov esi, eax
test esi, esi
je 0x52c4ea
lea eax, [ebp - 0x154]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.004058e4
lea edx, [ebp - 0x154]
lea eax, [esi + 4]
mov cl, 0x1e
call fcn.00403c98
cmp dword [ebp - 0x20], 0
je 0x52c539
lea edx, [ebp - 0x178]
mov eax, dword [ebp - 0x20]
call fcn.0040c380
mov edx, dword [ebp - 0x178]
mov eax, dword [0x5433fc]
mov eax, dword [eax]
call fcn.004813dc
mov esi, eax
test esi, esi
je 0x52c539
lea eax, [ebp - 0x154]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.004058e4
lea edx, [ebp - 0x154]
lea eax, [esi + 4]
mov cl, 0x1e
call fcn.00403c98
test bl, bl
je 0x52c556
push 0
push 1
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b06
call fcn.0048fd20
jmp 0x52c56d
push 0
push 6
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b06
call fcn.0048fd20
lea edx, [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
call fcn.00525adc
jmp 0x52c5ec
push 0
push 3
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b06
call fcn.0048fd20
lea edx, [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
call fcn.00525adc
jmp 0x52c5ec
push 0
push 5
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b06
call fcn.0048fd20
lea edx, [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
call fcn.00525adc
jmp 0x52c5ec
push 0
push 4
push 0
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b06
call fcn.0048fd20
lea edx, [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
call fcn.00525adc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52c638
lea eax, [ebp - 0x178]
mov edx, 9
call fcn.0040565c
lea eax, [ebp - 0x54]
mov edx, 4
call fcn.0040565c
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.0040565c
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.0040565c
ret