Function at 0x52ce40
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52d1a1
sub esp, 0x3c
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x4c]
cmp edx, 1
jle 0x52cf08
lea eax, [edx - 1]
test eax, eax
ja 0x52ce8b
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x52cecb
mov dword [esp + 0x28], eax
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x560b60]
mov dword [esp + 0x10], ecx
call fcn.004495c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x48]
inc edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004617e0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x52cf34
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52cf4c
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
test edx, edx
setne dl
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
movzx eax, byte [esp + 0x44]
jmp 0x52cf6d
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
movzx eax, byte [esp + 0x44]
mov ebx, edx
mov edx, 1
mov byte [esp + 0x23], dl
mov ecx, dword [ebx + 0x58]
mov edx, dword [ebx + 0x60]
cmp ecx, edx
jbe 0x52d199
mov ecx, dword [ebx + 0x54]
movzx ecx, byte [ecx + edx]
cmp cl, 0x30
jb 0x52cfb4
cmp cl, 0x39
jbe 0x52cfa4
cmp cl, 0x41
jb 0x52cfb4
cmp cl, 0x5a
jbe 0x52cfa4
cmp cl, 0x61
jb 0x52cfaf
cmp cl, 0x7a
ja 0x52cff5
cmp cl, 0x25
je 0x52d057
jmp 0x52d018
cmp cl, 0x5f
je 0x52d018
cmp cl, 0x2d
je 0x52d018
cmp cl, 0x3b
je 0x52d018
cmp cl, 0x2f
je 0x52d018
cmp cl, 0x3f
je 0x52d018
cmp cl, 0x3a
je 0x52d018
cmp cl, 0x40
je 0x52d018
cmp cl, 0x26
je 0x52d018
cmp cl, 0x3d
je 0x52d018
cmp cl, 0x2b
je 0x52d018
cmp cl, 0x24
je 0x52d018
cmp cl, 0x2c
je 0x52d018
cmp cl, 0x2e
je 0x52d018
cmp cl, 0x21
je 0x52d018
cmp cl, 0x7e
je 0x52d018
cmp cl, 0x2a
je 0x52d018
cmp cl, 0x27
je 0x52d018
cmp cl, 0x28
je 0x52d018
cmp cl, 0x29
je 0x52d018
cmp cl, 0x5b
je 0x52d018
cmp cl, 0x5d
jne 0x52d052
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00526f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
jmp 0x52d080
cmp cl, 0x25
jne 0x52d0c3
mov dword [esp], ebx
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
lea ecx, [esp + 0x30]
mov dword [esp + 0x14], ecx
call fcn.0052d1b0
movzx eax, byte [esp + 0x18]
test al, al
je 0x52d0ba
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x52cf55
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52d0b1
mov edx, dword [esp + 0x40]
jmp 0x52cf55
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x52d103
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x52d0f8
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], edx
mov byte [esp + 0x64], 1
add esp, 0x3c
ret
nop
test al, al
je 0x52d115
mov eax, 0x1e
lea ecx, [0x58e313]
jmp 0x52d120
mov eax, 0x13
lea ecx, [0x58a30e]
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], eax
mov eax, dword [0x6c4f80]
test eax, eax
je 0x52d145
mov eax, edi
call fcn.00460f00
mov dword [edi], ecx
mov edx, dword [ebx + 0x20]
mov dword [edi + 4], edx
mov edi, eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x28], edi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], ebp
mov dword [ebx + 8], 0x1d
mov eax, dword [0x6c4f80]
test eax, eax
je 0x52d16c
mov eax, dword [ebx + 4]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x58dd01]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x84]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
mov eax, edx
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.0052ce40