Function at 0x52ba5c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
call fcn.00405ac8
xor eax, eax
push ebp
push 0x52bd2e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0048ff68
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.0040c940
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 8]
call fcn.004056d0
mov eax, dword [0x5437f4]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
call fcn.00491b0c
test al, al
jne 0x52bce7
mov esi, 1
mov ebx, dword [ebp - 8]
mov eax, ebx
test eax, eax
je 0x52bad3
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jge 0x52badd
mov esi, 2
mov eax, dword [ebp - 8]
call fcn.00497abc
test al, al
jne 0x52baee
mov esi, 2
mov eax, dword [ebp - 8]
call fcn.00497e58
test al, al
jne 0x52baff
mov esi, 2
mov eax, dword [ebp - 8]
call fcn.00497b54
test al, al
je 0x52bb10
mov esi, 2
mov eax, ebx
test eax, eax
je 0x52bb1b
sub eax, 4
mov eax, dword [eax]
cmp eax, 1
jl 0x52bb3c
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax - 1]
add dl, 0xe0
sub dl, 0xe0
jb 0x52bb37
mov esi, 2
jmp 0x52bb3c
dec eax
test eax, eax
jne 0x52bb20
mov eax, dword [0x54369c]
cmp byte [eax], 0
jne 0x52bc3d
cmp esi, 1
jne 0x52bc3d
mov eax, dword [ebp - 8]
test eax, eax
je 0x52bb5f
sub eax, 4
mov eax, dword [eax]
mov ecx, eax
test ecx, ecx
jle 0x52bc3d
mov eax, 1
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax - 1]
cmp dl, 0x20
je 0x52bc2e
cmp dl, 0x2f
je 0x52bc2e
cmp dl, 0x40
je 0x52bc2e
cmp dl, 0x3f
je 0x52bc2e
cmp dl, 0x27
je 0x52bc2e
cmp dl, 0x22
je 0x52bc2e
cmp dl, 0x5c
je 0x52bc2e
cmp dl, 0x2e
je 0x52bc2e
cmp dl, 0x2c
je 0x52bc2e
cmp dl, 0x3a
je 0x52bc2e
cmp dl, 0x3b
je 0x52bc2e
cmp dl, 0x60
je 0x52bc2e
cmp dl, 0x7e
je 0x52bc2e
cmp dl, 0x21
je 0x52bc2e
cmp dl, 0x23
je 0x52bc2e
cmp dl, 0x24
je 0x52bc2e
cmp dl, 0x25
je 0x52bc2e
cmp dl, 0x5e
je 0x52bc2e
cmp dl, 0x26
je 0x52bc2e
cmp dl, 0x2a
je 0x52bc2e
cmp dl, 0x28
je 0x52bc2e
cmp dl, 0x29
je 0x52bc2e
cmp dl, 0x2d
je 0x52bc2e
cmp dl, 0x5f
je 0x52bc2e
cmp dl, 0x2b
je 0x52bc2e
cmp dl, 0x3d
je 0x52bc2e
cmp dl, 0x7c
je 0x52bc2e
cmp dl, 0x5b
je 0x52bc2e
cmp dl, 0x7b
je 0x52bc2e
cmp dl, 0x5d
je 0x52bc2e
cmp dl, 0x5d
je 0x52bc2e
cmp dl, 0x7d
jne 0x52bc35
mov esi, 2
jmp 0x52bc3d
inc eax
dec ecx
jne 0x52bb6e
cmp esi, 1
jne 0x52bc80
mov eax, dword [ebp - 8]
test eax, eax
je 0x52bc4e
sub eax, 4
mov eax, dword [eax]
mov ecx, eax
test ecx, ecx
jle 0x52bc80
mov eax, 1
mov edx, dword [ebp - 8]
movzx edx, byte [edx + eax - 1]
cmp dl, 0x40
je 0x52bc75
cmp dl, 0x24
je 0x52bc75
cmp dl, 0x5c
je 0x52bc75
cmp dl, 0x2f
jne 0x52bc7c
mov esi, 2
jmp 0x52bc80
inc eax
dec ecx
jne 0x52bc59
cmp esi, 1
jne 0x52bca0
mov eax, dword [0x5430cc]
cmp byte [eax], 0
je 0x52bca0
mov eax, dword [ebp - 8]
call fcn.00497d0c
test al, al
je 0x52bca0
mov esi, 2
cmp esi, 1
jne 0x52bcc0
mov eax, dword [0x543308]
cmp byte [eax], 0
je 0x52bcc0
mov eax, dword [ebp - 8]
call fcn.00497da8
test al, al
je 0x52bcc0
mov esi, 2
mov eax, esi
cdq
push edx
push eax
push 0
lea eax, [ebp - 0x20]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b05
call fcn.0048fd20
lea edx, [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
call fcn.00525adc
jmp 0x52bd0b
push 0
push 3
push 0
lea eax, [ebp - 0x20]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2b05
call fcn.0048fd20
lea edx, [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
call fcn.00525adc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52bd35
lea eax, [ebp - 0x24]
call fcn.00405638
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040565c
ret