Function at 0x52e8f8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x3e
push 0
push 0
dec ecx
jne 0x52e901
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00405ac8
xor eax, eax
push ebp
push 0x52efe3
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x2d], 0
mov dword [ebp - 0x28], 0xffffffff
xor eax, eax
mov dword [ebp - 0x2c], eax
xor ecx, ecx
push ebp
push 0x52ef38
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0048ff68
push 0
lea eax, [ebp - 0xcc]
push eax
mov byte [ebp - 0xd0], 0x2f
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.0048d080
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0xc]
call fcn.004056d0
push 0
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 0xd0], 0x2f
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.0048d080
mov edx, dword [ebp - 0xd4]
lea eax, [ebp - 0xc]
call fcn.004056d0
push 0
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 0xd0], 0x2f
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.0048d080
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0xc]
call fcn.004056d0
push 0
lea eax, [ebp - 0xdc]
push eax
mov byte [ebp - 0xd0], 0x2f
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
call fcn.0048d080
mov edx, dword [ebp - 0xdc]
lea eax, [ebp - 0xc]
call fcn.004056d0
push 0
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 0xd0], 0x2f
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.0048d080
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0xc]
call fcn.004056d0
push 0
lea eax, [ebp - 0xe4]
push eax
mov byte [ebp - 0xd0], 0x2f
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0xc]
call fcn.0048d080
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xc]
call fcn.004056d0
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x10], 0
je 0x52ef2e
cmp dword [ebp - 0x14], 0
je 0x52ef2e
cmp dword [ebp - 0x18], 0
je 0x52ef2e
cmp dword [ebp - 0x1c], 0
je 0x52ef2e
cmp dword [ebp - 0x20], 0
je 0x52ef2e
cmp dword [ebp - 0x24], 0
je 0x52ef2e
mov eax, dword [0x544910]
mov edx, dword [ebp - 0x14]
call fcn.0040568c
cmp dword [ebp - 0x28], 0xffffffff
jne 0x52ec4f
lea edx, [ebp - 0xe8]
mov eax, dword [ebp - 0xc]
call fcn.0040c940
cmp dword [ebp - 0xe8], 0
je 0x52eae3
xor eax, eax
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 0x18]
call fcn.0040c940
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x18]
call fcn.004056d0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x52eb0b
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jge 0x52eb15
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 8
mov eax, dword [ebp - 0x18]
call fcn.004932b4
test al, al
jne 0x52eb2d
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x2c], 0xa
mov eax, dword [ebp - 0x18]
call fcn.00493650
test al, al
jne 0x52eb4c
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0xb
cmp dword [ebp - 0x28], 0xffffffff
jne 0x52eb6c
mov eax, dword [ebp - 0x18]
call fcn.0052e4c8
test eax, eax
jl 0x52eb6c
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x52eb78
sub eax, 4
mov eax, dword [eax]
mov ebx, eax
cmp ebx, 1
jl 0x52eba1
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + ebx - 1]
add al, 0xe0
sub al, 0xe0
jb 0x52eb9c
lea eax, [ebp - 0x18]
mov ecx, 1
mov edx, ebx
call fcn.00405b80
dec ebx
test ebx, ebx
jne 0x52eb7f
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x52ebad
sub eax, 4
mov eax, dword [eax]
mov edx, eax
test edx, edx
jle 0x52ec4f
mov ebx, 1
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + ebx - 1]
cmp al, 0x20
je 0x52ec40
cmp al, 0x2f
je 0x52ec40
cmp al, 0x40
je 0x52ec40
cmp al, 0x3f
je 0x52ec40
cmp al, 0x27
je 0x52ec40
cmp al, 0x22
je 0x52ec40
cmp al, 0x5c
je 0x52ec40
cmp al, 0x2e
je 0x52ec40
cmp al, 0x2c
je 0x52ec40
cmp al, 0x3a
je 0x52ec40
cmp al, 0x3b
je 0x52ec40
cmp al, 0x60
je 0x52ec40
cmp al, 0x7e
je 0x52ec40
cmp al, 0x21
je 0x52ec40
cmp al, 0x23
je 0x52ec40
cmp al, 0x24
je 0x52ec40
cmp al, 0x25
je 0x52ec40
cmp al, 0x5e
je 0x52ec40
cmp al, 0x26
je 0x52ec40
cmp al, 0x2a
je 0x52ec40
cmp al, 0x28
je 0x52ec40
cmp al, 0x29
je 0x52ec40
cmp al, 0x2d
je 0x52ec40
cmp al, 0x5f
je 0x52ec40
cmp al, 0x2b
je 0x52ec40
cmp al, 0x3d
je 0x52ec40
cmp al, 0x7c
je 0x52ec40
cmp al, 0x5b
je 0x52ec40
cmp al, 0x7b
je 0x52ec40
cmp al, 0x5d
je 0x52ec40
cmp al, 0x7d
jne 0x52ec47
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x52ec4f
inc ebx
dec edx
jne 0x52ebbc
mov dword [ebp - 0x2c], 0xc
cmp dword [ebp - 0x28], 0xffffffff
jne 0x52ef2e
xor eax, eax
push ebp
push 0x52ecae
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5447fc]
mov eax, dword [eax]
call fcn.00493e60
mov eax, dword [0x5447fc]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.00494b7c
test al, al
je 0x52ec94
mov dword [ebp - 0x28], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52ecb5
mov eax, dword [0x5447fc]
mov eax, dword [eax]
call fcn.00493e6c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52ef71
mov eax, dword [ebp - 0x28]
cdq
push edx
push eax
push 0
lea eax, [ebp - 0xc8]
push eax
xor ecx, ecx
xor edx, edx
mov ax, 0x2afc
call fcn.0048fd20
lea edx, [ebp - 0xc8]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00525ba8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52efea
lea eax, [ebp - 0x1f4]
mov edx, 2
call fcn.0040565c
lea eax, [ebp - 0xec]
mov edx, 7
call fcn.0040565c
lea eax, [ebp - 0xcc]
call fcn.00405638
lea eax, [ebp - 0x24]
mov edx, 8
call fcn.0040565c
ret