Function at 0x5302d0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x3c
push 0
push 0
dec ecx
jne 0x5302d8
push ecx
push ebx
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.00405ac8
xor eax, eax
push ebp
push 0x5309dd
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x29], 0
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x5c]
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x58]
mov eax, dword [0x5435fc]
mov eax, dword [eax]
call fcn.00524318
test al, al
je 0x53094b
mov eax, dword [0x5432f0]
cmp byte [eax], 0
je 0x530942
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0048ff68
push 0
lea eax, [ebp - 0xc4]
push eax
mov byte [ebp - 0xc8], 0x2f
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0048d080
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 8]
call fcn.004056d0
push 0
lea eax, [ebp - 0xcc]
push eax
mov byte [ebp - 0xc8], 0x2f
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0048d080
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 8]
call fcn.004056d0
push 0
lea eax, [ebp - 0xd0]
push eax
mov byte [ebp - 0xc8], 0x2f
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0048d080
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 8]
call fcn.004056d0
push 0
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 0xc8], 0x2f
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.0048d080
mov edx, dword [ebp - 0xd4]
lea eax, [ebp - 8]
call fcn.004056d0
push 0
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 0xc8], 0x2f
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.0048d080
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 8]
call fcn.004056d0
push 0
lea eax, [ebp - 0xdc]
push eax
mov byte [ebp - 0xc8], 0x2f
lea ecx, [ebp - 0xc8]
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0048d080
mov edx, dword [ebp - 0xdc]
lea eax, [ebp - 8]
call fcn.004056d0
mov edx, 0xfffffffe
mov eax, dword [ebp - 0x20]
call fcn.0040cf30
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 8]
call fcn.0040c940
cmp dword [ebp - 0xe0], 0
je 0x53048b
xor eax, eax
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x10]
call fcn.0040c940
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0x10]
call fcn.004056d0
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x5304b3
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jge 0x5304bd
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
call fcn.00497abc
test al, al
jne 0x5304d0
mov dword [ebp - 0x28], 2
mov eax, dword [ebp - 0x10]
call fcn.00497e58
test al, al
jne 0x5304e1
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x5304ed
sub eax, 4
mov eax, dword [eax]
mov ebx, eax
cmp ebx, 1
jl 0x530516
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + ebx - 1]
add al, 0xe0
sub al, 0xe0
jb 0x530511
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, ebx
call fcn.00405b80
dec ebx
test ebx, ebx
jne 0x5304f4
mov eax, dword [ebp - 0x10]
call fcn.00497b54
test al, al
je 0x530529
mov dword [ebp - 0x28], 2
mov eax, dword [0x54369c]
cmp byte [eax], 0
jne 0x5305f3
cmp dword [ebp - 0x28], 0xffffffff
jne 0x5305f3
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x53054d
sub eax, 4
mov eax, dword [eax]
mov edx, eax
test edx, edx
jle 0x5305f3
mov ebx, 1
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + ebx - 1]
cmp al, 0x20
je 0x5305e4
cmp al, 0x2f
je 0x5305e4
cmp al, 0x40
je 0x5305e4
cmp al, 0x3f
je 0x5305e4
cmp al, 0x27
je 0x5305e4
cmp al, 0x22
je 0x5305e4
cmp al, 0x5c
je 0x5305e4
cmp al, 0x2e
je 0x5305e4
cmp al, 0x2c
je 0x5305e4
cmp al, 0x3a
je 0x5305e4
cmp al, 0x3b
je 0x5305e4
cmp al, 0x60
je 0x5305e4
cmp al, 0x7e
je 0x5305e4
cmp al, 0x21
je 0x5305e4
cmp al, 0x23
je 0x5305e4
cmp al, 0x24
je 0x5305e4
cmp al, 0x25
je 0x5305e4
cmp al, 0x5e
je 0x5305e4
cmp al, 0x26
je 0x5305e4
cmp al, 0x2a
je 0x5305e4
cmp al, 0x28
je 0x5305e4
cmp al, 0x29
je 0x5305e4
cmp al, 0x2d
je 0x5305e4
cmp al, 0x5f
je 0x5305e4
cmp al, 0x2b
je 0x5305e4
cmp al, 0x3d
je 0x5305e4
cmp al, 0x7c
je 0x5305e4
cmp al, 0x5b
je 0x5305e4
cmp al, 0x7b
je 0x5305e4
cmp al, 0x5d
je 0x5305e4
cmp al, 0x5d
je 0x5305e4
cmp al, 0x7d
jne 0x5305eb
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x5305f3
inc ebx
dec edx
jne 0x53055c
cmp dword [ebp - 0x28], 0xffffffff
jne 0x530616
mov eax, dword [0x5430cc]
cmp byte [eax], 0
je 0x530616
mov eax, dword [ebp - 0x10]
call fcn.00497d0c
test al, al
je 0x530616
mov dword [ebp - 0x28], 6
cmp dword [ebp - 0x28], 0xffffffff
jne 0x530639
mov eax, dword [0x543308]
cmp byte [eax], 0
je 0x530639
mov eax, dword [ebp - 0x10]
call fcn.00497da8
test al, al
je 0x530639
mov dword [ebp - 0x28], 7
cmp dword [ebp - 0x28], 0xffffffff
jne 0x530652
mov eax, dword [ebp - 0x10]
call fcn.005300a8
test eax, eax
jl 0x530652
mov dword [ebp - 0x28], 8
cmp dword [ebp - 0x28], 0xffffffff
jne 0x530952
xor eax, eax
push ebp
push 0x5306aa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5437f4]
mov eax, dword [eax]
call fcn.00490df0
mov eax, dword [0x5437f4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
call fcn.00491b0c
test al, al
je 0x530690
mov dword [ebp - 0x28], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5306b1
mov eax, dword [0x5437f4]
mov eax, dword [eax]
call fcn.00490dfc
ret
mov dword [ebp - 0x28], 5
jmp 0x530952
mov dword [ebp - 0x28], 0xffffffec
cmp dword [ebp - 0x28], 1
jne 0x530974
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x3f0
call fcn.0048fd20
jmp 0x530997
mov eax, dword [ebp - 0x28]
cdq
push edx
push eax
mov eax, dword [0x54343c]
movzx eax, word [eax]
push eax
lea eax, [ebp - 0xc0]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x3f1
call fcn.0048fd20
lea edx, [ebp - 0xc0]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
call fcn.0048d868
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5309e4
lea eax, [ebp - 0xe4]
mov edx, 7
call fcn.0040565c
lea eax, [ebp - 0xc4]
call fcn.00405638
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.0040565c
ret